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 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 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ş