Изменение параметров инициализации моментальных снимков для репликации SQLModify Snapshot Initialization Options for SQL Replication

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed InstanceПрименимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance

При инициализации подписки с помощью моментального снимка можно указать несколько параметров.There are a number of options to specify when initializing a subscription with a snapshot.

указать формат моментальных снимков (среда SQL Server Management Studio)Specify Snapshot Format (SQL Server Management Studio)

Укажите формат моментального снимка на странице Моментальный снимок диалогового окна Свойства публикации — <Publication> .Specify snapshot format on the Snapshot page of the Publication Properties - <Publication> dialog box. Дополнительные сведения о доступе к этому диалоговому окну см. в разделе Просмотр и изменение свойств публикации.For more information about accessing this dialog box, see View and Modify Publication Properties.

Указание формата моментальных снимковTo specify snapshot format

  1. На странице Моментальный снимок диалогового окна Свойства публикации — <Publication> выберите вариант Собственный SQL Server — все подписчики должны быть серверами SQL Server или Символьный — необходим в том случае, если на стороне издателя или подписчика не используется SQL Server.On the Snapshot page of the Publication Properties - <Publication> dialog box, select Native SQL Server - all Subscribers must be servers running SQL Server or Character - required if a Publisher or Subscriber is not running SQL Server.

    Примечание

    Рекомендуется выбирать собственный формат всегда, кроме тех случаев, когда публикация должна поддерживать подписки на базу данных SQL Server Compact или базу данных, отличную от SQL Server.It is recommended to select the native format unless this publication must support subscriptions to a SQL Server Compact database or a non-SQL Server database.

  2. Щелкните ОК.Select OK.

Расположения папки моментальных снимковSnapshot Folder Locations

Расположение моментального снимка по умолчаниюDefault snapshot location

Задайте местоположение моментальных снимков по умолчанию на странице Папка моментальных снимков мастера настройки распространителя.Specify the default snapshot location on the Snapshot Folder page of the Configure Distribution Wizard. Дополнительные сведения см. в статье Настройка публикации и распространения.For more information about using this wizard, see Configure Publishing and Distribution. При создании публикации на сервере, не настроенном в качестве распространителя, задайте местоположение моментальных снимков по умолчанию на странице Папка моментальных снимков мастера создания публикаций.If you create a publication on a server that is not configured as a Distributor, specify a default snapshot location on the Snapshot Folder page of the New Publication Wizard. Дополнительные сведения об использовании мастера см. в статье Создание публикации.For more information about using this wizard, see Create a Publication.

В диалоговом окне Свойства распространителя — <Distributor> на странице Издатели измените расположение моментальных снимков по умолчанию.Modify the default snapshot location on the Publishers page of the Distributor Properties - <Distributor> dialog box. Дополнительные сведения см. в статье Просмотр и изменение свойств издателя и распространителя.For more information, see View and Modify Distributor and Publisher Properties. Установите папку моментальных снимков для каждой публикации в диалоговом окне Свойства публикации — <Publication> .Set the snapshot folder for each publication in the Publication Properties - <Publication> dialog box. Дополнительные сведения см. в статье View and Modify Publication Properties.For more information, see View and Modify Publication Properties.

Изменение местоположения моментальных снимков по умолчаниюTo modify the default snapshot location

  1. В диалоговом окне Свойства распространителя — <Distributor> на странице Издатели нажмите кнопку свойств ( ... ) рядом с издателем, для которого нужно изменить расположение моментальных снимков по умолчанию.On the Publishers page of the Distributor Properties - <Distributor> dialog box, click the properties button (...) for the Publisher for which you want to change the default snapshot location.

  2. В диалоговом окне Свойства издателя — <Publisher> введите значение для свойства Папка моментальных снимков по умолчанию.In the Publisher Properties - <Publisher> dialog box, enter a value for the Default Snapshot Folder property.

    Примечание

    Агент моментальных снимков должен иметь разрешения на запись в указанный каталог, а агент распространителя или агент слияния должен иметь разрешения на чтение из этого каталога.The Snapshot Agent must have write permissions for the directory you specify, and the Distribution Agent or Merge Agent must have read permissions. Если используются подписки по запросу, необходимо указать UNC-путь общего каталога, например \\computername\snapshot.If pull subscriptions are used, you must specify a shared directory as a universal naming convention (UNC) path, such as \\computername\snapshot. Дополнительные сведения см. в статье Организация безопасности папки моментальных снимков.For more information, see Secure the Snapshot Folder.

  3. Нажмите кнопку ОК.Click OK.

