Bagikan melalui


sp_attachsubscription (T-SQL)

Berlaku untuk: SQL ServerAzure SQL Database

Melampirkan database langganan yang sudah ada ke Pelanggan mana pun. Prosedur tersimpan ini dijalankan di Pelanggan baru pada master database.

Penting

Fitur ini tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Fitur ini tidak boleh digunakan dalam pekerjaan pengembangan baru. Untuk publikasi gabungan yang dipartisi menggunakan filter berparameter, sebaiknya gunakan fitur baru rekam jepret yang dipartisi, yang menyederhanakan inisialisasi sejumlah besar langganan. Untuk informasi selengkapnya, lihat Membuat Rekam Jepret untuk Publikasi Gabungan dengan Filter Berparameter. Untuk publikasi yang tidak dipartisi, Anda dapat menginisialisasi langganan dengan cadangan. Untuk informasi selengkapnya, lihat Menginisialisasi Langganan Transaksi tanpa Rekam Jepret.

Konvensi sintaks transact-SQL

Sintaks

sp_attachsubscription
    [ @dbname = ] N'dbname'
    , [ @filename = ] N'filename'
    [ , [ @subscriber_security_mode = ] subscriber_security_mode ]
    [ , [ @subscriber_login = ] N'subscriber_login' ]
    [ , [ @subscriber_password = ] N'subscriber_password' ]
    [ , [ @distributor_security_mode = ] distributor_security_mode ]
    [ , [ @distributor_login = ] N'distributor_login' ]
    [ , [ @distributor_password = ] N'distributor_password' ]
    [ , [ @publisher_security_mode = ] publisher_security_mode ]
    [ , [ @publisher_login = ] N'publisher_login' ]
    [ , [ @publisher_password = ] N'publisher_password' ]
    [ , [ @job_login = ] N'job_login' ]
    [ , [ @job_password = ] N'job_password' ]
    [ , [ @db_master_key_password = ] N'db_master_key_password' ]
[ ; ]

Argumen

[ @dbname = ] N'dbname'

Menentukan nama database langganan tujuan. @dbname adalah sysname, tanpa default.

[ @filename = ] N'filename'

Nama dan lokasi fisik file data utama (.mdf). @filename adalah nvarchar(260), tanpa default.

[ @subscriber_security_mode = ] subscriber_security_mode

Mode keamanan Pelanggan yang akan digunakan saat menyambungkan ke Pelanggan saat menyinkronkan. @subscriber_security_mode int, dengan default NULL.

Catatan

Autentikasi Windows harus digunakan. Jika @subscriber_security_mode bukan 1 (Autentikasi Windows), Anda menerima kesalahan.

[ @subscriber_login = ] N'subscriber_login'

Nama login Pelanggan yang akan digunakan saat menyambungkan ke Pelanggan saat menyinkronkan. @subscriber_login adalah sysname, dengan default NULL.

Catatan

Parameter ini tidak digunakan lagi dan dipertahankan untuk kompatibilitas skrip mundur. Jika @subscriber_security_mode tidak 1 dan @subscriber_login ditentukan, Anda menerima kesalahan.

[ @subscriber_password = ] N'subscriber_password'

Kata sandi Pelanggan. @subscriber_password adalah sysname, dengan default NULL.

Catatan

Parameter ini tidak digunakan lagi dan dipertahankan untuk kompatibilitas skrip mundur. Jika @subscriber_security_mode tidak 1 dan @subscriber_password ditentukan, Anda menerima kesalahan.

[ @distributor_security_mode = ] distributor_security_mode

Mode keamanan yang digunakan saat menyambungkan ke Distributor saat menyinkronkan. @distributor_security_mode int, dengan default 1.

  • 0 menentukan autentikasi SQL Server
  • 1 menentukan autentikasi Windows

Jika memungkinkan, gunakan autentikasi Windows.

[ @distributor_login = ] N'distributor_login'

