Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к:SQL Server
Azure SQL Database
SQL база данных в Microsoft Fabric
Присоединяет существующую базу данных подписки к любому подписчику. Эта хранимая процедура выполняется на новом подписчике 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 Server -
1указывает проверка подлинности Windows
По возможности используйте аутентификацию Windows.
[ @distributor_login = ] N'distributor_login'
Имя входа распространителя, используемое при подключении к распространителю при синхронизации.
@distributor_login — NULL.
@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.