Альтернативные расположения моментальных снимковAlternate snapshot locations

Альтернативные местоположения папки моментальных снимков позволяют хранить файлы моментальных снимков в местоположении, отличном от местоположения по умолчанию, которое обычно находится на распространителе.Alternate snapshot locations enable you to store snapshot files in a location other than, or in addition to, the default location, which is typically located on the Distributor. Альтернативным местоположением может быть другой сервер, сетевой диск или сменные носители, такие как компакт-диски или съемные диски.Alternate locations can be on another server, on a network drive, or on removable media such as CD-ROMs or removable disks.

Альтернативные папки моментальных снимков хранятся в виде свойства публикации.Alternate snapshot locations are stored as a property of the publication. Так как альтернативное местоположение папки моментальных снимков является свойством публикации, агент распространителя и агент слияния могут найти надлежащий моментальный снимок в ходе процесса синхронизации.Because the alternate snapshot location is a publication property, the Distribution Agent and the Merge Agent are able to locate the proper snapshot as part of the synchronization process.

Если хотите указать альтернативное расположение папки моментальных снимков или планируете сжимать файлы моментальных снимков, создайте публикацию без немедленного создания исходного моментального снимка, задайте в свойствах публикации расположение папки моментальных снимков, а затем запустите для этой публикации агент моментальных снимков.If you want to specify an alternate snapshot folder location or if you want to compress snapshot files, create the publication without creating the initial snapshot immediately, set the publication properties for the snapshot location, and then run the Snapshot Agent for that publication. Если альтернативное местоположение изменено после создания исходного моментального снимка, снимки, уже созданные для публикации, не будут перемещены в новое альтернативное местоположение.If you change the alternate location after creating the initial snapshot, the location of any generated snapshot for the publication will not be relocated to the new alternate location. В этом случае в зависимости от настроек публикации агент слияния или агент распространителя не смогут найти файлы моментальных снимков в новом альтернативном местоположении.In this case, depending on the publication settings, the Merge Agent or Distribution Agent might not be able to find the snapshot files at the new alternate location.

Примечание

Не указывайте альтернативное расположение (в диалоговом окне Свойства публикации или в процедуре sp_changepublication (Transact-SQL)), если оно совпадает с расположением папки моментальных снимков по умолчанию.Do not specify an alternate location (using the Publication Properties dialog box or sp_changepublication (Transact-SQL)) that is the same as the default snapshot folder location.

Внимание!

Не используйте одновременно и расположение WebSync, и альтернативное расположение папки моментальных снимков.Do not use both WebSync and alternate snapshot folder locations at the same time.

