Narzędzie tablediff

W tablediff Narzędzie jest używane do porównywania danych w dwóch tabelach wywołanie zbieżności i jest szczególnie przydatna do rozwiązywania problemów nie zbieżności w topologii replikacja .To narzędzie można wiersz polecenia lub w pliku partia można wykonywać następujące zadania:

  • Porównanie wiersz po wierszutabela źródłow wystąpienie Microsoft SQL Server działający jako replikacjaWydawca i obiekt docelowytabela na jeden lub więcej wystąpień SQL Server działający jako replikacja subskrybentów.

  • Wykonać szybkie porównanie porównując tylko liczby wierszy i schematu.

  • Wykonywanie kolumna-poziom porównań.

  • Generowanie Transact-SQL skrypt, aby rozwiązać niezgodności na serwerze obiekt docelowy do tabel źródło i obiekt docelowy do wywoływania zbieżności.

  • Rejestrowanie wyniki do pliku wyjściowego lub do tabela w obiekt docelowy bazie danych.

Składnia

tablediff 
[ -? ] | 
{
        -sourceserver source_server_name[\instance_name]
        -sourcedatabase source_database
        -sourcetable source_table_name 
    [ -sourceschema source_schema_name ]
    [ -sourcepassword source_password ]
    [ -sourceuser source_login ]
    [ -sourcelocked ]
        -destinationserver destination_server_name[\instance_name]
        -destinationdatabase subscription_database 
        -destinationtable destination_table 
    [ -destinationschema destination_schema_name ]
    [ -destinationpassword destination_password ]
    [ -destinationuser destination_login ]
    [ -destinationlocked ]
    [ -b large_object_bytes ] 
    [ -bf number_of_statements ] 
    [ -c ] 
    [ -dt ] 
    [ -et table_name ] 
    [ -f [ file_name ] ] 
    [ -o output_file_name ] 
    [ -q ] 
    [ -rc number_of_retries ] 
    [ -ri retry_interval ] 
    [ -strict ]
    [ -t connection_timeouts ] 
}

Argumenty

  • [ -? ]
    Zwraca listę obsługiwanych parametrów.

  • -SerwerŹródłowysource_server_name[**\instance_name]
    Jest nazwą serwera źródło .Określ source_server_name wystąpienie domyślne SQL Server.Określsource_server_name
    \**instance_namenazwane wystąpienie z SQL Server.

  • -sourcedatabasesource_database
    Jest nazwą źródło bazy danych.

  • -elementu sourcetablesource_table_name
    Jest sprawdzana jest nazwatabela źródło.

  • -sourceschemasource_schema_name
    Właściciela schematutabela źródło. Domyślnie właścicielem tabela jest przyjmowany jako dbo.

  • -sourcepasswordsource_password
    Hasło logowania używane do łączenia z serwera źródło używany jest SQL Server uwierzytelniania.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    Jeśli to możliwe, dostarczyć poświadczenia zabezpieczeń, w czasie wykonywania.Jeśli poświadczenia muszą być przechowywane w pliku skryptu, należy zabezpieczyć plik, aby zapobiec nieautoryzowanemu dostępowi.

  • -użytkownik_źródłowysource_login
    Logowania używane do łączenia z serwera źródło używany jest SQL Server uwierzytelniania.Jeśli source_login nie jest podany, wówczas jest używane uwierzytelnianie systemu Windows przy łączeniu się z serwera źródło .Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.

  • -sourcelocked
    źródłotabela jest zablokowana podczas porównywania przy użyciu wskazówek tabela TABLOCK i HOLDLOCK.

  • -destinationserverdestination_server_name[**\instance_name]
    Jest nazwą serwera obiekt docelowy .Określ destination_server_name wystąpienie domyślne SQL Server.Określdestination_server_name
    \**instance_namenazwane wystąpienie z SQL Server.

  • -destinationdatabasesubscription_database
    Jest to nazwa obiekt docelowy bazy danych.

  • -destinationtabledestination_table
    Jest to nazwa obiekt docelowy tabela.

  • -destinationschemadestination_schema_name
    Właściciela schematutabela obiekt docelowy. Domyślnie właścicielem tabela jest przyjmowany jako dbo.

  • -destinationpassworddestination_password
    Hasło logowania używany do łączenia przy użyciu serwera obiekt docelowy jest SQL Server uwierzytelniania.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    Jeśli to możliwe, dostarczyć poświadczenia zabezpieczeń, w czasie wykonywania.Jeśli poświadczenia muszą być przechowywane w pliku skryptu, należy zabezpieczyć plik, aby zapobiec nieautoryzowanemu dostępowi.

  • -użytkownik_docelowydestination_login
    Logowania używany do łączenia przy użyciu serwera obiekt docelowy jest SQL Server uwierzytelniania.Jeśli destination_login nie jest podany, wówczas jest używane uwierzytelnianie systemu Windows przy łączeniu się z serwerem.Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.

  • -destinationlocked
    tabela obiekt docelowyjest zablokowana podczas porównywania przy użyciu wskazówek tabela TABLOCK i HOLDLOCK.

  • -blarge_object_bytes
    Jest liczbą bajtów do porównania dla kolumn typu danych dużego obiektu, który zawiera: text, ntext, image, varchar(max), nvarchar(max) and varbinary(max).large_object_bytesDomyślnie rozmiar kolumna.Wszystkie powyższe dane large_object_bytes nie powinny być porównywane.

  • -bf number_of_statements
    Jest to liczba Transact-SQL instrukcji, aby zapisać bieżące Transact-SQL pliku skryptu, kiedy -f opcja jest używana.Gdy liczba Transact-SQL przekracza sprawozdania number_of_statements, nowy Transact-SQL tworzony jest plik skryptu.

  • -c
    Porównaj kolumna- różnic wpoziom .

  • -dt
    Usunąć wynik tabela określonej przez table_name, jeśli tabela już istnieje.

  • -ettable_name
    Określa nazwę wynik tabela , aby utworzyć.Jeśli ta tabela już istnieje, -DT muszą być używane lub operacja nie powiedzie się.

  • -f [ file_name ]
    Generuje Transact-SQL skrypt do tabela na serwerze obiekt docelowy do zbieżności z tabela na serwerze źródło .Opcjonalnie można określić nazwę i ścieżka dla wygenerowanej Transact-SQL pliku skryptu.Jeśli file_name nie jest określony, Transact-SQL wygenerowany plik skryptu w katalogu gdzie uruchamia narzędzie.

  • -ooutput_file_name
    Jest pełną nazwę i ścieżka pliku wyjściowego.

  • -q
    Wykonać szybkie porównanie porównując tylko liczby wierszy i schematu.

  • -rcnumber_of_retries
    Liczba przypadków, że narzędzie ponawia próbę operacji nie powiodło się.

  • -ri retry_interval
    Interwał w sekundach oczekiwania między kolejnymi.

  • -ścisłe
    Schemat źródłowe i obiekt docelowy ściśle są porównywane.

  • -tconnection_timeouts
    Ustawia limit czasu połączenia w sekundach dla połączeń do serwera źródło i obiekt docelowy serwera.

