sp_adddistpublisher (Transact-SQL)sp_adddistpublisher (Transact-SQL)

適用対象: yesSQL Server yesAzure SQL Database (Managed Instance のみ) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

指定されたディストリビューション データベースを使用するように、パブリッシャーを構成します。Configures a Publisher to use a specified distribution database. このストアドプロシージャは、ディストリビューター側で任意のデータベースに対して実行されます。This stored procedure is executed at the Distributor on any database. このストアドプロシージャを使用する前に、transact-sql )(ストアドプロシージャを sp_adddistributor し、 transact-sql (を sp_adddistributiondbする必要があることに注意してください。Note that the stored procedures sp_adddistributor (Transact-SQL) and sp_adddistributiondb (Transact-SQL) must have been run prior to using this stored procedure.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_adddistpublisher [ @publisher= ] 'publisher'   
        , [ @distribution_db= ] 'distribution_db'   
    [ , [ @security_mode= ] security_mode ]   
    [ , [ @login= ] 'login' ]   
    [ , [ @password= ] 'password' ]   
    [ , [ @working_directory= ] 'working_directory' ]   
    [ , [ @storage_connection_string= ] 'storage_connection_string']
    [ , [ @trusted= ] 'trusted' ]   
    [ , [ @encrypted_password= ] encrypted_password ]   
    [ , [ @thirdparty_flag = ] thirdparty_flag ]  
    [ , [ @publisher_type = ] 'publisher_type' ]  

引数Arguments

[ @publisher = ] 'publisher'パブリッシャーの名前を指定します。[ @publisher = ] 'publisher' Is the Publisher name. publishersysnameで、既定値はありません。publisher is sysname, with no default.

[ @distribution_db = ] 'distribution_db'ディストリビューションデータベースの名前を指定します。[ @distribution_db = ] 'distribution_db' Is the name of the distribution database. distributor_dbsysnameであり、既定値はありません。distributor_db is sysname, with no default. このパラメーターは、レプリケーションエージェントがパブリッシャーに接続するために使用されます。This parameter is used by replication agents to connect to the Publisher.

[ @security_mode = ] security_mode実装されているセキュリティモードです。[ @security_mode = ] security_mode Is the implemented security mode. このパラメーターは、キュー更新サブスクリプションのパブリッシャーまたは以外のSQL ServerSQL Serverパブリッシャーに接続するために、レプリケーションエージェントによってのみ使用されます。This parameter is only used by replication agents to connect to the Publisher for queued updating subscriptions or with a non- SQL ServerSQL Server Publisher. security_modeint,、これらの値のいずれかを指定できます。security_mode is int, and can be one of these values.

Value [説明]Description
00 ディストリビューター側のレプリケーションエージェントはSQL ServerSQL Server 、認証を使用してパブリッシャーに接続します。Replication agents at the Distributor use SQL ServerSQL Server Authentication to connect to the Publisher.
1 (既定値)1 (default) ディストリビューター側のレプリケーション エージェントは Windows 認証を使用してパブリッシャーに接続します。Replication agents at the Distributor use Windows Authentication to connect to the Publisher.

[ @login = ] 'login'ログインを示します。[ @login = ] 'login' Is the login. Security_mode0の場合、このパラメーターは必須です。This parameter is required if security_mode is 0. loginsysname,、既定値は NULL です。login is sysname, with a default of NULL. このパラメーターは、レプリケーションエージェントがパブリッシャーに接続するために使用されます。This parameter is used by replication agents to connect to the Publisher.

[ @password = ] 'password']パスワードを入力します。[ @password = ] 'password'] Is the password. パスワードsysname,、既定値は NULL です。password is sysname, with a default of NULL. このパラメーターは、レプリケーションエージェントがパブリッシャーに接続するために使用されます。This parameter is used by replication agents to connect to the Publisher.

重要

空白のパスワードは使用しないでください。Do not use a blank password. 強力なパスワードを使用してください。Use a strong password.

[ @working_directory = ] 'working_directory'パブリケーションのデータとスキーマファイルを格納するために使用する作業ディレクトリの名前を指定します。[ @working_directory = ] 'working_directory' Is the name of the working directory used to store data and schema files for the publication. working_directorynvarchar (255) で、既定値は、のこのインスタンスの ReplData SQL ServerSQL Serverフォルダーです。 C:\Program Files\Microsoft SQL Server\MSSQL\MSSQ.1\ReplDataたとえば、のようになります。working_directory is nvarchar(255), and defaults to the ReplData folder for this instance of SQL ServerSQL Server, for example C:\Program Files\Microsoft SQL Server\MSSQL\MSSQ.1\ReplData. 名前は UNC 形式で指定する必要があります。The name should be specified in UNC format.

Azure SQL Database には、 \\<storage_account>.file.core.windows.net\<share>を使用します。For Azure SQL Database, use \\<storage_account>.file.core.windows.net\<share>.

[ @storage_connection_string = ] 'storage_connection_string'は SQL Database に必要です。[ @storage_connection_string = ] 'storage_connection_string' Is required for SQL Database. Azure Portal からアクセスキーを使用して、[ストレージ > 設定] を表示します。Use the access key from Azure Portal under storage > settings.

