sp_attachsubscription (Transact-SQL)
既存のサブスクリプション データベースを任意のサブスクライバーにアタッチします。 このストアド プロシージャは、master データベース上の新しいサブスクライバー側で実行されます。
重要 |
---|
この機能は今後のリリースで削除される予定であり、使用は推奨されません。 新しい開発作業では使用しないでください。 パラメーター化されたフィルターを使用してパーティション分割されたマージ パブリケーションでは、パーティション スナップショットの新しい機能を使用することをお勧めします。この機能を使用すると、多数のサブスクリプションの初期化を簡単に実行できます。 詳細については、「パラメーター化されたフィルターを使用したマージ パブリケーションのスナップショット」を参照してください。 パーティション分割されていないパブリケーションでは、バックアップを使用してサブスクリプションを初期化できます。 詳細については、「スナップショットを使用しないトランザクション サブスクリプションの初期化」を参照してください。 |
構文
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 です。注 Windows 認証を使用する必要があります。 subscriber_security_mode が 1 (Windows 認証) ではない場合、エラーが返されます。
[ @subscriber_login= ] 'subscriber_login'
サブスクライバーへ接続して同期するときに使用するサブスクライバーのログイン名を指定します。 subscriber_login のデータ型は sysname で、既定値は NULL です。注 このパラメーターは、スクリプトの旧バージョンとの互換性を維持するために用意されているもので、使用はお勧めしません。 subscriber_security_mode に 1 を指定しないで、subscriber_login を指定すると、エラーが返されます。
[ @subscriber_password= ] 'subscriber_password'
サブスクライバーのパスワードです。 subscriber_password のデータ型は sysname で、既定値は NULL です。注 このパラメーターは、スクリプトの旧バージョンとの互換性を維持するために用意されているもので、使用はお勧めしません。 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_security_mode を 0 に設定した場合は、distributor_login を指定する必要があります。 distributor_login のデータ型は sysname で、既定値は NULL です。[ @distributor_password= ] 'distributor_password'
ディストリビューターのパスワードです。 distributor_security_mode を 0 に設定した場合は、distributor_password を指定する必要があります。 distributor_password のデータ型は sysname で、既定値は NULL です。 distributor_password の値は Unicode 文字で 120 文字未満にする必要があります。セキュリティに関する注意 空白のパスワードは使用しないでください。 強力なパスワードを使用してください。 可能であれば、実行時にセキュリティ資格情報の入力を求めるメッセージをユーザーに対して表示します。 スクリプト ファイルに資格情報を格納する場合は、不正アクセスを防ぐために、そのファイルをセキュリティで保護する必要があります。
[ @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 の値は Unicode 文字で 120 文字未満にする必要があります。セキュリティに関する注意 空白のパスワードは使用しないでください。 強力なパスワードを使用してください。 可能であれば、実行時にセキュリティ資格情報の入力を求めるメッセージをユーザーに対して表示します。 スクリプト ファイルに資格情報を格納する場合は、不正アクセスを防ぐために、そのファイルをセキュリティで保護する必要があります。
[ @job_login= ] 'job_login'
エージェントを実行する Windows アカウント用のログインを指定します。 job_login のデータ型は nvarchar(257) で、既定値はありません。 この Windows アカウントはディストリビューターへのエージェント接続で常に使用されます。[ @job_password= ] 'job_password'
エージェントを実行する Windows アカウント用のパスワードを指定します。 job_password のデータ型は sysname で、既定値はありません。 job_password の値は Unicode 文字で 120 文字未満にする必要があります。セキュリティに関する注意 可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する必要がある場合は、不正アクセスを防ぐために、ファイルを保護します。
[ @db_master_key_password= ] 'db_master_key_password'
ユーザー定義データベースのマスター キーのパスワードを指定します。 db_master_key_password のデータ型は nvarchar(524) で、既定値は NULL です。 db_master_key_password を指定しない場合は、既存のデータベースのマスター キーが削除され再作成されます。セキュリティに関する注意 可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する必要がある場合は、不正アクセスを防ぐために、ファイルを保護します。
戻り値
0 (成功) または 1 (失敗)
説明
sp_attachsubscription は、スナップショット レプリケーション、トランザクション レプリケーション、マージ レプリケーションで使用します。
パブリケーション保有期間が過ぎている場合、サブスクリプションをパブリケーションにアタッチすることはできません。 保有期間を過ぎたサブスクリプションを指定した場合は、サブスクリプションがアタッチされたとき、または初めて同期したときにエラーが発生します。 パブリケーション保有期間が 0 (無期限) のパブリケーションは無視されます。
権限
sp_attachsubscription を実行できるのは、sysadmin 固定サーバー ロールのメンバーだけです。