Share via


DistributionPublisher.PublisherSecurity Propiedad

Definición

Obtiene el contexto de seguridad utilizado por el agente de replicación para la conexión al publicador.

public:
 property Microsoft::SqlServer::Replication::ConnectionSecurityContext ^ PublisherSecurity { Microsoft::SqlServer::Replication::ConnectionSecurityContext ^ get(); };
public Microsoft.SqlServer.Replication.ConnectionSecurityContext PublisherSecurity { get; }
member this.PublisherSecurity : Microsoft.SqlServer.Replication.ConnectionSecurityContext
Public ReadOnly Property PublisherSecurity As ConnectionSecurityContext

Valor de propiedad

Contexto de seguridad usado por el agente de replicación cuando se conecta al publicador.

Ejemplos

// 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

Comentarios

Los agentes de replicación solo usan la PublisherSecurity propiedad para conectarse al publicador para publicaciones transaccionales con suscripciones de actualización en cola o con un publicador que no sea SQL Server.

La propiedad PublisherSecurity es de sólo lectura. Establezca las propiedades de seguridad del objeto devuelto ConnectionSecurityContext y, a continuación, llame a Update.

Los PublisherSecurity miembros del rol fijo de servidor en el distribuidor solo pueden recuperar la sysadmin propiedad .

Los miembros del rol fijo de servidor en el sysadmin distribuidor solo pueden establecer las propiedades del objeto devueltoConnectionSecurityContext.

Recuperar la PublisherSecurity propiedad equivale a ejecutar sp_helpdistpublisher.

Establecer las propiedades del objeto devuelto ConnectionSecurityContext equivale a ejecutar sp_adddistpublisher o sp_changedistpublisher.

Se aplica a