次の方法で共有


DistributionPublisher.PublisherSecurity プロパティ

パブリッシャーに接続するときにレプリケーション エージェントで使用されるセキュリティ コンテキストを取得します。

名前空間:  Microsoft.SqlServer.Replication
アセンブリ:  Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)

構文

'宣言
Public ReadOnly Property PublisherSecurity As ConnectionSecurityContext 
    Get
'使用
Dim instance As DistributionPublisher 
Dim value As ConnectionSecurityContext 

value = instance.PublisherSecurity
public ConnectionSecurityContext PublisherSecurity { get; }
public:
property ConnectionSecurityContext^ PublisherSecurity {
    ConnectionSecurityContext^ get ();
}
member PublisherSecurity : ConnectionSecurityContext
function get PublisherSecurity () : ConnectionSecurityContext

プロパティ値

型: Microsoft.SqlServer.Replication.ConnectionSecurityContext
パブリッシャーに接続するときにレプリケーション エージェントで使用されるセキュリティ コンテキストです。

説明

PublisherSecurity プロパティは、キュー更新サブスクリプションのあるトランザクション パブリケーションのパブリッシャーへの接続、または、SQL Server 以外のパブリッシャーとの接続のため、レプリケーション エージェントでのみ使用されます。

PublisherSecurity プロパティは読み取り専用です。 返された ConnectionSecurityContext オブジェクトのセキュリティ プロパティを設定し、Update を呼び出します。

PublisherSecurity プロパティを取得できるのは、ディストリビューター側の固定サーバー ロール sysadmin のメンバーだけです。

返された ConnectionSecurityContext オブジェクトのプロパティを設定できるのは、ディストリビューター側の固定サーバー ロール sysadmin のメンバーだけです。

PublisherSecurity プロパティを取得すると、sp_helpdistpublisher を実行したのと同じことになります。

返された ConnectionSecurityContext オブジェクトのプロパティを設定すると、sp_adddistpublisher または sp_changedistpublisher を実行したのと同じことになります。

使用例

         // 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();
            }
' Set the server and database names
Dim distributionDbName As String = "distribution"
Dim publisherName As String = publisherInstance
Dim publicationDbName As String = "AdventureWorks2012"

Dim distributionDb As DistributionDatabase
Dim distributor As ReplicationServer
Dim publisher As DistributionPublisher
Dim publicationDb As ReplicationDatabase

' Create a connection to the server using Windows Authentication.
Dim conn As ServerConnection = 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((CType(Nothing, String)), 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 ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("An error occured when installing distribution and publishing.", ex)

Finally
    conn.Disconnect()

End Try

関連項目

参照

DistributionPublisher クラス

Microsoft.SqlServer.Replication 名前空間