Membuat Titik Akhir Pencerminan Database untuk Autentikasi Windows (Transact-SQL)
Berlaku untuk: SQL Server
Topik ini menjelaskan cara membuat titik akhir pencerminan database yang menggunakan Autentikasi Windows di SQL Server dengan menggunakan Transact-SQL. Untuk mendukung pencerminan database atau grup ketersediaan AlwaysOn, setiap instans SQL Server memerlukan titik akhir pencerminan database. Instans server hanya dapat memiliki satu titik akhir pencerminan database, yang memiliki satu port. Titik akhir pencerminan database dapat menggunakan port apa pun yang tersedia di sistem lokal saat titik akhir dibuat. Semua sesi pencerminan database pada instans server mendengarkan port tersebut, dan semua koneksi masuk untuk pencerminan database menggunakan port tersebut.
Penting
Jika titik akhir pencerminan database ada dan sudah digunakan, kami sarankan Anda menggunakan titik akhir tersebut. Menghilangkan titik akhir yang digunakan mengganggu sesi yang ada.
Dalam Topik Ini
Sebelum Memulai: Keamanan
Untuk membuat titik akhir pencerminan database, menggunakan: Transact-SQL
Sebelum Anda mulai
Keamanan
Metode autentikasi dan enkripsi instans server dibuat oleh administrator sistem.
Peringatan
Algoritma RC4 tidak digunakan lagi. Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Kami menyarankan agar Anda menggunakan AES.
Izin
CREATE ENDPOINT
Memerlukan izin, atau keanggotaan dalam sysadmin
peran server tetap. Untuk informasi selengkapnya, lihat IZIN GRANT Endpoint (Transact-SQL).
Menggunakan T-SQL
Untuk Membuat Titik Akhir Pencerminan Database yang Menggunakan Autentikasi Windows
Sambungkan ke instans SQL Server tempat Anda ingin membuat titik akhir pencerminan database.
Dari bilah Standar, klik Kueri Baru.
Tentukan apakah titik akhir pencerminan database sudah ada dengan menggunakan pernyataan berikut:
SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints;
Penting
Jika titik akhir pencerminan database sudah ada untuk instans server, gunakan titik akhir tersebut untuk sesi lain yang Anda buat pada instans server.
Untuk menggunakan Transact-SQL untuk membuat titik akhir yang akan digunakan dengan Autentikasi Windows, gunakan
CREATE ENDPOINT
pernyataan. Pernyataan ini mengambil bentuk umum berikut:CREATE ENDPOINT *\<endpointName>* STATE=STARTED AS TCP ( LISTENER_PORT = *\<listenerPortList>* ) FOR DATABASE_MIRRORING ( [ AUTHENTICATION = **WINDOWS** [ *\<authorizationMethod>* ] ] [ [**,**] ENCRYPTION = **REQUIRED** [ ALGORITHM { *\<algorithm>* } ] ] [**,**] ROLE = *\<role>* )
Mana:
<endpointName> adalah nama unik untuk titik akhir pencerminan database instans server.
STARTED menentukan bahwa titik akhir akan dimulai dan mulai mendengarkan koneksi. Titik akhir pencerminan database biasanya dibuat dalam status STARTED. Atau, Anda dapat memulai sesi dalam status STOP (default) atau status DISABLED.
<listenerPortList> adalah nomor port tunggal (nnnn) tempat Anda ingin server mendengarkan pesan pencerminan database. Hanya TCP yang diizinkan; menentukan protokol lain menyebabkan kesalahan.
Nomor port hanya dapat digunakan sekali per sistem komputer. Titik akhir pencerminan database dapat menggunakan port apa pun yang tersedia di sistem lokal saat titik akhir dibuat. Untuk mengidentifikasi port yang saat ini digunakan oleh titik akhir TCP pada sistem, gunakan pernyataan Transact-SQL berikut:
SELECT name, port FROM sys.tcp_endpoints;
Penting
Setiap instans server memerlukan satu dan hanya satu port pendengar unik.
Untuk Autentikasi Windows, opsi AUTENTIKASI bersifat opsional, kecuali Anda ingin titik akhir hanya menggunakan NTLM atau Kerberos untuk mengautentikasi koneksi. <authorizationMethod> menentukan metode yang digunakan untuk mengautentikasi koneksi sebagai salah satu hal berikut: NTLM, KERBEROS, atau NEGOSIASI. Defaultnya, NEGOSIASI, menyebabkan titik akhir menggunakan protokol negosiasi Windows untuk memilih NTLM atau Kerberos. Negosiasi memungkinkan koneksi dengan atau tanpa autentikasi, tergantung pada tingkat autentikasi titik akhir yang berlawanan.
Catatan
Untuk menggunakan autentikasi Kerberos untuk komunikasi antara titik akhir grup ketersediaan (AG), daftarkan Nama Perwakilan Layanan untuk Koneksi Kerberos untuk titik akhir pencerminan database yang digunakan oleh AG.
ENKRIPSI diatur ke DIPERLUKAN secara default. Ini berarti bahwa semua koneksi ke titik akhir ini harus menggunakan enkripsi. Namun, Anda dapat menonaktifkan enkripsi atau membuatnya opsional pada titik akhir. Alternatifnya adalah sebagai berikut:
Nilai Definisi DINONAKTIFKAN Menentukan bahwa data yang dikirim melalui koneksi tidak dienkripsi. DIDUKUNG Menentukan bahwa data dienkripsi hanya jika titik akhir yang berlawanan menentukan DIDUKUNG atau DIPERLUKAN. WAJIB DIISI Menentukan bahwa data yang dikirim melalui koneksi harus dienkripsi. Jika titik akhir memerlukan enkripsi, titik akhir lainnya harus memiliki ENKRIPSI yang diatur ke DIDUKUNG atau DIPERLUKAN.
<algoritma> menyediakan opsi untuk menentukan standar enkripsi untuk titik akhir. Nilai <algoritma> dapat berupa satu algoritma atau kombinasi algoritma berikut: RC4, AES, AES RC4, atau RC4 AES.
Algoritma AES untuk titik akhir pencerminan database menggunakan panjang kunci 128 bit.
AES RC4 menentukan bahwa titik akhir ini akan bernegosiasi untuk algoritma enkripsi, memberikan preferensi pada algoritma AES. RC4 AES menentukan bahwa titik akhir ini akan bernegosiasi untuk algoritma enkripsi, memberikan preferensi pada algoritma RC4. Jika kedua titik akhir menentukan kedua algoritma tetapi dalam urutan yang berbeda, titik akhir yang menerima koneksi akan menang. Berikan algoritma yang sama secara eksplisit untuk menghindari kesalahan koneksi antara server yang berbeda.
Peringatan
Algoritma RC4 tidak digunakan lagi. Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Kami menyarankan agar Anda menggunakan AES.
<peran> menentukan peran atau peran yang dapat dilakukan server. Menentukan PERAN diperlukan. Namun, peran titik akhir hanya relevan untuk pencerminan database. Untuk grup ketersediaan AlwaysOn, peran titik akhir diabaikan.
Untuk memungkinkan instans server berfungsi sebagai satu peran untuk satu sesi pencerminan database dan peran yang berbeda untuk sesi lain, tentukan ROLE=ALL. Untuk membatasi instans server menjadi mitra atau saksi, tentukan
ROLE = PARTNER
atauROLE = WITNESS
, masing-masing.Catatan
Untuk informasi selengkapnya tentang opsi Pencerminan Database untuk edisi SQL Server yang berbeda, lihat Fitur yang Didukung oleh Edisi SQL Server 2016.
Untuk deskripsi lengkap sintaks CREATE ENDPOINT, lihat CREATE ENDPOINT (Transact-SQL).
Catatan
Untuk mengubah titik akhir yang ada, gunakan ALTER ENDPOINT (Transact-SQL).
Contoh: Membuat Titik Akhir ke Dukungan untuk Pencerminan Database (Transact-SQL)
Contoh berikut membuat titik akhir pencerminan database untuk instans server default pada tiga sistem komputer terpisah:
Peran instans server | Nama komputer host |
---|---|
Mitra (awalnya dalam peran utama) | SQLHOST01\. |
Mitra (awalnya dalam peran cermin) | SQLHOST02\. |
saksi | SQLHOST03\. |
Dalam contoh ini, ketiga titik akhir menggunakan nomor port 7022, meskipun nomor port yang tersedia akan berfungsi. Opsi AUTENTIKASI tidak perlu, karena titik akhir menggunakan jenis default, Autentikasi Windows. Opsi ENKRIPSI juga tidak perlu, karena titik akhir semuanya dimaksudkan untuk menegosiasikan metode autentikasi untuk koneksi, yang merupakan perilaku default untuk Autentikasi Windows. Selain itu, semua titik akhir memerlukan enkripsi, yang merupakan perilaku default.
Setiap instans server terbatas untuk berfungsi sebagai mitra atau saksi, dan titik akhir setiap server secara tegas menentukan peran mana (ROLE=PARTNER atau ROLE=WITNESS).
Penting
Setiap instans server hanya dapat memiliki satu titik akhir. Oleh karena itu, jika Anda ingin instans server menjadi mitra dalam beberapa sesi dan saksi di sesi lain, tentukan ROLE=ALL.
--Endpoint for initial principal server instance, which
--is the only server instance running on SQLHOST01.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for initial mirror server instance, which
--is the only server instance running on SQLHOST02.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for witness server instance, which
--is the only server instance running on SQLHOST03.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (ROLE=WITNESS);
GO
Tugas Terkait
Untuk Mengonfigurasi Titik Akhir Pencerminan Database
Membuat Titik Akhir Pencerminan Database untuk Grup Ketersediaan AlwaysOn (SQL Server PowerShell)
Menggunakan Sertifikat untuk Titik Akhir Database Mirroring (Transact-SQL)
Tentukan URL Titik Akhir Saat Menambahkan atau Memodifikasi Replika Ketersediaan (SQL Server)
Untuk Menampilkan Informasi Tentang Titik Akhir Pencerminan Database
Lihat Juga
ALTER ENDPOINT (Transact-SQL)
Pilih Algoritma Enkripsi
CREATE ENDPOINT (Transact-SQL)
Tentukan Alamat Jaringan Server (Pencerminan Database)
Contoh: Menyiapkan pencerminan database menggunakan Autentikasi Windows (Transact-SQL)
Titik Akhir Pencerminan Database (SQL Server)