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

  1. Koneksi ke instans SQL Server tempat Anda ingin membuat titik akhir pencerminan database.

  2. Dari bilah Standar, klik Kueri Baru.

  3. 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.

  4. 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 atau ROLE = 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

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)