Udostępnij za pośrednictwem


Metoda TransPublication.ValidatePublication

Wywołuje sprawdzanie poprawności publikacja wewnętrznych dla wszystkich subskrypcji.

Przestrzeń nazw:  Microsoft.SqlServer.Replication
Zestaw:  Microsoft.SqlServer.Rmo (w Microsoft.SqlServer.Rmo.dll)

Składnia

'Deklaracja
Public Sub ValidatePublication ( _
    validationOption As ValidationOption, _
    validationMethod As ValidationMethod, _
    shutdownAgent As Boolean _
)
'Użycie
Dim instance As TransPublication
Dim validationOption As ValidationOption
Dim validationMethod As ValidationMethod
Dim shutdownAgent As Boolean

instance.ValidatePublication(validationOption, _
    validationMethod, shutdownAgent)
public void ValidatePublication(
    ValidationOption validationOption,
    ValidationMethod validationMethod,
    bool shutdownAgent
)
public:
void ValidatePublication(
    ValidationOption validationOption, 
    ValidationMethod validationMethod, 
    bool shutdownAgent
)
member ValidatePublication : 
        validationOption:ValidationOption * 
        validationMethod:ValidationMethod * 
        shutdownAgent:bool -> unit 
public function ValidatePublication(
    validationOption : ValidationOption, 
    validationMethod : ValidationMethod, 
    shutdownAgent : boolean
)

Parametry

  • shutdownAgent
    Typ: System.Boolean
    A Boolean wartości.Jeśli true, zamykanie agenta dystrybucji niedziałający natychmiast po sprawdzeniu poprawności.Jeśli false, Agent dystrybucji kontynuuje działanie.

Uwagi

Historia agenta jest wyświetlany w monitorze replikacji jest zapisywany wyniku sprawdzania poprawności.Aby uzyskać więcej informacji, zobacz temat Monitorowanie replikacji z monitorem replikacji.

ValidatePublication Metoda może być wywoływana tylko przez członków sysadmin roli serwera stałych w Wydawca lub przez członków db_owner stałej rola bazy danych w bazie danych publikacja.

Wywołanie ValidatePublication jest równoważne wykonywanie sp_publication_validation.

ValidatePublication Metoda jest dostępna dla wystąpienia SQL Server 2000 i SQL Server 2005.

Ten obszar nazw, klasy lub element członkowski jest obsługiwany tylko w wersja 2.0.NET Framework.

Przykłady

          // Define the server, database, and publication names
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2008R2";

            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 = "AdventureWorks2008R2"

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