Поделиться через


Изменение параметров инициализации моментальных снимков для репликации SQL

Область применения: SQL Server Управляемый экземпляр SQL Azure

При инициализации подписки с помощью моментального снимка можно указать несколько параметров.

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

Укажите формат моментального снимка на странице моментального снимка диалогового окна "Свойства публикации — <публикация> ". Дополнительные сведения о доступе к этому диалоговому окну см. в разделе Просмотр и изменение свойств публикации.

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

  1. На странице моментального снимка диалогового окна "Свойства публикации — публикация>" <выберите Native SQL Server— все подписчики должны быть серверами под управлением SQL Server или символов, необходимых, если издатель или подписчик не запущен SQL Server.

    Примечание.

    Рекомендуется выбирать собственный формат всегда, кроме тех случаев, когда публикация должна поддерживать подписки на базу данных SQL Server Compact или базу данных, отличную от SQL Server.

  2. Нажмите ОК.

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

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

Задайте местоположение моментальных снимков по умолчанию на странице Папка моментальных снимков мастера настройки распространителя. Дополнительные сведения см. в статье Настройка публикации и распространения. При создании публикации на сервере, не настроенном в качестве распространителя, задайте местоположение моментальных снимков по умолчанию на странице Папка моментальных снимков мастера создания публикаций. Дополнительные сведения об использовании мастера см. в статье Создание публикации.

Измените расположение моментального снимка по умолчанию на странице издателей диалогового окна "Свойства распространителя - <распространитель>". Дополнительные сведения см. в статье Просмотр и изменение свойств издателя и распространителя. Задайте папку моментального снимка для каждой публикации в диалоговом окне "Свойства публикации — <публикация> ". Дополнительные сведения см. в статье View and Modify Publication Properties.

Изменение местоположения моментальных снимков по умолчанию

  1. На странице "Издатели" диалогового окна "Свойства распространителя - <распространитель>" нажмите кнопку свойств (...) для издателя, для которого требуется изменить расположение моментального снимка по умолчанию.

  2. В диалоговом окне "Свойства издателя — <издатель>" введите значение свойства папки моментальных снимков по умолчанию.

    Примечание.

    Агент моментальных снимков должен иметь разрешения на запись в указанный каталог, а агент распространителя или агент слияния должен иметь разрешения на чтение из этого каталога. Если используются подписки по запросу, необходимо указать общий каталог как универсальный путь к именованию (UNC), например \\computername\snapshot. Дополнительные сведения см. в статье Организация безопасности папки моментальных снимков.

  3. Нажмите ОК.

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

Альтернативные местоположения папки моментальных снимков позволяют хранить файлы моментальных снимков в местоположении, отличном от местоположения по умолчанию, которое обычно находится на распространителе. Альтернативным местоположением может быть другой сервер, сетевой диск или сменные носители, такие как компакт-диски или съемные диски.

Альтернативные папки моментальных снимков хранятся в виде свойства публикации. Так как альтернативное местоположение папки моментальных снимков является свойством публикации, агент распространителя и агент слияния могут найти надлежащий моментальный снимок в ходе процесса синхронизации.

Если хотите указать альтернативное расположение папки моментальных снимков или планируете сжимать файлы моментальных снимков, создайте публикацию без немедленного создания исходного моментального снимка, задайте в свойствах публикации расположение папки моментальных снимков, а затем запустите для этой публикации агент моментальных снимков. Если альтернативное местоположение изменено после создания исходного моментального снимка, снимки, уже созданные для публикации, не будут перемещены в новое альтернативное местоположение. В этом случае в зависимости от настроек публикации агент слияния или агент распространителя не смогут найти файлы моментальных снимков в новом альтернативном местоположении.

Примечание.

Не указывайте альтернативное расположение (с помощью диалогового окна "Свойства публикации" или sp_changepublication (Transact-SQL)), которое совпадает с расположением папки моментальных снимков по умолчанию.

Внимание

Не используйте одновременно и расположение WebSync, и альтернативное расположение папки моментальных снимков.

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

  1. На странице моментального снимка диалогового окна свойств публикации — <публикация>:

    1. Выберите Поместить файлы в следующую папку, затем нажмите кнопку Обзор , чтобы перейти в каталог, или введите путь к каталогу, в который должны сохраняться файлы моментальных снимков.

      Примечание.

      Агент моментальных снимков должен иметь разрешения на запись в указанный каталог, а агент распространителя или агент слияния должен иметь разрешения на чтение из этого каталога. Если используются подписки по запросу, необходимо указать общий каталог как универсальный путь к именованию (UNC), например \\computername\snapshot. Дополнительные сведения см. в статье Организация безопасности папки моментальных снимков.

    2. Снимите флажок Поместить файлы в папку по умолчанию , если не требуется, чтобы файлы были помещены в оба расположения.

    Для сжатия файлов моментальных снимков выберите Сжать файлы моментальных снимков в этом расположении. Сжатие обычно используется для узкополосных подключений и для альтернативных расположений моментальных снимков на сменных носителях, таких, как компакт-диски.

  2. Нажмите ОК.

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

При настройке свойств моментального снимка (программирование репликации Transact-SQL) укажите значение для snapshot_in_defaultfolder значение false.

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

Сжатие файлов моментальных снимков уместно при передаче моментальных снимков в медленной сети или когда требуется сохранить моментальный снимок на съемный носитель, а объем несжатого моментального снимка превышает свободное место на носителе. Сжатие файлов моментальных снимков полезно в таких случаях, однако сжатие увеличивает время создания и применения моментального снимка.

