Bagikan melalui


Agen Distribusi Replikasi

Agen Distribusi Replikasi adalah agen yang dapat dieksekusi yang memindahkan snapshot (untuk replikasi snapshot dan replikasi transaksional) dan transaksi yang disimpan dalam tabel database distribusi (untuk replikasi transaksional) ke tabel tujuan di Pelanggan.

Catatan

Parameter dapat ditentukan dalam urutan apa pun. Ketika parameter opsional tidak ditentukan, nilai dari pengaturan registri yang telah ditentukan sebelumnya pada komputer lokal digunakan.

Sintaks

  
      distrib [-?]  
-Publisherserver_name[\instance_name]  
-PublisherDBpublisher_database-Subscriberserver_name[\instance_name]  
-SubscriberDBsubscriber_database   
[-AltSnapshotFolderalt_snapshot_folder_path]   
[-BcpBatchSizebcp_batch_size]  
[-CommitBatchSizecommit_batch_size]  
[-CommitBatchThresholdcommit_batch_threshold]  
[-Continuous]  
[-DefinitionFiledef_path_and_file_name]  
[-Distributordistributor]  
[-DistributorLogindistributor_login]  
[-DistributorPassworddistributor_password]  
[-DistributorSecurityMode [0|1]]  
[-EncryptionLevel [0|1|2]]  
[-ErrorFileerror_path_and_file_name]  
[-ExtendedEventConfigFileconfiguration_path_and_file_name]  
[-FileTransferType [0|1]]  
[-FtpAddressftp_address]  
[-FtpPasswordftp_password]   
[-FtpPortftp_port]  
[-FtpUserNameftp_user_name]  
[-HistoryVerboseLevel [0|1|2|3]]  
[-Hostnamehost_name]  
[-KeepAliveMessageIntervalkeep_alive_message_interval_seconds]  
[-LoginTimeOutlogin_time_out_seconds]  
[-MaxBcpThreads]  
[-MaxDeliveredTransactionsnumber_of_transactions]  
[-MessageIntervalmessage_interval]  
[-OledbStreamThresholdoledb_stream_threshold]  
[-Outputoutput_path_and_file_name]  
[-OutputVerboseLevel [0|1|2]]  
[-PacketSizepacket_size]  
[-PollingIntervalpolling_interval]  
[-ProfileNameprofile_name]  
[-Publicationpublication]  
[-QueryTimeOutquery_time_out_seconds]  
[-QuotedIdentifierquoted_identifier]  
[-SkipErrorsnative_error_id [:...n]]  
[-SubscriberDatabasePathsubscriber_path]  
[-SubscriberLoginsubscriber_login]  
[-SubscriberPasswordsubscriber_password]  
[-SubscriberSecurityMode [0|1]]  
[-SubscriberType [0|1|3]]  
[-SubscriptionStreams [1|2|...64]]  
[-SubscriptionTableNamesubscription_table]  
[-SubscriptionType [0|1|2]]  
[-TransactionsPerHistory [0|1|...10000]]  
[-UseDTS]  
[-UseInprocLoader]  
[-UseOledbStreaming]  

Argumen

-?
Mencetak semua parameter yang tersedia.

-Publisher server_name[\instance_name]
Adalah nama Penerbit. Tentukan server_name untuk instans default Microsoft SQL Server di server tersebut. Tentukan instance_name server_name\ untuk instans SQL Server bernama di server tersebut.

-PublisherDB publisher_database
Adalah nama database Publisher.

-Subscriber server_name[\instance_name]
Adalah nama Pelanggan. Tentukan server_name untuk instans default SQL Server di server tersebut. Tentukan instance_name server_name\ untuk instans SQL Server bernama di server tersebut.

-SubscriberDB subscriber_database
Adalah nama database Pelanggan.

-AltSnapshotFolder alt_snapshot_folder_path
Adalah jalur ke folder yang berisi rekam jepret awal untuk langganan.

-BcpBatchSize bcp_batch_size
Adalah jumlah baris yang akan dikirim dalam operasi penyalinan massal. Saat melakukan operasi bcp , ukuran batch adalah jumlah baris yang akan dikirim ke server sebagai satu transaksi, dan juga jumlah baris yang harus dikirim sebelum Agen Distribusi mencatat pesan kemajuan bcp . Saat melakukan operasi bcp out , ukuran batch tetap 1000 digunakan.

