Aracılığıyla paylaş


tablediff yardımcı programı

The tablediff utility is used to compare the data in two tables for non-convergence, and is particularly useful for troubleshooting non-convergence in a çoğaltma topology.Bu yardımcı programı aşağıdaki görevleri gerçekleştirmek için komut istemi satırından veya bir toplu iş dosyasında kullanılabilir:

  • A row by row comparison between a source table in an instance of Microsoft SQL Server acting as a replication Publisher and the destination table at one or more instances of SQL Server acting as replication Subscribers.

  • Hızlı karşılaştırma, yalnızca satır sayıları ve şema karşılaştırarak gerçekleştirir.

  • Sütun düzeyinde karşılaştırmaları yapın.

  • Oluşturan bir Transact-SQL Kaynak ve hedef tablo yakınsama getirmek için hedef sunucuda tutarsızlıkları düzeltmek için komut dosyası.

  • sonuçlar bir çıktı dosyası veya Hedef veritabanındaki bir tabloya günlüğe yazılır.

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 ] 
}

Bağımsız değişkenler

  • [ -? ]
    Desteklenen parametreler listesini döndürür.

  • -sourceserversource_server_name[**\instance_name]
    Kaynak sunucu adıdır.Belirtin source_server_name Varsayılan örnek için SQL Server. Belirtin source_server_name
    \**instance_name adlı örnek içinSQL Server.

  • -sourcedatabasesource_database
    kaynak veritabanı adıdır.

  • -sourcetablesource_table_name
    Kaynak tablo adını yeniden denetleniyor.

  • -sourceschemasource_schema_name
    Kaynak tablo şema sahibi.Varsayılan olarak, tablo sahibi dbo olduğu varsayılır.

  • -sourcepasswordsource_password
    Oturum açma için parola kaynak sunucusu kullanarak bağlanmak için kullanılır SQL Server kimlik doğrulaması.

    Security noteSecurity Note:

    Çalışma zamanında, olası, sağlar güvenlik kimlik bilgileri.kimlik bilgileri bilgilerini bir komut dosyasında depolamak, yetkisiz erişimi engellemek için bu dosyayı güvenlik altına almalısınız.

  • -sourceusersource_login
    Oturum açma, kaynak sunucusu kullanarak bağlanmak için kullanılır SQL Server kimlik doğrulaması. If source_login sonra kaynak sunucuya bağlanırken Windows kimlik doğrulaması kullanılan, verilen değil. When possible, use Windows Authentication.

  • -sourcelocked
    Karşılaştırma sırasında TABLOCK ve HOLDLOCK tablo ipuçlarını kullanarak, kaynak tablo kilitli.

  • -destinationserverdestination_server_name[**\instance_name]
    Hedef sunucu adıdır.Belirtin destination_server_name Varsayılan örnek için SQL Server. Belirtin destination_server_name
    \**instance_name adlı örnek içinSQL Server.

  • -destinationdatabasesubscription_database
    Hedef veritabanının adıdır.

  • -destinationtabledestination_table
    Hedef adı tablo.

  • -destinationschemadestination_schema_name
    Hedef tablo şema sahibi.Varsayılan olarak, tablo sahibi dbo olduğu varsayılır.

  • -destinationpassworddestination_password
    Oturum açma için parola, hedef sunucu kullanarak bağlanmak için kullanılır SQL Server kimlik doğrulaması.

    Security noteSecurity Note:

    Çalışma zamanında, olası, sağlar güvenlik kimlik bilgileri.kimlik bilgileri bilgilerini bir komut dosyasında depolamak, yetkisiz erişimi engellemek için bu dosyayı güvenlik altına almalısınız.

  • -destinationuserdestination_login
    Oturum açma, hedef sunucu kullanarak bağlanmak için kullanılır SQL Server kimlik doğrulaması. If destination_login sunucuya bağlanırken Windows kimlik doğrulaması kullanılan sonra verilen değil. When possible, use Windows Authentication.

  • -destinationlocked
    Hedef Tablo TABLOCK ve HOLDLOCK tablo ipuçlarını kullanarak bir Karşılaştırma sırasında kilitlendi.

  • -blarge_object_bytes
    Içeren büyük nesne veri türü sütunlarındaki için Karşılaştırılacak bayt sayısıdır: text, ntext, image, varchar(max), nvarchar(max) and varbinary(max).large_object_bytes defaults to the size of the column.Yukarıdaki veri large_object_bytes Karşılaştırılacak değil.

  • -bf number_of_statements
    Sayısı Transact-SQL Geçerli yazmak için ifadeleri Transact-SQL komut dosyası zaman -f seçeneği kullanılır.Zaman sayısı Transact-SQL ifadeleri aşıyor. number_of_statements, yeni Transact-SQL komut dosyası oluşturulur.

  • -c
    Sütun düzeyinde farkları karşılaştırın.

  • -dt
    Belirtilen sonuç tabloyu bırak table_name, tablo önceden varsa.

  • -ettable_name
    Oluşturmak için sonuç tablosunun adını belirtir.Bu tablo önceden varsa, -dt kullanılması gerekir veya işlem başarısız olur.

  • -f [ file_name ]
    Oluşturduğu bir Transact-SQL tablonun içine tablo kaynak sunucuda yakınsama hedef sunucuda duruma getirmek için komut dosyası. Isteğe bağlı olarak bir ad ve yol için oluşturulan belirtebilirsiniz Transact-SQL komut dosyası'nı tıklatın. If file_name belirtilmemiş, Transact-SQL komut dosyası, burada yardımcı programının çalışma dizininde oluşturulur.

  • -ooutput_file_name
    Tam adı ve çıktı dosyasının yol adıdır.

  • -q
    Hızlı karşılaştırma, yalnızca satır sayıları ve şema karşılaştırarak gerçekleştirir.

  • -rcnumber_of_retries
    Sayısı yardımcı programı bir başarısız işlem yeniden dener.

  • -ri retry_interval
    Yeniden denemeler arasında beklenecek saniye cinsinden aralık.

  • -kesin
    Kaynak ve hedef şema kesinlikle karşılaştırılır.

  • -tconnection_timeouts
    Bağlantı zaman aşımı süresini, bağlantılar kaynak sunucunun ve hedef sunucu için saniye cinsinden ayarlar.

