sp_table_validation (języka Transact-SQL)

Zwraca informacje rowcount lub suma kontrolna w tabela lub indeksowany widok lub porównuje dostarczone informacje rowcount lub suma kontrolna z określonej tabela lub indeksowany widok.Ta procedura składowana jest wykonywany przez wydawcę na bazie publikacja i subskrybent na baza danych subskrypcja.Nieobsługiwane dla wydawców Oracle.

Ikona łącza do tematuKonwencje składni Transact-SQL

Składnia

sp_table_validation [ @table = ] 'table'
    [ , [ @expected_rowcount = ] type_of_check_requested OUTPUT]
    [ , [ @expected_checksum = ] expected_checksum OUTPUT]
    [ , [ @rowcount_only = ] rowcount_only ]
    [ , [ @owner = ] 'owner' ]
    [ , [ @full_or_fast = ] full_or_fast ]
    [ , [ @shutdown_agent = ] shutdown_agent ]
    [ , [ @table_name = ] table_name ]
    [ , [ @column_list = ] 'column_list' ]

Argumenty

  • [ @ tabela = 'tabela"
    Is the name of the table.table is sysname, with no default.

  • [ @ expected_rowcount = expected_rowcountdanych wyjściowych
    Specifies whether to return the expected number of rows in the table.expected_rowcount is int, with a default of NULL.Jeśli wartość NULL, rowcount rzeczywiste są zwracane jako parametr wyjściowy.Jeśli podano wartość tej wartości jest sprawdzana względem rzeczywistej rowcount do identyfikowania wszelkich różnic.

  • [ @ expected_checksum = expected_checksumdanych wyjściowych
    Specifies whether to return the expected checksum for the table.expected_checksum is numeric, with a default of NULL.Jeśli wartość NULL, rzeczywistej suma kontrolna są zwracane jako parametr wyjściowy.Jeśli podano wartość tej wartości jest sprawdzana względem rzeczywistej suma kontrolna do identyfikowania wszelkich różnic.

  • [ @ rowcount_only = type_of_check_requested
    Specifies what type of checksum or rowcount to perform.type_of_check_requested is smallint, with a default of 1.

    If 0, perform a rowcount and a Microsoft SQL Server 7.0-compatible checksum.

    Jeśli 1, wykonywać tylko sprawdzanie rowcount.

    Jeśli 2, wykonać rowcount i binary suma kontrolna.

  • [ @ właściciela = 'właściciela"
    Is the name of the owner of the table.owner is sysname, with a default of NULL.

  • [ @ full_or_fast = full_or_fast
    Is the method used to calculate the rowcount.full_or_fast is tinyint, with a default of 2, and can be one of these values.

    Wartość

    Opis

    0

    Pełna liczba przy użyciu COUNT(*).

    1

    Szybkie zliczania z sysindexes.rows.Liczenie wierszy sysindexes jest znacznie szybsze niż liczenie wierszy w tabela rzeczywiste.Jednak ponieważ sysindexes lazily jest aktualizowane, rowcount mogą być niedokładne.

    2 (domyślnie)

    Wykonuje warunkowe fast zliczania przez pierwszą próbą szybka metoda.Szybka metoda przedstawiono różnice, zostanie przywrócona pełna metody.Jeśli expected_rowcount jest równa NULL i procedura składowana jest używany do uzyskiwania wartości, pełna COUNT(*) jest zawsze używany.

  • [ @ shutdown_agent = shutdown_agent
    If the Distribution Agent is executing sp_table_validation, specifies whether the Distribution Agent should shut down immediately upon completion of the validation.shutdown_agent is bit, with a default of 0.Jeśli 0, agent replikacja nie zamykanie niedziałający.Jeśli 1, spowodował błąd 20578 i agent replikacja jest sygnalizowane do zamknięcia niedziałający.Ten parametr jest ignorowany podczas sp_table_validation jest wykonywane bezpośrednio przez użytkownika.

  • [ @ nazwa_tabeli = nazwa_tabeli
    Is the table name of the view used for output messages.table_name is sysname, with a default of @table.

  • [ @ column_list=] 'column_list"
    Is the list of columns that should be used in the checksum function.column_list is nvarchar(4000), with a default of NULL.Umożliwia sprawdzanie poprawności artykułów korespondencji seryjnej do określenia wyklucza obliczone lista kolumn i kolumna sygnatury czasowej.

Wartości kodów powrotnych

Wykonuje sprawdzanie poprawności sumy kontrolnej i Oczekiwana suma kontrolna równa sumy kontrolnej w tabeli, sp_table_validation zwraca komunikat, że tabela przekazywane sprawdzania sum kontrolnych.W przeciwnym wypadku zwraca komunikat, że tabela może być zsynchronizowane i raporty różnica oczekiwaną i rzeczywista liczba wierszy.

Jeśli sprawdzanie poprawności rowcount i oczekiwana liczba wierszy równa liczbie w tabeli, sp_table_validation zwraca komunikat, że tabela przekazywane rowcount sprawdzania poprawności.W przeciwnym wypadku zwraca komunikat, że tabela może być zsynchronizowane i raporty różnica oczekiwaną i rzeczywista liczba wierszy.

Uwagi

sp_table_validation is used in all types of replication.sp_table_validation is not supported for Oracle Publishers.

Sumę kontrolną oblicza wyboru 32-bitowe cyklicznej kontroli redundancji (CRC) na obraz całego wiersza strona.Nie sprawdza selektywnie kolumn, a nie może działać na widoku lub pionowy partycji tabela.Ponadto suma kontrolna pomija zawartość tekstu i obrazu kolumny (według projektów).

Dokonując suma kontrolna struktury tabela muszą być identyczne między dwoma serwerami; oznacza to, że tabele muszą być takie same kolumn istniejących w tej samej kolejności, ten sam typ danych i długości i tych samych warunkach NULL i NOT NULL.Na przykład jeśli Wydawca została CREATE tabela, następnie ALTER tabela, aby dodać kolumny, ale skrypt, stosowane przez subskrybenta jest proste Utwórz tabela, struktura nie jest tym samym.Jeśli nie masz pewność, że struktury tabel jest identyczne, spójrz na syscolumns i Potwierdź przesunięcie w każdej tabela jest taki sam.

Wartości zmiennoprzecinkowe prawdopodobnie może wygenerować suma kontrolna różnice, jeśli tryb znakowy bcp został użyty, co jest przypadek, jeśli publikacja nie-SQL Server abonentów.Podczas konwersji z trybu znak i są to z uwagi na różnice drobne i nieuniknione precyzji.

Uprawnienia

wykonać sp_table_validation, trzeba mieć uprawnienia SELECT na tabela sprawdzany.