-CommitBatchSize commit_batch_size
Adalah jumlah transaksi yang akan dikeluarkan kepada Pelanggan sebelum pernyataan COMMIT diterbitkan. Nilai defaultnya adalah 100.

-CommitBatchThreshold commit_batch_threshold
Adalah jumlah perintah replikasi yang akan dikeluarkan kepada Pelanggan sebelum pernyataan COMMIT dikeluarkan. Defaultnya adalah 1000.

-Terus-menerus
Menentukan apakah agen terus mencoba melakukan polling transaksi yang direplikasi. Jika ditentukan, agen melakukan polling transaksi yang direplikasi dari sumber pada interval polling, bahkan jika tidak ada transaksi yang tertunda.

-DefinitionFile def_path_and_file_name
Adalah jalur file definisi agen. File definisi agen berisi argumen prompt perintah untuk agen. Konten file diurai sebagai file yang dapat dieksekusi. Gunakan tanda kutip ganda (") untuk menentukan nilai argumen yang berisi karakter arbitrer.

-Distributor distributor
Adalah nama Distributor. Untuk distribusi Distributor (pendorongan), nama default ke nama Distributor lokal.

-DistributorLogin distributor_login
Adalah nama login Distributor.

-DistributorPassword distributor_password
Adalah kata sandi Distributor.

-DistributorSecurityMode [ 0| 1]
Menentukan mode keamanan Distributor. Nilai 0 menunjukkan Mode Autentikasi SQL Server, dan nilai 1 menunjukkan Mode Autentikasi Windows (default).

-EncryptionLevel [ 0 | 1 | 2 ]
Adalah tingkat enkripsi Secure Sockets Layer (SSL) yang digunakan oleh Agen Distribusi saat membuat koneksi.

Nilai EncryptionLevel Deskripsi
0 Menentukan bahwa SSL tidak digunakan.
1 Menentukan bahwa SSL digunakan, tetapi agen tidak memverifikasi bahwa sertifikat server SSL ditandatangani oleh penerbit tepercaya.
2 Menentukan bahwa SSL digunakan, dan bahwa sertifikat diverifikasi.

Catatan

Sertifikat SSL yang valid ditentukan dengan nama domain SQL Server yang sepenuhnya memenuhi syarat. Agar agen berhasil tersambung saat mengatur -EncryptionLevel ke 2, buat alias di SQL Server lokal. Parameter 'Nama Alias' harus berupa nama server dan parameter 'Server' harus diatur ke nama SQL Server yang sepenuhnya memenuhi syarat.

Untuk informasi selengkapnya, lihat Keamanan Replikasi SQL Server.

-ErrorFile error_path_and_file_name
Adalah jalur dan nama file file kesalahan yang dihasilkan oleh Agen Distribusi. File ini dihasilkan kapan saja di mana kegagalan terjadi saat menerapkan transaksi replikasi pada Pelanggan; kesalahan yang terjadi di Penerbit atau Distributor tidak dicatat dalam file ini. File ini berisi transaksi replikasi yang gagal dan pesan kesalahan terkait. Ketika tidak ditentukan, file kesalahan dihasilkan di direktori Agen Distribusi saat ini. Nama file kesalahan adalah nama Agen Distribusi dengan ekstensi .err. Jika nama file yang ditentukan ada, pesan kesalahan ditambahkan ke file. Parameter ini bisa maksimal 256 karakter Unicode.

-ExtendedEventConfigFile configuration_path_and_file_name
Menentukan jalur dan nama file untuk file konfigurasi XML peristiwa yang diperluas. File konfigurasi peristiwa yang diperluas memungkinkan Anda mengonfigurasi sesi dan mengaktifkan peristiwa untuk pelacakan.

-FileTransferType [ 0| 1]
Menentukan jenis transfer file. Nilai 0 menunjukkan UNC (konvensi penamaan universal), dan nilai 1 menunjukkan FTP (protokol transfer file).

-FtpAddress ftp_address
Adalah alamat jaringan layanan FTP untuk Distributor. Ketika tidak ditentukan, DistributorAddress digunakan. Jika DistributorAddress tidak ditentukan, Distributor akan digunakan.

-FtpPassword ftp_password
Apakah kata sandi pengguna digunakan untuk menyambungkan ke layanan FTP.

-FtpPort ftp_port
Adalah nomor port layanan FTP untuk Distributor. Ketika tidak ditentukan, nomor port default untuk layanan FTP (21) digunakan.

-FtpUserName ftp_user_name
Apakah nama pengguna yang digunakan untuk menyambungkan ke layanan FTP. Ketika tidak ditentukan, anonim digunakan.

-HistoryVerboseLevel [ 0 | 1 | 2 | 3 ]
Menentukan jumlah riwayat yang dicatat selama operasi distribusi. Anda dapat meminimalkan efek performa pengelogan riwayat dengan memilih 1.

Nilai HistoryVerboseLevel Deskripsi
0 Pesan kemajuan ditulis baik ke konsol atau ke file output. Rekaman riwayat tidak dicatat dalam database distribusi.
1 Default. Selalu perbarui pesan riwayat sebelumnya dengan status yang sama (startup, progress, success, dan sebagainya). Jika tidak ada rekaman sebelumnya dengan status yang sama, sisipkan rekaman baru.
2 Sisipkan rekaman riwayat baru kecuali rekaman untuk hal-hal seperti pesan diam atau pesan pekerjaan yang berjalan lama, dalam hal ini memperbarui rekaman sebelumnya.
3 Selalu sisipkan rekaman baru, kecuali untuk pesan diam.

-Nama host host_name
Apakah nama host digunakan saat menyambungkan ke Publisher. Parameter ini bisa maksimal 128 karakter Unicode.

-KeepAliveMessageInterval keep_alive_message_interval_seconds
Adalah jumlah detik sebelum utas riwayat memeriksa apakah salah satu koneksi yang ada sedang menunggu respons dari server. Nilai ini dapat dikurangi untuk menghindari agen pemeriksaan menandai Agen Distribusi sebagai tersangka saat menjalankan batch yang berjalan lama. Defaultnya adalah 300 detik.

-LoginTimeOut login_time_out_seconds
Adalah jumlah detik sebelum waktu masuk habis. Defaultnya adalah 15 detik.

-MaxBcpThreads number_of_threads
Menentukan jumlah operasi penyalinan massal yang dapat dilakukan secara paralel. Jumlah maksimum utas dan koneksi ODBC yang ada secara bersamaan adalah lebih sedikit dari MaxBcpThreads atau jumlah permintaan salinan massal yang muncul dalam transaksi sinkronisasi dalam database distribusi. MaxBcpThreads harus memiliki nilai yang lebih besar dari 0 dan tidak memiliki batas atas yang dikodekan secara permanen. Defaultnya adalah 2 kali jumlah prosesor, hingga nilai maksimum 8. Saat menerapkan rekam jepret yang dihasilkan di Publisher menggunakan opsi rekam jepret bersamaan, satu utas digunakan, terlepas dari jumlah yang Anda tentukan untuk MaxBcpThreads.

-MaxDeliveredTransactions number_of_transactions
Adalah jumlah maksimum transaksi pendorongan atau penarikan yang diterapkan kepada Pelanggan dalam satu sinkronisasi. Nilai 0 menunjukkan bahwa maksimum adalah jumlah transaksi yang tak terbatas. Nilai lain dapat digunakan oleh Pelanggan untuk mempersingkat durasi sinkronisasi yang ditarik dari Penerbit.

Catatan

Jika -MaxDeliveredTransactions dan -Continuous keduanya ditentukan, Agen Distribusi memberikan jumlah transaksi yang ditentukan dan kemudian berhenti (meskipun -Continuous ditentukan). Anda harus memulai ulang Agen Distribusi setelah pekerjaan selesai.

-MessageInterval message_interval
Adalah interval waktu yang digunakan untuk pengelogan riwayat. Peristiwa riwayat dicatat ketika salah satu parameter ini tercapai:

  • Nilai TransactionsPerHistory dicapai setelah peristiwa riwayat terakhir dicatat.

  • Nilai MessageInterval tercapai setelah peristiwa riwayat terakhir dicatat.

Jika tidak ada transaksi yang direplikasi yang tersedia di sumbernya, agen melaporkan pesan tanpa transaksi ke Distributor. Opsi ini menentukan berapa lama agen menunggu sebelum melaporkan pesan tanpa transaksi lain. Agen selalu melaporkan pesan tidak ada transaksi ketika mereka mendeteksi bahwa tidak ada transaksi yang tersedia di sumber setelah sebelumnya memproses transaksi yang direplikasi. Defaultnya adalah 60 detik.

-OledbStreamThreshold oledb_stream_threshold
Menentukan ukuran minimum, dalam byte, untuk data objek besar biner di atas yang datanya akan diikat sebagai aliran. Anda harus menentukan -UseOledbStreaming untuk menggunakan parameter ini. Nilai dapat berkisar dari 400 hingga 1048576 byte, dengan default 16384 byte.

-Output output_path_and_file_name
Adalah jalur file output agen. Jika nama file tidak disediakan, output dikirim ke konsol. Jika nama file yang ditentukan ada, output ditambahkan ke file.

-OutputVerboseLevel [ 0| 1| 2]
Menentukan apakah output harus verbose. Jika tingkat verbose adalah 0, hanya pesan kesalahan yang dicetak. Jika tingkat verbose adalah 1, semua pesan laporan kemajuan akan dicetak. Jika tingkat verbose adalah 2 (default), semua pesan kesalahan dan pesan laporan kemajuan dicetak, yang berguna untuk penelusuran kesalahan.

-PacketSize packet_size
Apakah ukuran paket, dalam byte. Defaultnya adalah 4096 (byte).

-PollingInterval polling_interval
Apakah seberapa sering, dalam detik, database distribusi dikueri untuk transaksi yang direplikasi. Defaultnya adalah 5 detik.

-ProfileName profile_name
Menentukan profil agen yang akan digunakan untuk parameter agen. Jika ProfileName NULL, profil agen dinonaktifkan. Jika ProfileName tidak ditentukan, profil default untuk jenis agen akan digunakan. Untuk informasi, lihat Profil Agen Replikasi.

-Publikasi publikasi
Adalah nama publikasi. Parameter ini hanya valid jika publikasi diatur untuk selalu memiliki rekam jepret yang tersedia untuk langganan baru atau yang diinisialisasi ulang.

-QueryTimeOut query_time_out_seconds
Adalah jumlah detik sebelum waktu kueri habis. Defaultnya adalah 1800 detik.

-QuotedIdentifier quoted_identifier
Menentukan karakter pengidentifikasi yang dikutip untuk digunakan. Karakter pertama dari nilai menunjukkan nilai yang digunakan Agen Distribusi. Jika QuotedIdentifier digunakan tanpa nilai, Agen Distribusi menggunakan spasi. Jika QuotedIdentifier tidak digunakan, Agen Distribusi menggunakan pengidentifikasi apa pun yang dikutip yang didukung Pelanggan.

-SkipErrors native_error_id [:... n]
Adalah daftar yang dipisahkan titik dua yang menentukan nomor kesalahan yang akan dilewati oleh agen ini.

-SubscriberDatabasePath subscriber_database_path
Apakah jalur ke database Jet (file .mdb) jika SubscriberType adalah 2 (memungkinkan koneksi ke database Jet tanpa Nama Sumber Data ODBC (DSN)).

-SubscriberLogin subscriber_login
Adalah nama login Pelanggan. Jika SubscriberSecurityMode adalah 0 (untuk Autentikasi SQL Server), parameter ini harus ditentukan.

-SubscriberPassword subscriber_password
Adalah kata sandi Pelanggan. Jika SubscriberSecurityMode adalah 0 (untuk Autentikasi SQL Server), parameter ini harus ditentukan.

-SubscriberSecurityMode [ 0| 1]
Menentukan mode keamanan Pelanggan. Nilai 0 menunjukkan Autentikasi SQL Server, dan nilai 1 menunjukkan Mode Autentikasi Windows (default).

-SubscriberType [ 0| 1| 3]
Menentukan jenis koneksi Pelanggan yang digunakan oleh Agen Distribusi.

Nilai SubscriberType Deskripsi
0 SQL Server
1 Sumber data ODBC
3 Sumber data OLE DB

-SubscriptionStreams [0|1|2|...64]
Adalah jumlah koneksi yang diizinkan per Agen Distribusi untuk menerapkan batch perubahan secara paralel ke Pelanggan, sambil mempertahankan banyak karakteristik transaksional yang ada saat menggunakan satu utas. Untuk Penerbit SQL Server, rentang nilai dari 1 hingga 64 didukung. Parameter ini hanya didukung ketika Penerbit dan Distributor berjalan pada SQL Server 2005 atau versi yang lebih baru. Parameter ini tidak didukung atau harus 0 untuk pelanggan non-SQL Server atau langganan peer-to-peer.

Catatan

Jika salah satu koneksi gagal dijalankan atau diterapkan, semua koneksi akan membatalkan batch saat ini, dan agen akan menggunakan satu aliran untuk mencoba kembali batch yang gagal. Sebelum fase coba lagi ini selesai, mungkin ada inkonsistensi transaksional sementara di Pelanggan. Setelah batch yang gagal berhasil diterapkan, Pelanggan dibawa kembali ke keadaan konsistensi transaksional.

Penting

Ketika Anda menentukan nilai 2 atau lebih besar untuk -SubscriptionStreams, urutan transaksi diterima di Pelanggan mungkin berbeda dari urutan pembuatannya di Penerbit. Jika perilaku ini menyebabkan pelanggaran batasan selama sinkronisasi, Anda harus menggunakan opsi NOT FOR REPLICATION untuk menonaktifkan penegakan batasan selama sinkronisasi. Untuk informasi selengkapnya, lihat Mengontrol Perilaku Pemicu dan Batasan Selama Sinkronisasi (Pemrograman Transact-SQL Replikasi).

Catatan

Aliran langganan tidak berfungsi untuk artikel yang dikonfigurasi untuk mengirimkan Transact-SQL. Untuk menggunakan aliran langganan, konfigurasikan artikel untuk mengirimkan panggilan prosedur tersimpan sebagai gantinya.

-SubscriptionTableName subscription_table
Adalah nama tabel langganan yang dihasilkan atau digunakan di Pelanggan yang diberikan. Ketika tidak ditentukan, tabel MSreplication_subscriptions (Transact-SQL) digunakan. Gunakan opsi ini untuk sistem manajemen database (DBMS) yang tidak mendukung nama file panjang.

-SubscriptionType [ 0| 1| 2]
Menentukan jenis langganan untuk distribusi. Nilai 0 menunjukkan langganan push, nilai 1 menunjukkan langganan pull, dan nilai 2 menunjukkan langganan anonim.

-TransactionsPerHistory [ 0| 1|... 10000]
Menentukan interval transaksi untuk pengelogan riwayat. Jika jumlah transaksi yang diterapkan setelah instans terakhir pengelogan riwayat lebih besar dari opsi ini, pesan riwayat dicatat. Nilai defaultnya adalah 100. Nilai 0 menunjukkan TransactionsPerHistory tak terbatas. Lihat parameter -MessageIntervalsebelumnya.

-UseDTS
Harus ditentukan sebagai parameter untuk publikasi yang memungkinkan transformasi data.

-UseInprocLoader
Meningkatkan performa rekam jepret awal dengan menyebabkan Agen Distribusi menggunakan perintah INSERT MASSAL saat menerapkan file rekam jepret ke Pelanggan. Parameter ini tidak digunakan lagi karena tidak kompatibel dengan jenis data XML. Jika Anda tidak mereplikasi data XML, parameter ini dapat digunakan. Parameter ini tidak dapat digunakan dengan rekam jepret mode karakter atau Pelanggan non-SQL Server. Jika Anda menggunakan parameter ini, akun layanan SQL Server di Pelanggan harus memiliki izin baca pada direktori tempat file data .bcp rekam jepret berada. Ketika parameter ini tidak digunakan, agen (untuk Pelanggan Non-SQL Server) atau driver ODBC yang dimuat oleh agen (untuk Pelanggan SQL Server) membaca dari file, sehingga konteks keamanan akun layanan SQL Server tidak digunakan.

-UseOledbStreaming
Ketika ditentukan, mengaktifkan pengikatan data objek besar biner sebagai aliran. Gunakan -OledbStreamThreshold untuk menentukan ukuran, dalam byte, di atas tempat aliran akan digunakan.

Keterangan

Penting

Jika Anda telah menginstal SQL Server Agent untuk dijalankan di bawah akun sistem lokal daripada di bawah akun pengguna domain (default), layanan hanya dapat mengakses komputer lokal. Jika Agen Distribusi yang berjalan di bawah SQL Server Agent dikonfigurasi untuk menggunakan Mode Autentikasi Windows saat masuk ke instans SQL Server, Agen Distribusi gagal. Pengaturan defaultnya adalah Autentikasi SQL Server. Untuk informasi tentang mengubah akun keamanan, lihat Menampilkan dan Mengubah Pengaturan Keamanan Replikasi.

Untuk memulai Agen Distribusi, jalankan distrib.exe dari prompt perintah. Untuk informasi, lihat Konsep Executables Agen Replikasi.

Ubah Riwayat

Konten yang diperbarui
Menambahkan parameter -ExtendedEventConfigFile.

Lihat Juga

Administrasi Agen Replikasi