sp_attachsubscription (Transact-SQL)

Присоединяет существующую базу данных подписки к любому подписчику. Эта хранимая процедура выполняется в базе данных master на новом подписчике.

ms188415.note(ru-ru,SQL.90).gifВажно!
Данная функция является устаревшей и в следующем выпуске будет удалена. Использовать эту функцию для новых разработок не рекомендуется. Для публикаций слиянием, секционированных с помощью параметризованных фильтров, рекомендуется использовать новые возможности секционированных снимков, которые упрощают инициализацию большого числа подписок. Дополнительные сведения см. в разделе Моментальные снимки для публикаций слиянием с параметризованными фильтрами. Для несекционированных публикаций можно инициализировать подписку из резервной копии. Дополнительные сведения см. в разделах Инициализация подписки на публикацию слиянием без моментального снимка и Инициализация подписки на публикацию транзакций без моментального снимка.

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

Синтаксис

sp_attachsubscription [ @dbname = ] 'dbname'
        , [ @filename = ] 'filename'
    [ , [ @subscriber_security_mode = ] 'subscriber_security_mode' ]
    [ , [ @subscriber_login = ] 'subscriber_login' ]
    [ , [ @subscriber_password = ] 'subscriber_password' ]
    [ , [ @distributor_security_mode = ] distributor_security_mode ] 
    [ , [ @distributor_login = ] 'distributor_login' ] 
    [ , [ @distributor_password = ] 'distributor_password' ] 
    [ , [ @publisher_security_mode = ] publisher_security_mode ] 
    [ , [ @publisher_login = ] 'publisher_login' ] 
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @job_login = ] 'job_login' ] 
    [ , [ @job_password = ] 'job_password' ] 
    [ , [ @db_master_key_password = ] 'db_master_key_password' ]

Аргументы

  • [ @dbname= ] 'dbname'
    Строка, которая указывает целевую базу данных подписки по имени. Аргумент dbname имеет тип sysname и не имеет значения по умолчанию.
  • [ @filename= ] 'filename'
    Имя и физическое расположение первичного файла MDF (файл данных master). Аргумент filename имеет тип nvarchar(260) и не имеет значения по умолчанию.
  • [ @subscriber_security_mode= ] 'subscriber_security_mode'
    Режим безопасности, используемый подписчиком для подключения к нему при синхронизации. Аргумент subscriber_security_mode имеет тип int и значение по умолчанию NULL.

    ms188415.note(ru-ru,SQL.90).gifПримечание.
    Необходимо использовать проверку подлинности Windows. Если аргумент subscriber_security_mode не равен 1 (проверка подлинности Windows), возвращается ошибка.
  • [ @subscriber_login= ] 'subscriber_login'
    Имя входа подписчика, используемое для подключения к нему при синхронизации. Аргумент subscriber_login имеет тип sysname и значение по умолчанию NULL.

    ms188415.note(ru-ru,SQL.90).gifПримечание.
    Данный аргумент является устаревшим и сохранен только для поддержки обратной совместимости сценариев. Если аргумент subscriber_security_mode не равен 1 и указан аргумент subscriber_login, возвращается ошибка.
  • [ @subscriber_password= ] 'subscriber_password'
    Пароль подписчика. Аргумент subscriber_password имеет тип sysname и значение по умолчанию NULL.

    ms188415.note(ru-ru,SQL.90).gifПримечание.
    Данный аргумент является устаревшим и сохранен только для поддержки обратной совместимости сценариев. Если аргумент subscriber_security_mode не равен 1 и указан аргумент subscriber_password, возвращается ошибка.
  • [ @distributor_security_mode= ] distributor_security_mode
    Режим безопасности, используемый для подключения к распространителю при синхронизации. Аргумент distributor_security_mode имеет тип int и значение по умолчанию 0. Значение 0 указывает проверку подлинности SQL Server. Значение 1 указывает проверку подлинности Windows. При возможности используйте проверку подлинности Windows.
  • [ @distributor_login= ] 'distributor_login'
    Имя входа распространителя, используемое для подключения к нему при синхронизации. Аргумент distributor_login необходим, если задано значение 0 для аргумента distributor_security_mode. Аргумент distributor_login имеет тип sysname и значение по умолчанию NULL.
  • [ @distributor_password= ] 'distributor_password'
    Пароль распространителя. Аргумент distributor_password необходим, если указано значение 0 для аргумента distributor_security_mode. Аргумент distributor_password имеет тип sysname и значение по умолчанию NULL. Значение аргумента distributor_password должно содержать менее 120 символов Юникода.

    ms188415.security(ru-ru,SQL.90).gifПримечание безопасности.
    Не используйте пустой пароль. Используйте надежный пароль. По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле сценария этот файл следует защищать во избежание несанкционированного доступа.
  • [ @publisher_security_mode= ] publisher_security_mode
    Режим безопасности, используемый для подключения к издателю при синхронизации. Аргумент publisher_security_mode имеет тип int и значение по умолчанию 1. Значение 0 указывает проверку подлинности SQL Server. Значение 1 указывает проверку подлинности Windows. При возможности используйте проверку подлинности Windows.
  • [ @publisher_login= ] 'publisher_login'
    Имя входа, используемое для подключения к издателю при синхронизации. Аргумент publisher_login имеет тип sysname и значение по умолчанию NULL.
  • [ @publisher_password= ] 'publisher_password'
    Пароль, используемый для подключения к издателю. Аргумент publisher_password имеет тип sysname и значение по умолчанию NULL. Значение аргумента publisher_password должно содержать менее 120 символов Юникода.

    ms188415.security(ru-ru,SQL.90).gifПримечание безопасности.
    Не используйте пустой пароль. Используйте надежный пароль. По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле сценария этот файл следует защищать во избежание несанкционированного доступа.
  • [ @job_login= ] 'job_login'
    Имя входа для учетной записи Windows, с которой запускается агент. Аргумент job_login имеет тип nvarchar(257) и не имеет значения по умолчанию. Для соединений агента с распространителем всегда используется эта учетная запись Windows.
  • [ @job_password= ] 'job_password'
    Пароль для учетной записи Windows, с которой запускается агент. Аргумент job_password имеет тип sysname и не имеет значения по умолчанию. Значение аргумента job_password должно содержать менее 120 символов Юникода.

    ms188415.security(ru-ru,SQL.90).gifПримечание безопасности.
    По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле сценария этот файл следует защищать во избежание несанкционированного доступа.
  • [ @db_master_key_password= ] 'db_master_key_password'
    Пароль определяемого пользователем главного ключа базы данных. Аргумент db_master_key_password имеет тип nvarchar(524) и значение по умолчанию NULL. Если аргумент db_master_key_password не указан, то существующий главный ключ базы данных будет удален и создан повторно.

    ms188415.security(ru-ru,SQL.90).gifПримечание безопасности.
    По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле сценария этот файл следует защищать во избежание несанкционированного доступа.

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

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

Замечания

Процедура sp_attachsubscription используется в репликации моментальных снимков, репликации транзакций и репликации слиянием.

Подписка не может быть присоединена к публикации, если срок хранения публикации истек. При указании подписки с истекшим сроком хранения публикации возникает ошибка при присоединении или первой синхронизации подписки. Публикации со сроком хранения 0 (никогда не истекает) не обрабатываются.

Разрешения

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

См. также

Справочник

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

Справка и поддержка

Получение помощи по SQL Server 2005