다음을 통해 공유


ReplicationServer.InstallDistributor 메서드

정의

배포자를 설치합니다.

오버로드

InstallDistributor(String, String)

원격 배포자를 등록합니다.

InstallDistributor(String, SecureString)

SecureString 개체를 사용하여 암호가 지정된 경우 원격 배포자를 등록합니다.

InstallDistributor(SecureString, DistributionDatabase)

현재 연결된 Microsoft SQL Server 인스턴스에 배포자를 설치합니다. 여기서 암호는 개체를 SecureString 사용하여 지정됩니다.

InstallDistributor(String, DistributionDatabase)

현재 연결된 Microsoft SQL Server 인스턴스에 배포자를 설치합니다.

예제

// Set the server and database names
string distributionDbName = "distribution";
string publisherName = publisherInstance;
string publicationDbName = "AdventureWorks2012";

DistributionDatabase distributionDb;
ReplicationServer distributor;
DistributionPublisher publisher;
ReplicationDatabase publicationDb;

// Create a connection to the server using Windows Authentication.
ServerConnection conn = new ServerConnection(publisherName);

try
{
    // Connect to the server acting as the Distributor 
    // and local Publisher.
    conn.Connect();

    // Define the distribution database at the Distributor,
    // but do not create it now.
    distributionDb = new DistributionDatabase(distributionDbName, conn);
    distributionDb.MaxDistributionRetention = 96;
    distributionDb.HistoryRetention = 120;

    // Set the Distributor properties and install the Distributor.
    // This also creates the specified distribution database.
    distributor = new ReplicationServer(conn);
    distributor.InstallDistributor((string)null, distributionDb);

    // Set the Publisher properties and install the Publisher.
    publisher = new DistributionPublisher(publisherName, conn);
    publisher.DistributionDatabase = distributionDb.Name;
    publisher.WorkingDirectory = @"\\" + publisherName + @"\repldata";
    publisher.PublisherSecurity.WindowsAuthentication = true;
    publisher.Create();

    // Enable AdventureWorks2012 as a publication database.
    publicationDb = new ReplicationDatabase(publicationDbName, conn);

    publicationDb.EnabledTransPublishing = true;
    publicationDb.EnabledMergePublishing = true;
}
catch (Exception ex)
{
    // Implement appropriate error handling here.
    throw new ApplicationException("An error occured when installing distribution and publishing.", ex);
}
finally
{
    conn.Disconnect();
}

InstallDistributor(String, String)

원격 배포자를 등록합니다.

public:
 void InstallDistributor(System::String ^ distributionServerName, System::String ^ password);
public void InstallDistributor (string distributionServerName, string password);
member this.InstallDistributor : string * string -> unit
Public Sub InstallDistributor (distributionServerName As String, password As String)

매개 변수

distributionServerName
String

현재 게시자 서버에 대한 배포자로 사용되는 원격 서버의 이름을 지정하는 String 값입니다. 배포 서버 이름은 현재 서버와 같을 수 없습니다.

password
String

암호를 지정하는 String 값입니다. 배포자에서 InstallDistributor(String, DistributionDatabase)를 호출할 때 사용하는 값과 같습니다.

설명

원격 배포자를 등록하려면 게시자에서 이 메서드를 호출해야 합니다. 게시자와 배포자가 동일한 서버에 있는 경우 이 메서드를 호출하면 안 됩니다.

를 호출 InstallDistributor(String, String)하기 전에 배포자에서 를 호출 InstallDistributor(String, DistributionDatabase) 해야 합니다.

메서드는 InstallDistributor sysadmin 고정 서버 역할의 멤버만 호출할 수 있습니다.

메서드는 InstallDistributor 원격 배포자를 등록하기 위해 게시자에서 sp_adddistributor(Transact-SQL) 저장 프로시저를 실행하는 것과 같습니다.

적용 대상

InstallDistributor(String, SecureString)