Использование среды SQL Server Management StudioUse SQL Server Management Studio

  1. На странице Моментальный снимок диалогового окна Свойства публикации — <Publication> сделайте следующее:On the Snapshot page of the Publication Properties - <Publication> dialog box:

    1. Выберите Поместить файлы в следующую папку, затем нажмите кнопку Обзор , чтобы перейти в каталог, или введите путь к каталогу, в который должны сохраняться файлы моментальных снимков.Select Put files in the following folder, and then click Browse to navigate to a directory, or enter the path to the directory in which the snapshot files should be stored.

      Примечание

      Агент моментальных снимков должен иметь разрешения на запись в указанный каталог, а агент распространителя или агент слияния должен иметь разрешения на чтение из этого каталога.The Snapshot Agent must have write permissions for the directory you specify, and the Distribution Agent or Merge Agent must have read permissions. Если используются подписки по запросу, необходимо указать UNC-путь общего каталога, например \\computername\snapshot.If pull subscriptions are used, you must specify a shared directory as a universal naming convention (UNC) path, such as \\computername\snapshot. Дополнительные сведения см. в статье Организация безопасности папки моментальных снимков.For more information, see Secure the Snapshot Folder.

    2. Снимите флажок Поместить файлы в папку по умолчанию , если не требуется, чтобы файлы были помещены в оба расположения.Clear Put files in the default folder unless you require snapshot files to be written to both locations.

    Для сжатия файлов моментальных снимков выберите Сжать файлы моментальных снимков в этом расположении.To compress the snapshot files, select Compress snapshot files in this location. Сжатие обычно используется для узкополосных подключений и для альтернативных расположений моментальных снимков на сменных носителях, таких, как компакт-диски.Compression is typically used for low bandwidth connections and alternate snapshot locations on removable media, such as a CD-ROM.

  2. Щелкните ОК.Select OK.

Использование Transact-SQLUse Transact-SQL

При настройке свойств моментальных снимков (программирование репликации на языке Transact-SQL) укажите для snapshot_in_defaultfolder значение false.When Configuring Snapshot Properties (Replication Transact-SQL Programming), specify the value for snapshot_in_defaultfolder as false.

Сжатые моментальные снимкиCompressed snapshots

Сжатие файлов моментальных снимков уместно при передаче моментальных снимков в медленной сети или когда требуется сохранить моментальный снимок на съемный носитель, а объем несжатого моментального снимка превышает свободное место на носителе.Compressing snapshot files is appropriate when you are transferring snapshots over a slow network or you are saving them to removable media and an uncompressed snapshot is too large to fit on the media. Сжатие файлов моментальных снимков полезно в таких случаях, однако сжатие увеличивает время создания и применения моментального снимка.Compressing snapshot files is useful in these situations, but compression increases the time to generate and apply the snapshot.

Сжатые файлы моментальных снимков записываются в формате MicrosoftMicrosoft CAB, который позволяет сжимать файлы размером до 2 ГБ (если размер файлов моментальных снимков превышает 2 ГБ, их не удастся сжать).Compressed snapshot files are written in the MicrosoftMicrosoft CAB file format, which can compress files of 2 GB or less (if the snapshot files are larger than 2GB, they cannot be compressed). Для сжатия файлов их необходимо записать в альтернативную папку моментальных снимков (файлы, записанные в папку моментальных снимков по умолчанию, невозможно сжать).To compress files, they must be written to an alternate snapshot folder (files written to the default snapshot folder cannot be compressed).

Файлы распаковываются там, где запущен агент распространителя или агент слияния. Подписки по запросу, как правило, используются со сжатыми моментальными снимками, поэтому файлы распаковываются на подписчике.Files are uncompressed at the location where the Distribution Agent or Merge Agent runs; pull subscriptions are typically used with compressed snapshots so that files are uncompressed at the Subscriber. Когда подписчик получает сжатый файл, первоначально файл записывается во временное местоположение.When the Subscriber receives a compressed file, the file is written initially to a temporary location. После копирования сжатого файла подписчику файлы моментальных снимков в сжатом файле распаковываются по очереди при помощи средства распаковки CAB.After the compressed file is copied to the Subscriber, the snapshot files in the compressed file are decompressed, in order, one file at a time by the CAB utility. На подписчике необходимо наличие пространства, равного размеру сжатого файла плюс размер самого большого распакованного файла.Space required at the Subscriber is the size of the compressed file plus the largest uncompressed file.

Примечание

