Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
tablediff (Hilfsprogramm)
Mithilfe des Hilfsprogramms tablediff werden Daten in zwei Tabellen im Hinblick auf Nichtkonvergenz verglichen. Es ist besonders nützlich, um in einer Replikationstopologie Probleme im Zusammenhang mit Nichtkonvergenz zu behandeln. Dieses Hilfsprogramm kann an der Eingabeaufforderung oder in einer Batchdatei verwendet werden, um die folgenden Aufgaben auszuführen:
-
Zeilenweiser Vergleich einer Quelltabelle in einer Microsoft SQL Server-Instanz, die als Replikationsverleger agiert, mit der Zieltabelle in einer oder mehreren SQL Server-Instanzen, die als Replikationsabonnenten agieren.
-
Ausführen eines schnellen Vergleichs, indem nur Zeilenanzahl und Schema verglichen werden.
-
Ausführen spaltenweiser Vergleiche.
-
Generieren eines Transact-SQL-Skripts, um Abweichungen auf dem Zielserver zu beheben und auf diese Weise die Konvergenz von Quell- und Zieltabelle herzustellen.
-
Protokollieren von Ergebnissen in einer Ausgabedatei oder einer Tabelle in der Zieldatenbank.
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 ]
}
Das Hilfsprogramm tablediff kann für Server, auf denen SQL Server nicht installiert ist, nicht verwendet werden.
Tabellen, die Spalten des Datentyps sql_variant enthalten, werden nicht unterstützt.
Standardmäßig unterstützt das Hilfsprogramm tablediff die folgenden Datentypzuordnungen zwischen Quell- und Zielspalten.
|
Quelldatentyp |
Zieldatentyp |
|---|---|
|
tinyint |
smallint, int oder bigint |
|
smallint |
int - oder - bigint |
|
int |
bigint |
|
timestamp |
varbinary |
|
varchar(max) |
text |
|
nvarchar(max) |
ntext |
|
varbinary(max) |
image |
|
text |
varchar(max) |
|
ntext |
nvarchar(max) |
|
image |
varbinary(max) |
Verwenden Sie die Option -strict, wenn Sie diese Zuordnungen nicht zulassen und eine strenge Überprüfung durchführen möchten.
Die Quelltabelle bei dem Vergleich muss mindestens eine Primärschlüssel-, Identitäts- oder ROWGUID-Spalte enthalten. Wenn Sie die Option -strict verwenden, muss die Zieltabelle ebenfalls eine Primärschlüssel-, Identitäts- oder ROWGUID-Spalte enthalten.
Das Transact-SQL-Skript, das generiert wurde, um die Konvergenz der Zieltabelle herzustellen, enthält die folgenden Datentypen nicht:
-
varchar(max)
-
nvarchar(max)
-
varbinary(max)
-
timestamp
-
xml
-
text
-
ntext
-
image
Für den Vergleich von Tabellen benötigen Sie SELECT ALL-Berechtigungen für die zu vergleichenden Tabellenobjekte.
Damit Sie die Option -et verwenden können, müssen Sie ein Mitglied der festen Datenbankrolle db_owner sein oder zumindest über die CREATE TABLE-Berechtigung für die Abonnementdatenbank und die ALTER-Berechtigung für das Zielbesitzerschema auf dem Zielserver verfügen.
Damit Sie die Option -dt verwenden können, müssen Sie ein Mitglied der festen Datenbankrolle db_owner sein oder zumindest über die ALTER-Berechtigung für das Zielbesitzerschema auf dem Zielserver verfügen.
Damit Sie die Option -o oder -f verwenden können, müssen Sie über Schreibberechtigungen für das angegebene Dateiverzeichnis verfügen.
Sicherheitshinweis