SecureString 개체를 사용하여 암호가 지정된 경우 원격 배포자를 등록합니다.

public:
 void InstallDistributor(System::String ^ distributionServerName, System::Security::SecureString ^ password);
public void InstallDistributor (string distributionServerName, System.Security.SecureString password);
member this.InstallDistributor : string * System.Security.SecureString -> unit
Public Sub InstallDistributor (distributionServerName As String, password As SecureString)

매개 변수

distributionServerName
String

현재 게시자 서버에 대한 배포자로 사용되는 원격 서버의 이름을 지정하는 String 값입니다. 배포 서버 이름은 현재 서버와 같을 수 없습니다.

password
SecureString

암호를 지정하는 SecureString 값입니다. 배포자에서 InstallDistributor(String, DistributionDatabase)를 호출할 때 사용하는 값과 같습니다.

설명

원격 배포자를 등록하려면 게시자에서 이 메서드를 호출해야 합니다. 게시자와 배포자가 동일한 서버에 있는 경우 이 메서드를 호출하면 안 됩니다.

를 호출 InstallDistributor(String, SecureString)하기 전에 배포자에서 를 호출 InstallDistributor(SecureString, DistributionDatabase) 해야 합니다.

메서드는 InstallDistributor(String, SecureString) 메모리에 저장되는 동안 암호에 대한 추가 보안을 제공하며 대신 InstallDistributor(String, String)를 사용해야 합니다.

메서드는 InstallDistributor sysadmin 고정 서버 역할의 멤버만 호출할 수 있습니다.

메서드는 InstallDistributor 원격 배포자를 등록하기 위해 게시자에서 sp_adddistributor(Transact-SQL) 저장 프로시저를 실행하는 것과 같습니다.

적용 대상

InstallDistributor(SecureString, DistributionDatabase)

현재 연결된 Microsoft SQL Server 인스턴스에 배포자를 설치합니다. 여기서 암호는 개체를 SecureString 사용하여 지정됩니다.

public:
 void InstallDistributor(System::Security::SecureString ^ password, Microsoft::SqlServer::Replication::DistributionDatabase ^ distributionDB);
public void InstallDistributor (System.Security.SecureString password, Microsoft.SqlServer.Replication.DistributionDatabase distributionDB);
member this.InstallDistributor : System.Security.SecureString * Microsoft.SqlServer.Replication.DistributionDatabase -> unit
Public Sub InstallDistributor (password As SecureString, distributionDB As DistributionDatabase)

매개 변수

password
SecureString

배포자에 액세스하는 데 사용되는 distributor_admin 로그인의 암호를 나타내는 SecureString 값입니다.

보안 참고 가능하면 사용자에게 런타임에 보안 자격 증명을 입력하라는 메시지를 표시합니다. 자격 증명을 저장해야 하는 경우 Windows .NET Framework 제공하는 암호화 서비스를 사용합니다http://go.microsoft.com/fwlink/?LinkId=34733.

distributionDB
DistributionDatabase

배포자에서 사용하는 배포 데이터베이스를 나타내는 DistributionDatabase 개체입니다.

설명

배포자에 원격 게시자가 있는 경우 에 대한 password 강력한 암호를 지정해야 합니다. 가 로 null설정된 경우 password 임의 암호가 생성되며 배포자에 첫 번째 원격 게시자가 등록될 때 를 호출 ChangeDistributorPassword 하여 암호를 재설정해야 합니다.

원격 서버에서 호출하기 전에 배포자에서 이 메서드 오버로드를 호출 InstallDistributor(String, String) 해야 합니다.

메서드는 InstallDistributor(SecureString, DistributionDatabase) 메모리에 저장되는 동안 암호에 대한 추가 보안을 제공하며 대신 InstallDistributor(String, DistributionDatabase)를 사용해야 합니다.

메서드는 InstallDistributor sysadmin 고정 서버 역할의 멤버만 호출할 수 있습니다.