В некоторых случаях сжатые моментальные снимки повышают производительность передачи файлов моментальных снимков по сети.Compressed snapshots can, in some cases, improve the performance of transferring snapshot files across the network. Однако сжатие моментального снимка требует дополнительной обработки, выполняемой агентом моментальных снимков при создании файлов моментальных снимков и агентом распространителя или агентом слияния при применении файлов моментальных снимков.However, compressing the snapshot requires additional processing by the Snapshot Agent when generating the snapshot files, and by the Distribution Agent or Merge Agent when applying the snapshot files. Это может замедлить создание моментального снимка и в некоторых случаях увеличить время, необходимое для применения моментального снимка.This may slow down snapshot generation and increase the time it takes to apply a snapshot in some cases. Кроме того, сжатые моментальные снимки не могут быть возобновлены в случае сбоя в сети, поэтому они непригодны для ненадежных сетей.Additionally, compressed snapshots cannot be resumed if a network failure occurs; therefore they are not suitable for unreliable networks. Внимательно рассмотрите перечисленные достоинства и недостатки, если планируете применять сжатые моментальные снимки в сети.Consider these tradeoffs carefully when using compressed snapshots across a network.

Использование среды SQL Server Management StudioUse SQL Server Management Studio

  1. На странице Моментальный снимок диалогового окна Свойства публикации — <Publication> сделайте следующее:On the Snapshot page of the Publication Properties - <Publication> dialog box:

    1. Выберите Поместить файлы в следующую папку, затем нажмите кнопку Обзор , чтобы перейти в каталог, или введите путь к каталогу, в который должны сохраняться файлы моментальных снимков.Select Put files in the following folder, and then click Browse to navigate to a directory, or enter the path to the directory in which the snapshot files should be stored.

      Примечание

      Агент моментальных снимков должен иметь разрешения на запись в указанный каталог, а агент распространителя или агент слияния должен иметь разрешения на чтение из этого каталога.The Snapshot Agent must have write permissions for the directory you specify, and the Distribution Agent or Merge Agent must have read permissions. Если используются подписки по запросу, необходимо указать UNC-путь общего каталога, например \\computername\snapshot.If pull subscriptions are used, you must specify a shared directory as a universal naming convention (UNC) path, such as \\computername\snapshot. Дополнительные сведения см. в статье Организация безопасности папки моментальных снимков.For more information, see Secure the Snapshot Folder

    2. Снимите флажок Поместить файлы в папку по умолчанию , если не требуется, чтобы файлы были помещены в оба расположения.Clear Put files in the default folder unless you require snapshot files to be written to both locations.

      Примечание

      Если данный флажок установлен, файлы, хранящиеся в папке по умолчанию, не сжимаются.If this check box is selected, the files stored in the default folder are not compressed. Сжатые файлы можно хранить только в альтернативной папке, указанной на предыдущем шаге.Compressed files can only be stored in the alternate location specified in the previous step.

  2. Выберите Выполнять сжатие файлов моментальных снимков в этой папке.Select Compress snapshot files in this folder.

  3. Щелкните ОК.Select OK.

Использование Transact-SQLUse Transact-SQL

При настройке свойств моментальных снимков укажите для параметра compress_snapshot значение True.When Configuring Snapshot Properties, specify the value compress_snapshot to be True.

Выполнение скриптов до и после применения моментального снимкаExecute scripts before and after snapshot is applied

Можно указать скрипты для выполнения на подписчике до и после применения моментального снимка.You can specify scripts to execute at the Subscriber before or after the snapshot is applied. Скрипты могут использоваться по различным причинам, таким как создание учетных имен и схем (владельцы объекта) на каждом подписчике.Scripts can be used for a variety of reasons, such as creating logins and schemas (object owners) at each Subscriber.

Вы указываете размещение файла для каждого скрипта, и агент моментальных снимков копирует файлы скриптов в текущую папку моментальных снимков при каждой обработке моментального снимка.You specify a file location for each script, and the Snapshot Agent copies the script files to the current snapshot folder each time snapshot processing occurs. При применении моментального снимка агент распространителя или агент слияния запускает скрипт, предшествующий моментальному снимку, перед любым из скриптов реплицируемых объектов.The Distribution Agent or the Merge Agent runs the pre-snapshot script before any of the replicated object scripts when applying a snapshot. Агент распространителя или агент слияния запускает скрипт, следующий за моментальным снимком, после применения всех других скриптов реплицируемых объектов и применения данных.The Distribution Agent or the Merge Agent runs the post-snapshot script after all the other replicated object scripts and data have been applied. После того как применение моментального снимка завершено и файлы скриптов успешно выполнены, файлы скриптов удаляются из рабочего каталога на подписчике.After the snapshot application is complete and script files run successfully, the script files are removed from the working directory on the Subscriber.

