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


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-файл). Аргумент file name имеет тип nvarchar(260) и не имеет значения по умолчанию.

  • [ @temp_dir=] 'temp_dir'
    Имя каталога, содержащего временные файлы. Аргумент 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.

См. также

Справочник

Системные хранимые процедуры (Transact-SQL)

Основные понятия

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