메서드는 InstallDistributorsp_adddistributor(Transact-SQL) 저장 프로시저와 동일합니다.

적용 대상

InstallDistributor(String, DistributionDatabase)

현재 연결된 Microsoft SQL Server 인스턴스에 배포자를 설치합니다.

public:
 void InstallDistributor(System::String ^ password, Microsoft::SqlServer::Replication::DistributionDatabase ^ distributionDB);
public void InstallDistributor (string password, Microsoft.SqlServer.Replication.DistributionDatabase distributionDB);
member this.InstallDistributor : string * Microsoft.SqlServer.Replication.DistributionDatabase -> unit
Public Sub InstallDistributor (password As String, distributionDB As DistributionDatabase)

매개 변수

password
String

배포자에 액세스하는 데 사용되는 distributor_admin 로그인의 암호입니다.

보안 참고 가능하면 사용자에게 런타임에 보안 자격 증명을 입력하라는 메시지를 표시합니다. 자격 증명을 저장해야 하는 경우 Windows .NET Framework 제공하는 암호화 서비스를 사용합니다http://go.microsoft.com/fwlink/?LinkId=34733.

distributionDB
DistributionDatabase

배포자에서 사용하는 배포 데이터베이스를 나타내는 DistributionDatabase 개체입니다.

예외

배포가 서버에 이미 설치된 경우

distributionDB null이거나 128바이트를 초과하거나 null 문자를 포함하는 경우 password

예제

// Set the server and database names
string distributionDbName = "distribution";
string publisherName = publisherInstance;
string publicationDbName = "AdventureWorks2012";

DistributionDatabase distributionDb;
ReplicationServer distributor;
DistributionPublisher publisher;
ReplicationDatabase publicationDb;

// Create a connection to the server using Windows Authentication.
ServerConnection conn = new ServerConnection(publisherName);

try
{
    // Connect to the server acting as the Distributor 
    // and local Publisher.
    conn.Connect();

    // Define the distribution database at the Distributor,
    // but do not create it now.
    distributionDb = new DistributionDatabase(distributionDbName, conn);
    distributionDb.MaxDistributionRetention = 96;
    distributionDb.HistoryRetention = 120;

    // Set the Distributor properties and install the Distributor.
    // This also creates the specified distribution database.
    distributor = new ReplicationServer(conn);
    distributor.InstallDistributor((string)null, distributionDb);

    // Set the Publisher properties and install the Publisher.
    publisher = new DistributionPublisher(publisherName, conn);
    publisher.DistributionDatabase = distributionDb.Name;
    publisher.WorkingDirectory = @"\\" + publisherName + @"\repldata";
    publisher.PublisherSecurity.WindowsAuthentication = true;
    publisher.Create();

    // Enable AdventureWorks2012 as a publication database.
    publicationDb = new ReplicationDatabase(publicationDbName, conn);

    publicationDb.EnabledTransPublishing = true;
    publicationDb.EnabledMergePublishing = true;
}
catch (Exception ex)
{
    // Implement appropriate error handling here.
    throw new ApplicationException("An error occured when installing distribution and publishing.", ex);
}
finally
{
    conn.Disconnect();
}

설명

배포자에 원격 게시자가 있는 경우 에 대한 password 강력한 암호를 지정해야 합니다. 가 로 null설정된 경우 password 임의 암호가 생성되며 배포자에 첫 번째 원격 게시자가 등록될 때 를 호출 ChangeDistributorPassword 하여 암호를 재설정해야 합니다.

원격 서버에서 호출하기 전에 배포자에서 이 메서드 오버로드를 호출 InstallDistributor 해야 합니다.

메서드는 InstallDistributor sysadmin 고정 서버 역할의 멤버만 호출할 수 있습니다.

메서드는 InstallDistributorsp_adddistributor(Transact-SQL) 저장 프로시저와 동일합니다.

추가 정보

적용 대상