sp_attachsubscription (Transact-SQL)
Область применения: SQL Server База данных SQL Azure
Присоединяет существующую базу данных подписки к любому подписчику. Эта хранимая процедура выполняется на новом подписчике master
в базе данных.
Внимание
Данная функция является устаревшей и в следующей версии будет удалена. Эта функция не должна использоваться в новой работе по разработке. Для публикаций слиянием, секционированных с помощью параметризованных фильтров, рекомендуется использовать новые возможности секционированных снимков, которые упрощают инициализацию большого числа подписок. Дополнительные сведения см. в статье Создание моментального снимка для публикации слиянием с параметризованными фильтрами. Для публикаций, которые не секционированы, можно инициализировать подписку с резервной копией. Дополнительные сведения см. в статье Инициализация подписки на публикацию транзакций без моментального снимка.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_attachsubscription
[ @dbname = ] N'dbname'
, [ @filename = ] N'filename'
[ , [ @subscriber_security_mode = ] subscriber_security_mode ]
[ , [ @subscriber_login = ] N'subscriber_login' ]
[ , [ @subscriber_password = ] N'subscriber_password' ]
[ , [ @distributor_security_mode = ] distributor_security_mode ]
[ , [ @distributor_login = ] N'distributor_login' ]
[ , [ @distributor_password = ] N'distributor_password' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] N'publisher_login' ]
[ , [ @publisher_password = ] N'publisher_password' ]
[ , [ @job_login = ] N'job_login' ]
[ , [ @job_password = ] N'job_password' ]
[ , [ @db_master_key_password = ] N'db_master_key_password' ]
[ ; ]
Аргументы
[ @dbname = ] N'dbname'
Указывает имя целевой базы данных подписки. @dbname — sysname, без значения по умолчанию.
[ @filename = ] N'filename'
Имя и физическое расположение первичного файла данных (.mdf
). @filename — nvarchar(260), без значения по умолчанию.
[ @subscriber_security_mode = ] subscriber_security_mode
Режим безопасности подписчика, используемый при подключении к подписчику при синхронизации. @subscriber_security_mode имеет значение int с значением по умолчаниюNULL
.
Примечание.
Необходимо использовать проверку подлинности Windows. Если @subscriber_security_mode нет 1
(проверка подлинности Windows), появится сообщение об ошибке.
[ @subscriber_login = ] N'subscriber_login'
Имя входа подписчика, используемое при подключении к подписчику при синхронизации. @subscriber_login — sysname с значением по умолчаниюNULL
.
Примечание.
Этот параметр устарел и поддерживается для обратной совместимости скриптов. Если @subscriber_security_mode нет 1
и @subscriber_login указана, вы получите ошибку.
[ @subscriber_password = ] N'subscriber_password'
Пароль подписчика. @subscriber_password — sysname с значением по умолчаниюNULL
.
Примечание.
Этот параметр устарел и поддерживается для обратной совместимости скриптов. Если @subscriber_security_mode нет 1
и @subscriber_password указана, вы получите ошибку.
[ @distributor_security_mode = ] distributor_security_mode
Режим безопасности, используемый при подключении к распространителю при синхронизации. @distributor_security_mode имеет значение int с значением по умолчанию1
.
0
указывает проверку подлинности SQL Server1
указывает проверка подлинности Windows
По возможности используйте аутентификацию Windows.
[ @distributor_login = ] N'distributor_login'
Имя входа распространителя, используемое при подключении к распространителю при синхронизации. @distributor_login — sysname, значение по умолчанию NULL
— sysname. @distributor_login требуется, если для @distributor_security_mode задано 0
значение .
[ @distributor_password = ] N'distributor_password'
Пароль распространителя. @distributor_password — sysname с значением по умолчаниюNULL
. @distributor_password требуется, если для @distributor_security_mode задано 0
значение . Значение @distributor_password должно быть короче 120 символов Юникода.
Внимание
Не используйте пустые пароли. Выбирайте надежные пароли. По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.
[ @publisher_security_mode = ] publisher_security_mode
Режим безопасности, используемый при подключении к издателю при синхронизации. @publisher_security_mode имеет значение int с значением по умолчанию1
.
- Если
0
указывает проверку подлинности SQL Server. - Если
1
указывает проверку подлинности Windows. По возможности используйте аутентификацию Windows.
[ @publisher_login = ] N'publisher_login'
Имя входа, используемое при подключении к издателю при синхронизации. @publisher_login — sysname с значением по умолчаниюNULL
.
[ @publisher_password = ] N'publisher_password'
Пароль, используемый при подключении к издателю. @publisher_password — sysname с значением по умолчаниюNULL
. Значение @publisher_password должно быть короче 120 символов Юникода.
Внимание
Не используйте пустые пароли. Выбирайте надежные пароли. По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.
[ @job_login = ] N'job_login'
Имя входа для учетной записи Windows, в которой выполняется агент. @job_login — nvarchar(257), без значения по умолчанию. Для соединения агента с распространителем всегда используется эта учетная запись Windows.
[ @job_password = ] N'job_password'
Пароль для учетной записи Windows, в которой выполняется агент. @job_password — sysname с значением по умолчаниюNULL
. Значение job_password должно быть короче 120 символов Юникода.
Внимание
Не используйте пустые пароли. Выбирайте надежные пароли. По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.
[ @db_master_key_password = ] N'db_master_key_password'
Пароль главного ключа базы данных, определяемого пользователем (DMK). @db_master_key_password — nvarchar(524) с значением по умолчаниюNULL
. Если @db_master_key_password не задано, существующий динамический ключ удаляется и повторно создается.
Внимание
Не используйте пустые пароли. Выбирайте надежные пароли. По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_attachsubscription
используется в репликации моментальных снимков, репликации транзакций и репликации слиянием.
Подписка не может быть присоединена к публикации, если срок хранения публикации истек. Если указан срок хранения с истекающей подпиской, возникает ошибка при присоединении подписки или первой синхронизации. Публикации с периодом 0
хранения публикации (никогда не истекают) игнорируются.
Разрешения
Могут выполняться sp_attachsubscription
только члены предопределенных ролей сервера sysadmin.