Login Distributor untuk digunakan saat menyambungkan ke Distributor saat menyinkronkan. @distributor_login adalah sysname, dengan default NULL. @distributor_login diperlukan jika @distributor_security_mode diatur ke 0.

[ @distributor_password = ] N'distributor_password'

Kata sandi Distributor. @distributor_password adalah sysname, dengan default NULL. @distributor_password diperlukan jika @distributor_security_mode diatur ke 0. Nilai @distributor_password harus lebih pendek dari 120 karakter Unicode.

Penting

Jangan gunakan kata sandi kosong. Gunakan kata sandi yang kuat. Jika memungkinkan, minta pengguna untuk memasukkan kredensial keamanan saat runtime. Jika Anda harus menyimpan kredensial dalam file skrip, Anda harus mengamankan file untuk mencegah akses yang tidak sah.

[ @publisher_security_mode = ] publisher_security_mode

Mode keamanan yang digunakan saat menyambungkan ke Publisher saat menyinkronkan. @publisher_security_mode int, dengan default 1.

  • Jika 0, menentukan Autentikasi SQL Server.
  • Jika 1, menentukan Autentikasi Windows. Jika memungkinkan, gunakan autentikasi Windows.

[ @publisher_login = ] N'publisher_login'

Login yang digunakan saat menyambungkan ke Publisher saat menyinkronkan. @publisher_login adalah sysname, dengan default NULL.

[ @publisher_password = ] N'publisher_password'

Kata sandi yang digunakan saat menyambungkan ke Publisher. @publisher_password adalah sysname, dengan default NULL. Nilai @publisher_password harus lebih pendek dari 120 karakter Unicode.

Penting

Jangan gunakan kata sandi kosong. Gunakan kata sandi yang kuat. Jika memungkinkan, minta pengguna untuk memasukkan kredensial keamanan saat runtime. Jika Anda harus menyimpan kredensial dalam file skrip, Anda harus mengamankan file untuk mencegah akses yang tidak sah.

[ @job_login = ] N'job_login'

Login untuk akun Windows tempat agen berjalan. @job_login adalah nvarchar(257), tanpa default. Akun Windows ini selalu digunakan untuk koneksi agen ke Distributor.

[ @job_password = ] N'job_password'

Kata sandi untuk akun Windows tempat agen berjalan. @job_password adalah sysname, dengan default NULL. Nilai job_password harus lebih pendek dari 120 karakter Unicode.

Penting

Jangan gunakan kata sandi kosong. Gunakan kata sandi yang kuat. Jika memungkinkan, minta pengguna untuk memasukkan kredensial keamanan saat runtime. Jika Anda harus menyimpan kredensial dalam file skrip, Anda harus mengamankan file untuk mencegah akses yang tidak sah.

[ @db_master_key_password = ] N'db_master_key_password'

Kata sandi kunci master database (DMK) yang ditentukan pengguna. @db_master_key_password adalah nvarchar(524), dengan default NULL. Jika @db_master_key_password tidak ditentukan, DMK yang ada akan dihilangkan dan dibuat ulang.

Penting

Jangan gunakan kata sandi kosong. Gunakan kata sandi yang kuat. Jika memungkinkan, minta pengguna untuk memasukkan kredensial keamanan saat runtime. Jika Anda harus menyimpan kredensial dalam file skrip, Anda harus mengamankan file untuk mencegah akses yang tidak sah.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_attachsubscription digunakan dalam replikasi rekam jepret, replikasi transaksional, dan replikasi penggabungan.

Langganan tidak dapat dilampirkan ke publikasi jika periode retensi publikasi telah kedaluwarsa. Jika langganan dengan periode retensi yang berlalu ditentukan, kesalahan terjadi saat langganan dilampirkan, atau pertama kali disinkronkan. Publikasi dengan periode 0 retensi publikasi (tidak pernah kedaluwarsa) diabaikan.

Izin

Hanya anggota peran server tetap sysadmin yang dapat menjalankan sp_attachsubscription.