sp_copysubscription (Transact-SQL)

Применимо к:Управляемому экземпляру SQL Server Azure

Внимание

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

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

Соглашения о синтаксисе 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 = ] 'temp_dir' Имя каталога, содержащего временные файлы. temp_dir — nvarchar(260) с значением NULL по умолчанию. Если значение NULL, будет использоваться каталог данных по умолчанию Microsoft SQL Server. Каталог должен включать достаточно свободного места для хранения файла с размером, равным суммарному размеру всех файлов баз данных подписчика.

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

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

0 (успешно) или 1 (сбой)

Замечания

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

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

sp_copysubscription поддерживается только для баз данных с клиентскими подписками и не может выполняться, если база данных имеет серверные подписки.

Разрешения

Только члены предопределенных ролей сервера sysadmin могут выполняться sp_copysubscription.

См. также

Альтернативные расположения папки моментальных снимков
Системные хранимые процедуры (Transact-SQL)