Сжатые файлы моментальных снимков записываются в формате CAB-файла Майкрософт, который может сжимать файлы размером 2 ГБ или меньше (если файлы моментальных снимков больше 2 ГБ, они не могут быть сжатыми). Для сжатия файлов их необходимо записать в альтернативную папку моментальных снимков (файлы, записанные в папку моментальных снимков по умолчанию, невозможно сжать).

Файлы распаковываются там, где запущен агент распространителя или агент слияния. Подписки по запросу, как правило, используются со сжатыми моментальными снимками, поэтому файлы распаковываются на подписчике. Когда подписчик получает сжатый файл, первоначально файл записывается во временное местоположение. После копирования сжатого файла подписчику файлы моментальных снимков в сжатом файле распаковываются по очереди при помощи средства распаковки CAB. На подписчике необходимо наличие пространства, равного размеру сжатого файла плюс размер самого большого распакованного файла.

Примечание.

В некоторых случаях сжатые моментальные снимки повышают производительность передачи файлов моментальных снимков по сети. Однако сжатие моментального снимка требует дополнительной обработки, выполняемой агентом моментальных снимков при создании файлов моментальных снимков и агентом распространителя или агентом слияния при применении файлов моментальных снимков. Это может замедлить создание моментального снимка и в некоторых случаях увеличить время, необходимое для применения моментального снимка. Кроме того, сжатые моментальные снимки не могут быть возобновлены в случае сбоя в сети, поэтому они непригодны для ненадежных сетей. Внимательно рассмотрите перечисленные достоинства и недостатки, если планируете применять сжатые моментальные снимки в сети.

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

  1. На странице моментального снимка диалогового окна свойств публикации — <публикация>:

    1. Выберите Поместить файлы в следующую папку, затем нажмите кнопку Обзор , чтобы перейти в каталог, или введите путь к каталогу, в который должны сохраняться файлы моментальных снимков.

      Примечание.

      Агент моментальных снимков должен иметь разрешения на запись в указанный каталог, а агент распространителя или агент слияния должен иметь разрешения на чтение из этого каталога. Если используются подписки по запросу, необходимо указать общий каталог как универсальный путь к именованию (UNC), например \\computername\snapshot. Дополнительные сведения см. в статье Организация безопасности папки моментальных снимков.

    2. Снимите флажок Поместить файлы в папку по умолчанию , если не требуется, чтобы файлы были помещены в оба расположения.

      Примечание.

      Если данный флажок установлен, файлы, хранящиеся в папке по умолчанию, не сжимаются. Сжатые файлы можно хранить только в альтернативной папке, указанной на предыдущем шаге.

  2. Выберите Выполнять сжатие файлов моментальных снимков в этой папке.

  3. Нажмите ОК.

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

При настройке свойств моментальных снимков укажите для параметра compress_snapshot значение True.

Выполнение скриптов до и после применения моментального снимка

Можно указать скрипты для выполнения на подписчике до и после применения моментального снимка. Скрипты могут использоваться по различным причинам, таким как создание учетных имен и схем (владельцы объекта) на каждом подписчике.

Вы указываете размещение файла для каждого скрипта, и агент моментальных снимков копирует файлы скриптов в текущую папку моментальных снимков при каждой обработке моментального снимка. При применении моментального снимка агент распространителя или агент слияния запускает скрипт, предшествующий моментальному снимку, перед любым из скриптов реплицируемых объектов. Агент распространителя или агент слияния запускает скрипт, следующий за моментальным снимком, после применения всех других скриптов реплицируемых объектов и применения данных. После того как применение моментального снимка завершено и файлы скриптов успешно выполнены, файлы скриптов удаляются из рабочего каталога на подписчике.

Скрипт запускается при помощи служебной программы sqlcmd . До развертывания скрипта запустите его с помощью sqlcmd , чтобы убедиться, что он выполняется должным образом. Содержимое скриптов, которые выполняются до и после применения моментального снимка, должно быть повторяемым. Например, если вы создаете таблицу в скрипте, необходимо сначала проверить ее существование и предпринять соответствующее действие, если таблица существует. Скрипт должен быть повторяемым, потому что, если необходимо повторно инициализировать подписку, для которой уже был применен скрипт, скрипт будет применен повторно, когда новый моментальный снимок будет применяться в процессе повторной инициализации.

Если вы сжимаете файл моментального снимка (помещая его в формат CAB-файла Майкрософт), скрипты также сжимаются и помещаются в CAB-файл. После того как сжатый файл моментального снимка передан подписчику и распакован в рабочий каталог на подписчике, выполняются все скрипты, помеченные как скрипты, предшествующие моментальному снимку. Аналогично любой скрипт, выполняющийся после моментального снимка, распаковывается и выполняется на подписчике как последний шаг в применении моментального снимка.

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

  1. На странице моментального снимка диалогового окна свойств публикации — <публикация>:
    • Чтобы указать скрипт для выполнения до применения моментального снимка, щелкните Обзор для перехода к скрипту или введите путь к скрипту в текстовом поле Перед применением моментального снимка выполнить этот скрипт .

      Примечание.

      У агента распространителя или агента слияния должны быть разрешения на чтение в указанном каталоге. Если используются подписки по запросу, необходимо указать общий каталог как универсальный путь к именоваванию (UNC), например \\computername\scripts\myscript.sql.

    • Чтобы указать скрипт для выполнения после применения моментального снимка, щелкните Обзор для перехода к скрипту или введите путь к скрипту в текстовом поле После применения моментального снимка выполнить этот скрипт .

  2. Нажмите ОК.