sp_copysubscription (Transact-SQL)

Важное примечаниеВажно!

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

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_copysubscription [ @filename = ] 'file_name'
    [ , [ @temp_dir = ] 'temp_dir' ]
    [ , [ @overwrite_existing_file = ] overwrite_existing_file]

Аргументы

  • [ @filename = ] 'file_name'
    Строка, определяющая полный путь (с именем файла) к файлу, в котором будет сохранена копия файла данных (MDF-файл). Аргумент имя_файла имеет тип nvarchar(260) и не имеет значения по умолчанию.

  • [ @temp_dir=] 'временный_каталог'
    Имя каталога, содержащего временные файлы. Этот аргумент имеет тип nvarchar(260) и значение по умолчанию NULL. Если он равен NULL, используется каталог данных Microsoft SQL Server по умолчанию. Каталог должен включать достаточно свободного места для хранения файла с размером, равным суммарному размеру всех файлов баз данных подписчика.

  • [ @overwrite_existing_file=] 'overwrite_existing_file'
    Необязательный логический флаг, который определяет, будет ли перезаписан существующий файл с именем, указанным при помощи аргумента @filename. Аргумент overwrite_existing_file имеет тип bit и значение по умолчанию 0. Если он равен 1, файл, указанный при помощи аргумента @filename, перезаписывается (если он существует). Если этот аргумент равен 0, в случае наличия файла с тем же именем хранимая процедура завершается неудачей и файл не перезаписывается.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Хранимая процедура sp_copysubscription используется при всех типах репликации для копирования базы данных подписки в файл в качестве альтернативы применению моментального снимка на стороне подписчика. База данных должна быть настроена так, чтобы она поддерживала только подписки по запросу. Пользователи, имеющие необходимые разрешения, могут создать копии базы данных подписки, после чего отправить файл подписки (MSF-файл) по электронной почте, скопировать его или доставить другому подписчику, где этот файл можно будет подключить как подписку.

Размер копируемой базы данных подписки должен быть меньше 2 ГБ.

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

Разрешения

Хранимую процедуру sp_copysubscription могут выполнять только члены предопределенной роли сервера sysadmin.