TransPublication.ValidatePublication Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Appelle la validation de publication incluse pour tous les abonnements.
public:
void ValidatePublication(Microsoft::SqlServer::Replication::ValidationOption validationOption, Microsoft::SqlServer::Replication::ValidationMethod validationMethod, bool shutdownAgent);
public void ValidatePublication (Microsoft.SqlServer.Replication.ValidationOption validationOption, Microsoft.SqlServer.Replication.ValidationMethod validationMethod, bool shutdownAgent);
member this.ValidatePublication : Microsoft.SqlServer.Replication.ValidationOption * Microsoft.SqlServer.Replication.ValidationMethod * bool -> unit
Public Sub ValidatePublication (validationOption As ValidationOption, validationMethod As ValidationMethod, shutdownAgent As Boolean)
Paramètres
- validationOption
- ValidationOption
Valeur d'objet ValidationOption qui spécifie le type de validation qui est effectué.
- validationMethod
- ValidationMethod
Valeur d'objet ValidationMethod qui spécifie des options pour la validation du nombre de lignes.
- shutdownAgent
- Boolean
Valeur Boolean. Si la valeur est true
, l'Agent de distribution est arrêté immédiatement après la validation. Si la valeur est false
, l'Agent de distribution continue de s'exécuter.
Exemples
// Define the server, database, and publication names
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string publicationDbName = "AdventureWorks2012";
TransPublication publication;
// Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);
try
{
// Connect to the Publisher.
conn.Connect();
// Set the required properties for the publication.
publication = new TransPublication();
publication.ConnectionContext = conn;
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
// If we can't get the properties for this publication,
// throw an application exception.
if (publication.LoadProperties())
{
// Initiate validataion for all subscriptions to this publication.
publication.ValidatePublication(ValidationOption.RowCountOnly,
ValidationMethod.ConditionalFast, false);
// If not already running, start the Distribution Agent at each
// Subscriber to synchronize and validate the subscriptions.
}
else
{
throw new ApplicationException(String.Format(
"Settings could not be retrieved for the publication. " +
"Ensure that the publication {0} exists on {1}.",
publicationName, publisherName));
}
}
catch (Exception ex)
{
// Do error handling here.
throw new ApplicationException(
"Subscription validation could not be initiated.", ex);
}
finally
{
conn.Disconnect();
}
' Define the server, database, and publication names
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim publication As TransPublication
' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)
Try
' Connect to the Publisher.
conn.Connect()
' Set the required properties for the publication.
publication = New TransPublication()
publication.ConnectionContext = conn
publication.Name = publicationName
publication.DatabaseName = publicationDbName
' If we can't get the properties for this publication,
' throw an application exception.
If publication.LoadProperties() Then
' Initiate validataion for all subscriptions to this publication.
publication.ValidatePublication(ValidationOption.RowCountOnly, _
ValidationMethod.ConditionalFast, False)
' If not already running, start the Distribution Agent at each
' Subscriber to synchronize and validate the subscriptions.
Else
Throw New ApplicationException(String.Format( _
"Settings could not be retrieved for the publication. " + _
"Ensure that the publication {0} exists on {1}.", _
publicationName, publisherName))
End If
Catch ex As Exception
' Do error handling here.
Throw New ApplicationException( _
"Subscription validation could not be initiated.", ex)
Finally
conn.Disconnect()
End Try
Remarques
Le résultat de la validation est écrit dans l’historique de l’agent, qui est consulté à l’aide du Moniteur de réplication. Pour plus d'informations, voir Monitoring Replication.
La ValidatePublication méthode ne peut être appelée que par les membres du sysadmin
rôle serveur fixe sur le serveur fixe sur le serveur de publication ou par les membres du rôle de base de db_owner
données fixe sur la base de données de publication.
L’appel ValidatePublication équivaut à exécuter sp_publication_validation.