Return Value

Değer

Açıklama

0

Başarılı

1

Önemli hata

2

Tablo farklılıkları

Remarks

The tablediff utility cannot be used with non-SQL Server servers.

Tablolar sql_variant veri türü sütunlarındaki desteklenmez.

Varsayılan olarak, tablediff yardımcı programı, kaynak ve hedef sütunlar arasında aşağıdaki veri türü eşlemeler destekler.

Kaynak veri türü

Hedef veri türü

tinyint

smallint, int veya bigint

smallint

int veya bigint

int

bigint

timestamp

varbinary

varchar(max)

text

nvarchar(max)

ntext

varbinary(max)

image

text

varchar(max)

ntext

nvarchar(max)

image

varbinary(max)

Use -kesinBu eşlemeler izin verme ve katı bir doğrulama gerçekleştirmek için seçeneği.

Karşılaştırma kaynak tablosunda en az bir birincil anahtar, kimlik veya ROWGUID sütun içermeli.Kullandığınızda -kesin seçeneği, hedef tablo, bir birincil anahtar, kimlik veya ROWGUID sütun da olması gerekir.

The Transact-SQL script generated to bring the hedef tablo into convergence does not include the following data types:

  • varchar(max)

  • nvarchar(max)

  • varbinary(max)

  • timestamp

  • xml

  • text

  • ntext

  • image

İzinler

Tabloları karşılaştırmak için , tablo nesnelerde karşılaştırılan SELECT ALL izinlere sahip olmanız gerekir.

Kullanılacak -et seçeneği, the db_owner üyesi olmalıdır sabit veritabanı rolü, veya en az Abonelik veritabanında CREATE tablo iznine ve ALTER iznine sahip hedef şema hedef sunucuda.

Kullanılacak -dt seçeneği, sabit db_owner üyesi olmanız gerekir rolünü veritabanı veya ALTER iznine sahip hedef şema hedef sunucuda en az olması.

Kullanılacak -o or -f seçenekler, belirtilen dosya dizinini konuma yazma izinlerine sahip olmanız gerekir.