詳細については、Azure SQL Database のパブリッシャーおよびディストリビューターデータベースにManaged Instanceが必要です。 Azure SQL Database でのレプリケーションPublisher and distributor databases on Azure SQL Database require Managed Instance for more information, see Replication with Azure SQL Database.

[ @trusted = ] 'trusted'このパラメーターは非推奨とされており、旧バージョンとの互換性のためだけに用意されています。[ @trusted = ] 'trusted' This parameter has been deprecated and is provided for backward compatibility only. 信頼されているのはnvarchar (5) です。これをfalseに設定すると、エラーが発生します。trusted is nvarchar(5), and setting it to anything but false will result in an error.

[ @encrypted_password = ] encrypted_passwordEncrypted_passwordの設定はサポートされなくなりました。[ @encrypted_password = ] encrypted_password Setting encrypted_password is no longer supported. このビットパラメーターを1に設定しようとすると、エラーが発生します。Attempting to set this bit parameter to 1 will result in an error.

[ @thirdparty_flag = ] thirdparty_flagパブリッシャーがSQL ServerSQL Serverの場合。[ @thirdparty_flag = ] thirdparty_flag Is when the Publisher is SQL ServerSQL Server. thirdparty_flagビットで、次のいずれかの値を指定できます。thirdparty_flag is bit, and can be one of the following values.

Value [説明]Description
0 (既定値)0 (default) SQL ServerSQL Serverデータベース.database.
11
SQL ServerSQL Server 以外のデータベースDatabase other than SQL ServerSQL Server.

[ @publisher_type = ] 'publisher_type'パブリッシャーがでないSQL ServerSQL Server場合に、パブリッシャーの種類を指定します。[ @publisher_type = ] 'publisher_type' Specifies the Publisher type when the Publisher is not SQL ServerSQL Server. publisher_typeは sysname で、次のいずれかの値を指定できます。publisher_type is sysname, and can be one of the following values.

Value [説明]Description
MSMSSQLSERVER

(既定値)。(default)
パブリッシャーをSQL ServerSQL Server指定します。Specifies a SQL ServerSQL Server Publisher.
ORACLE11IORACLE 標準の Oracle パブリッシャーを指定します。Specifies a standard Oracle Publisher.
**ORACLE GATEWAY **ORACLE GATEWAY Oracle ゲートウェイ パブリッシャーを指定します。Specifies an Oracle Gateway Publisher.

Oracle パブリッシャーと Oracle ゲートウェイパブリッシャーの違いの詳細については、「 Oracle パブリッシャーの構成」を参照してください。For more information about the differences between an Oracle Publisher and an Oracle Gateway Publisher, see Configure an Oracle Publisher.

リターン コードの値Return Code Values

0 (成功) または 1 (失敗)0 (success) or 1 (failure)

解説Remarks

sp_adddistpublisherは、スナップショットレプリケーション、トランザクションレプリケーション、およびマージレプリケーションで使用されます。sp_adddistpublisher is used by snapshot replication, transactional replication, and merge replication.

Example

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

-- Install the Distributor and the distribution database.
DECLARE @distributor AS sysname;
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @directory AS nvarchar(500);
DECLARE @publicationDB AS sysname;
-- Specify the Distributor name.
SET @distributor = $(DistPubServer);
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);
-- Specify the replication working directory.
SET @directory = N'\\' + $(DistPubServer) + '\repldata';
-- Specify the publication database.
SET @publicationDB = N'AdventureWorks2012'; 

-- Install the server MYDISTPUB as a Distributor using the defaults,
-- including autogenerating the distributor password.
USE master
EXEC sp_adddistributor @distributor = @distributor;

-- Create a new distribution database using the defaults, including
-- using Windows Authentication.
USE master
EXEC sp_adddistributiondb @database = @distributionDB, 
    @security_mode = 1;
GO

-- Create a Publisher and enable AdventureWorks2012 for replication.
-- Add MYDISTPUB as a publisher with MYDISTPUB as a local distributor
-- and use Windows Authentication.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);

USE [distribution]
EXEC sp_adddistpublisher @publisher=@publisher, 
    @distribution_db=@distributionDB, 
    @security_mode = 1;
GO 

アクセス許可Permissions

Sp_adddistpublisherを実行できるのは、 sysadmin固定サーバーロールのメンバーだけです。Only members of the sysadmin fixed server role can execute sp_adddistpublisher.

参照See Also

パブリッシングおよびディストリビューションの構成 Configure Publishing and Distribution
sp_changedistpublisher (Transact-sql) sp_changedistpublisher (Transact-SQL)
sp_dropdistpublisher (Transact-sql) sp_dropdistpublisher (Transact-SQL)
sp_helpdistpublisher (Transact-sql) sp_helpdistpublisher (Transact-SQL)
システムストアドプロシージャ (Transact-sql) System Stored Procedures (Transact-SQL)
ディストリビューションの構成Configure Distribution