MEMBUAT PENGIKATAN LAYANAN JARAK JAUH (Transact-SQL)
Berlaku untuk: SQL Server
Membuat pengikatan yang menentukan kredensial keamanan yang akan digunakan untuk memulai percakapan dengan layanan jarak jauh.
Sintaks
CREATE REMOTE SERVICE BINDING binding_name
[ AUTHORIZATION owner_name ]
TO SERVICE 'service_name'
WITH USER = user_name [ , ANONYMOUS = { ON | OFF } ]
[ ; ]
Argumen
binding_name
Adalah nama pengikatan layanan jarak jauh yang akan dibuat. Nama server, database, dan skema tidak dapat ditentukan. binding_name harus berupa sysname yang valid.
owner_name OTORISASI
Mengatur pemilik pengikatan ke pengguna atau peran database yang ditentukan. Ketika pengguna saat ini adalah dbo atau sa, owner_name dapat menjadi nama pengguna atau peran yang valid. Jika tidak, owner_name harus menjadi nama pengguna saat ini, nama pengguna yang pengguna saat ini memiliki izin IMPERSONATE, atau nama peran tempat pengguna saat ini berada.
KE LAYANAN 'service_name'
Menentukan layanan jarak jauh untuk mengikat pengguna yang diidentifikasi dalam klausa WITH USER.
USER = user_name
Menentukan prinsipal database yang memiliki sertifikat yang terkait dengan layanan jarak jauh yang diidentifikasi oleh klausul TO SERVICE. Sertifikat ini digunakan untuk enkripsi dan autentikasi pesan yang ditukar dengan layanan jarak jauh.
ANONIM
Menentukan apakah autentikasi anonim digunakan saat berkomunikasi dengan layanan jarak jauh. Jika ANONIM = AKTIF, autentikasi anonim digunakan dan operasi dalam database jarak jauh terjadi sebagai anggota peran database tetap publik . Jika ANONIM = NONAKTIF, operasi dalam database jarak jauh terjadi sebagai pengguna tertentu dalam database tersebut. Jika klausa ini tidak ditentukan, defaultnya adalah NONAKTIF.
Keterangan
Service Broker menggunakan pengikatan layanan jarak jauh untuk menemukan sertifikat yang akan digunakan untuk percakapan baru. Kunci publik dalam sertifikat yang terkait dengan user_name digunakan untuk mengautentikasi pesan yang dikirim ke layanan jarak jauh dan untuk mengenkripsi kunci sesi yang kemudian digunakan untuk mengenkripsi percakapan. Sertifikat untuk user_name harus sesuai dengan sertifikat untuk pengguna dalam database yang menghosting layanan jarak jauh.
Pengikatan layanan jarak jauh hanya diperlukan untuk memulai layanan yang berkomunikasi dengan layanan target di luar instans SQL Server. Database yang menghosting layanan yang memulai harus berisi pengikatan layanan jarak jauh untuk layanan target apa pun di luar instans SQL Server. Database yang menghosting layanan target tidak perlu berisi pengikatan layanan jarak jauh untuk layanan yang memulai yang berkomunikasi dengan layanan target. Ketika layanan inisiator dan target berada dalam instans SQL Server yang sama, tidak ada pengikatan layanan jarak jauh yang diperlukan. Namun, jika pengikatan layanan jarak jauh ada di mana service_name yang ditentukan untuk LAYANAN TO cocok dengan nama layanan lokal, Service Broker akan menggunakan pengikatan.
Ketika ANONYMOUS = ON, layanan yang memulai terhubung ke layanan target sebagai anggota peran database tetap publik . Secara default, anggota peran ini tidak memiliki izin untuk menyambungkan ke database. Agar berhasil mengirim pesan, database target harus memberikan izin CONNECT peran publik untuk database dan izin KIRIM untuk layanan target.
Ketika pengguna memiliki lebih dari satu sertifikat, Service Broker memilih sertifikat dengan tanggal kedaluwarsa terbaru dari antara sertifikat yang saat ini valid dan ditandai sebagai TERSEDIA UNTUK BEGIN_DIALOG.
Izin
Izin untuk membuat default pengikatan layanan jarak jauh ke pengguna bernama dalam klausul USER, anggota peran database tetap db_owner , anggota peran database tetap db_ddladmin , dan anggota peran server tetap sysadmin .
Pengguna yang menjalankan pernyataan CREATE REMOTE SERVICE BINDING harus memiliki izin impersonate untuk prinsipal yang ditentukan dalam pernyataan.
Pengikatan layanan jarak jauh mungkin bukan objek sementara. Nama pengikatan layanan jarak jauh yang dimulai dengan # diizinkan, tetapi merupakan objek permanen.
Contoh
J. Membuat pengikatan layanan jarak jauh
Contoh berikut membuat pengikatan untuk layanan //Adventure-Works.com/services/AccountsPayable
. Service Broker menggunakan sertifikat yang dimiliki oleh APUser
perwakilan database untuk mengautentikasi ke layanan jarak jauh dan untuk menukar kunci enkripsi sesi dengan layanan jarak jauh.
CREATE REMOTE SERVICE BINDING APBinding
TO SERVICE '//Adventure-Works.com/services/AccountsPayable'
WITH USER = APUser ;
B. Membuat pengikatan layanan jarak jauh menggunakan autentikasi anonim
Contoh berikut membuat pengikatan untuk layanan //Adventure-Works.com/services/AccountsPayable
. Service Broker menggunakan sertifikat yang dimiliki oleh APUser
perwakilan database untuk menukar kunci enkripsi sesi dengan layanan jarak jauh. Broker tidak mengautentikasi ke layanan jarak jauh. Dalam database yang menghosting layanan jarak jauh, pesan dikirimkan sebagai pengguna tamu .
CREATE REMOTE SERVICE BINDING APBinding
TO SERVICE '//Adventure-Works.com/services/AccountsPayable'
WITH USER = APUser, ANONYMOUS=ON ;
Lihat Juga
MENGUBAH PENGIKATAN LAYANAN JARAK JAUH (Transact-SQL)
DROP REMOTE SERVICE BINDING (Transact-SQL)
EVENTDATA (Transact-SQL)