Wartość zwracana

Wartość

Opis

0

SUKCES

1

Błąd krytyczny

2

Różnice w tabeli

Uwagi

W tablediff Narzędzie nie można korzystać z innych niż-SQL Server serwerów.

Tabele z sql_variant kolumny Typ danych nie są obsługiwane.

Domyślnie tablediff narzędzie obsługuje następujące mapowania typu danych między kolumnami źródło i obiekt docelowy .

Typ źródła danych

Typ danych docelowego

tinyint

smallint, int lub bigint

smallint

int lub bigint

int

bigint

timestamp

varbinary

varchar(max)

text

nvarchar(max)

ntext

varbinary(max)

image

text

varchar(max)

ntext

nvarchar(max)

image

varbinary(max)

Użyj -ścisłe opcję Nie zezwalaj na tych mapowań i sprawdzenia poprawności ścisłych.

źródłotabela do porównania musi zawierać co najmniej jeden kluczpodstawowy, tożsamości lub kolumnaROWGUID. Kiedy używać -ścisłe opcja, również musi mieć obiekt docelowy tabela kluczpodstawowego, tożsamości lub kolumnaROWGUID.

Transact-SQL Skrypt generowane w celu obiekt docelowytabela do zbieżności nie obejmuje następujące typy danych:

  • varchar(max)

  • nvarchar(max)

  • varbinary(max)

  • timestamp

  • xml

  • text

  • ntext

  • image

Uprawnienia

Porównywanie tabel, należy ZAZNACZYĆ wszystkie uprawnienia do obiektów tabela , są porównywane.

Aby użyć -et opcja, musi być element członkowski db_owner Stała rola bazy danychlub przynajmniej mieć uprawnienia CREATE TABLE w bazie danych subskrypcja i ZMIEŃ na schemat obiekt docelowy właściciela na serwerze obiekt docelowy .

Aby użyć -dt opcja, musi być element członkowski db_owner Stała rola bazy danychlub przynajmniej uprawnień ZMIEŃ schemat obiekt docelowy właściciela na serwerze obiekt docelowy .

Aby użyć -o lub -f Opcje, musi mieć uprawnienia zapisu lokalizacji katalogu określonego pliku.