Share via


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 replication topology.Bu yardımcı programı komut istemi satırından veya toplu iş dosyasında aşağıdaki görevleri gerçekleştirmek için 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 sayar ve şema karşılaştırarak gerçekleştirir.

  • Sütun - yapmakdüzey karşılaştırmalar.

  • Üretmek bir Transact-SQL komut dosyası kaynak ve hedef tablolara getirmek için hedef sunucuda tutarsızlıkları düzeltmek içinyakınsama.

  • sonuçlar bir çıktı dosyasına veya uygulamasına oturum bir tablo hedef veritabanında.

Sözdizimi

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.Belirtmek 'ınsource_server_name varsayılan örnek için SQL Server.Belirtmek source_server_name
    \**instance_name adlandırılmış örnek için SQL Server.

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

  • -sourcetablesource_table_name
    Kaynak tablo adı olup olmadığı denetleniyor.

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

  • -sourcepasswordsource_password
    Kaynak sunucu kullanarak bağlanmak için kullanılan oturum açma için parola SQL Server kimlik doğrulaması.

    Güvenlik notuGüvenlik Notu

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

  • -sourceusersource_login
    Kaynak sunucu kullanarak bağlanmak için kullanılan oturum olduğundan SQL Server kimlik doğrulaması.If source_login is not supplied, then Windows Authentication is used when connecting to the source server.Mümkünse Windows Kimlik Doğrulaması kullanın.

  • -sourcelocked
    Kaynak tablo tablock ve holdlock tablo ipuçlarını kullanarak Karşılaştırma sırasında kilitli.

  • -destinationserverdestination_server_name[**\instance_name]
    Hedef sunucu adıdır.Belirtmek 'ındestination_server_name varsayılan örnek için SQL Server.Belirtmek destination_server_name
    \**instance_name adlandırılmış örnek için SQL 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 olduğu varsayılır dbo.

  • -destinationpassworddestination_password
    Hedef sunucu kullanarak bağlanmak için kullanılan oturum açma için parola SQL Server kimlik doğrulaması.

    Güvenlik notuGüvenlik Notu

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

  • -destinationuserdestination_login
    Hedef sunucu kullanarak bağlanmak için kullanılan oturum olduğundan SQL Server kimlik doğrulaması.If destination_login is not supplied, then Windows Authentication is used when connecting to the server.Mümkünse Windows Kimlik Doğrulaması kullanın.

  • -destinationlocked
    Hedef Tablo tablock ve holdlock tablo ipuçlarını kullanarak Karşılaştırma sırasında kilitli.

  • -blarge_object_bytes
    İçeren büyük nesne veri türü sütunlarındaki için karşılaştırmak için bayt sayısını gösterir. text, ntext, image, varchar(max), nvarchar(max) and varbinary(max).large_object_bytes defaults to the size of the column.Yukarıdaki tüm verileri large_object_bytes karşılaştırıldığında.

  • -bf number_of_statements
    Sayısı Transact-SQL Geçerli yazma ifadelerini Transact-SQL komut dosyası -f seçeneği kullanılır.Zaman sayısı Transact-SQL aşan ifadeleri number_of_statements, yeni bir Transact-SQL komut dosyası oluşturuldu.

  • -c
    Sütun - karşılaştırmadüzey farklılıklar.

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

  • -ettable_name
    Sonuç adını belirtir tablo oluşturmak için.Bu tablo zaten varsa, dt - kullanılması gereken veya başarısız işlem olacaktır.

  • -f [ file_name ]
    Oluşturduğu bir Transact-SQL tablosunu hedef sunucu kaynak sunucu tablo yakınsama içine getirmek için komut dosyasıİsteğe bağlı olarak bir ad ve yol için oluşturulan belirtebileceğiniz Transact-SQL komut dosyası.If file_name is not specified, the Transact-SQL script file is generated in the directory where the utility runs.

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

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

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

  • -RI retry_interval
    Yeniden denemeler arasında beklenecek saniye, aralığı.

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

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

Dönüş Değeri

Değer

Açıklama

0

Başarı

1

Kritik hata

2

Tablo farklar

Açıklamalar

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

Tabloları ile sql_variant veri türü sütunlarındaki desteklenmiyor.

Varsayılan olarak, tablediff yardımcı programı aşağıdaki veri türü eşlemeleri kaynak ve hedef sütunlar arasındaki 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 -katı Bu eşlemeler izin vermeyecek ve sıkı doğrulama gerçekleştirmek için seçeneği.

Kaynak tablo Karşılaştırmada, en az bir birincil anahtar, kimlik veya ROWGUID sütunu içermesi gerekir.Kullandığınızda, -katı seçeneğini, hedef tablo de bir birincil anahtar, kimlik ya da ROWGUID sütunu olmalıdır.

The Transact-SQL script generated to bring the destination table 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 karşılaştırılan tablo nesneleri seçin tüm izinleri gerekir.

Kullanmak için -et seçeneği, üye olmalıdır db_owner sabit veritabanı rolü veya create table iznine sahip en az abonelik veritabanı ve hedef sunucu hedef sahibi şema üzerinde alter iznine

Kullanmak için dt - seçeneği, üye olmalıdır db_owner sabit veritabanı rolü, ya da en azından, hedef sunucu hedef sahibi şema üzerinde alter iznine sahip

Kullanmak için -o veya -f seçenekleri, belirtilen dosya dizin konumuna yazma izninizin olması gerekir.