Aracılığıyla paylaş


tablediff yardımcı programı

tablediffYarar yakınsaması için iki tablodaki verileri karşılaştırmak için kullanılır ve yakınsaması çoğaltma topolojisinde sorun giderme için yararlıdır. Bu yardımcı program aşağıdaki görevleri gerçekleştirmek için komut isteminde veya bir toplu iş dosyasında kullanılabilir:

  • Kaynak tablo örneği arasında bir satır ile karşılaştırma Microsoft  SQL Serverçoğaltma Publisher ve hedef tabloya bir veya daha fazla örnekleri gören SQL Serverçoğaltma aboneleri davranan.

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

  • Sütun düzeyinde karşılaştırmaları gerçekleştirin.

  • Generate a Transact-SQLkaynak ve hedef tabloları yakınsama getirmek için hedef sunucuda tutarsızlıkları düzeltmek için komut dosyası.

  • Sonuçları bir çıktı dosyasına veya hedef veritabanındaki bir tabloya oturum.

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 source_server_namevarsayılan örneği için SQL Server. Belirtmek source_server_name
    \**instance_name adlandırılmış bir örneği için SQL Server.

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

  • -sourcetablesource_table_name
    Kaynak tablo adını kontrol edilir.

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

  • -sourcepasswordsource_password
    Kullanarak kaynak sunucuya bağlanmak için kullanılan oturum açma parolası SQL Serverkimlik. 

    Güvenlik notuGüvenlik Notu

    Ne zaman mümkün, tedarik güvenliği, çalışma zamanında kimlik bilgileri. Bir komut dosyasında kimlik bilgileri saklamanız gerekir, yetkisiz erişimi önlemek için dosyayı güvenlik altına almalısınız.

  • -sourceusersource_login
    Olduğunu kullanarak kaynak sunucuya bağlanmak için kullanılan oturum açma SQL Serverkimlik. Eğer source_loginkaynak sunucuya bağlanırken Windows kimlik doğrulaması kullanılır, sağlanmayan. 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 destination_server_namevarsayılan örneği için SQL Server. Belirtmek destination_server_name
    \**instance_name adlandırılmış bir örneği için SQL Server.

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

  • -destinationtabledestination_table
    Hedef tablonun adıdır.

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

  • -destinationpassworddestination_password
    Kullanan hedef sunucuya bağlanmak için kullanılan oturum açma parolası SQL Serverkimlik. 

    Güvenlik notuGüvenlik Notu

    Ne zaman mümkün, tedarik güvenliği, çalışma zamanında kimlik bilgileri. Bir komut dosyasında kimlik bilgileri saklamanız gerekir, yetkisiz erişimi önlemek için dosyayı güvenlik altına almalısınız.

  • -destinationuserdestination_login
    Olan kullanan hedef sunucuya bağlanmak için kullanılan oturum açma SQL Serverkimlik. Eğer destination_loginsunucuya bağlanırken Windows kimlik doğrulaması kullanılır, sağlanmayan. 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ütun için karşılaştırmak için bayt sayısıdır: text, ntext, image, varchar(max), nvarchar(max)ve varbinary(max). large_object_bytesVarsayılan sütun boyutu. Yukarıdaki veriler large_object_byteskarşılaştırıldığında.

  • -bf number_of_statements
    Sayısı Transact-SQLgeçerli yazmak için ifadeleri Transact-SQLkomut dosyası ne zaman -fseçeneği kullanılır. Ne zaman sayısını Transact-SQLaşan ifadeler number_of_statements, yeni Transact-SQLkomut dosyası oluşturuldu.

  • -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 zaten varsa, -DTkullanılması gerekir veya başarısız işlem olacak.

  • -f [ file_name ]
    Oluşturduğu bir Transact-SQLtabloyu hedef sunucuda kaynak sunucuda tablo yakınsama getirmek için komut dosyası. İsteğe bağlı olarak bir adı ve yolu için oluşturulan belirtebilirsiniz Transact-SQLkomut dosyası. Eğer file_namebelirtilmemiş, Transact-SQLkomut dosyası burada yardımcı programını çalıştırır dizinde oluşturulur.

  • -ooutput_file_name
    Tam adı ve çıktı dosyasının yol olduğunu.

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

  • -rcnumber_of_retries
    Kaç kez yardımcı programı başarısız bir işlemi yeniden dener.

  • -ri retry_interval
    Denemeler arasında beklenecek saniye, aralığı.

  • -strict
    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

tablediffProgramı ile olmayan kullanılamaz- SQL Server sunucular.

Tablolar ile sql_variantveri türü sütunlarındaki desteklenmiyor.

Varsayılan olarak, tablediffyardımcı programını destekler aşağıdaki veri türü eşlemeleri kaynak ve hedef sütunlar arasındaki.

Kaynak veri türü

Hedef veri türü

tinyint

smallint, int, or 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)

Kullanım -strictBu eşlemeler izin vermeyecek ve sıkı 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çermelidir. Kullandığınızda -strictseçeneği, hedef tablo Ayrıca bir birincil anahtarı, kimlik ya da ROWGUID sütunu olmalıdır.

Transact-SQLHedef tablo yakınsama getirmek için oluşturulan komut dosyasını aşağıdaki veri türleri dahil değildir:

  • varchar(max)

  • nvarchar(max)

  • varbinary(max)

  • timestamp

  • xml

  • text

  • ntext

  • image

İzinler

Tabloları karşılaştırmak için select all karşılaştırılan tablo nesneleri izinleri gerekir.

Kullanmak için -etseçeneği, bir üyesi olmalıdır db_ownersabit veritabanı rolü veya en azından abonelik veritabanında create table izni ve alter izni hedef sahibi şema hedef sunucuda var.

Kullanmak için -dtseçeneği, bir üyesi olmalıdır db_ownersabit veritabanı rolü veya en azından hedef sunucuda hedef sahibi şema alter izninizin olması.

Kullanmak için -oveya -fseçenekleri, belirtilen dosya dizini konuma yazma izinleriniz olmalıdır.

Ayrıca bkz.

Görevler

Karşılaştır tablolar farkları (çoğaltma programlama) yinelenmiş