Скрипт запускается при помощи служебной программы sqlcmd .The script is run by launching the sqlcmd utility. До развертывания скрипта запустите его с помощью sqlcmd , чтобы убедиться, что он выполняется должным образом.Before deploying a script, run it with sqlcmd to ensure it executes as expected. Содержимое скриптов, которые выполняются до и после применения моментального снимка, должно быть повторяемым.The contents of scripts that are executed before and after the snapshot is applied must be repeatable. Например, если вы создаете таблицу в скрипте, необходимо сначала проверить ее существование и предпринять соответствующее действие, если таблица существует.For example, if you create a table in the script, you should first check for its existence and take appropriate action if it exists. Скрипт должен быть повторяемым, потому что, если необходимо повторно инициализировать подписку, для которой уже был применен скрипт, скрипт будет применен повторно, когда новый моментальный снимок будет применяться в процессе повторной инициализации.The script must be repeatable because if you need to reinitialize a subscription for which the script has already been applied, the script will be applied again when the new snapshot is applied during reinitialization.

При сжатии файла моментального снимка (посредством его помещения в CAB-файл MicrosoftMicrosoft ) скрипты так же сжимаются и помещаются в CAB-файл.If you are compressing the snapshot file (by putting it in MicrosoftMicrosoft CAB file format), the scripts are also compressed and placed in the CAB file. После того как сжатый файл моментального снимка передан подписчику и распакован в рабочий каталог на подписчике, выполняются все скрипты, помеченные как скрипты, предшествующие моментальному снимку.After the compressed snapshot file is transferred to the Subscriber and decompressed to a working directory on the Subscriber, any script indicated as a pre-snapshot script is executed. Аналогично любой скрипт, выполняющийся после моментального снимка, распаковывается и выполняется на подписчике как последний шаг в применении моментального снимка.Likewise, any post-snapshot script is decompressed and executed at the Subscriber as the last step in applying the snapshot.

Выполнение скриптаExecute a script

  1. На странице Моментальный снимок диалогового окна Свойства публикации — <Publication> сделайте следующее:On the Snapshot page of the Publication Properties - <Publication> dialog box:
    • Чтобы указать скрипт для выполнения до применения моментального снимка, щелкните Обзор для перехода к скрипту или введите путь к скрипту в текстовом поле Перед применением моментального снимка выполнить этот скрипт .To specify a script to execute before the snapshot is applied, click Browse to navigate to the script, or enter a path to the script in the Before applying the snapshot, execute this script text box.

      Примечание

      У агента распространителя или агента слияния должны быть разрешения на чтение в указанном каталоге.The Distribution Agent or Merge Agent must have read permissions for the directory you specify. Если используются подписки по запросу, следует указать общий каталог в формате UNC-пути, например \\computername\scripts\myscript.sql.If pull subscriptions are used, you must specify a shared directory as a universal naming convention (UNC) path, such as \\computername\scripts\myscript.sql.

    • Чтобы указать скрипт для выполнения после применения моментального снимка, щелкните Обзор для перехода к скрипту или введите путь к скрипту в текстовом поле После применения моментального снимка выполнить этот скрипт .To specify a script to execute after the snapshot is applied, click Browse to navigate to the script, or enter a UNC path to the script in the After applying the snapshot, execute this script text box.

  2. Нажмите кнопку ОК.Click OK.

См. также:See Also

Инициализация подписки с помощью моментального снимка Initialize a Subscription with a Snapshot
Передача моментального снимка через FTP Transfer snapshot through FTP
Configure Snapshot Properties (Replication Transact-SQL Programming) (Настройка свойств моментального снимка (программирование репликации на языке Transact-SQL))Configure Snapshot Properties (Replication Transact-SQL Programming)