Bagikan melalui


Contoh: Menyiapkan Pencerminan Database Menggunakan Sertifikat (Transact-SQL)

Berlaku untuk: SQL Server

Contoh ini memperlihatkan semua tahapan yang diperlukan untuk membuat sesi pencerminan database menggunakan autentikasi berbasis sertifikat. Contoh dalam topik ini menggunakan Transact-SQL. Kecuali Anda dapat menjamin bahwa jaringan Anda aman, kami sarankan Anda menggunakan enkripsi untuk koneksi pencerminan database.

Saat menyalin sertifikat ke sistem lain, gunakan metode salin aman. Berhati-hatilah untuk menjaga keamanan semua sertifikat Anda.

Contoh

Contoh berikut menunjukkan apa yang harus dilakukan pada satu mitra yang berada di HOST_A. Dalam contoh ini, kedua mitra adalah instans server default pada tiga sistem komputer. Dua instans server berjalan di domain Windows yang tidak tepercaya, sehingga autentikasi berbasis sertifikat diperlukan.

Peran utama awal diambil oleh HOST_A, dan peran cermin diambil oleh HOST_B.

Menyiapkan pencerminan database menggunakan sertifikat melibatkan empat tahap umum, di mana tiga tahap-1, 2, dan 4-ditunjukkan oleh contoh ini. Tahapan ini adalah sebagai berikut:

  1. Mengonfigurasi Koneksi Keluar

    Contoh ini menunjukkan langkah-langkah untuk:

    1. Mengonfigurasi Host_A untuk koneksi keluar.

    2. Mengonfigurasi Host_B untuk koneksi keluar.

    Untuk informasi tentang tahap penyiapan pencerminan database ini, lihat Mengizinkan Titik Akhir Pencerminan Database untuk Menggunakan Sertifikat untuk Koneksi Keluar (Transact-SQL).

  2. Mengonfigurasi Koneksi Masuk

    Contoh ini menunjukkan langkah-langkah untuk:

    1. Mengonfigurasi Host_A untuk koneksi masuk.

    2. Mengonfigurasi Host_B untuk koneksi masuk.

    Untuk informasi tentang tahap penyiapan pencerminan database ini, lihat Mengizinkan Titik Akhir Pencerminan Database untuk Menggunakan Sertifikat untuk Koneksi Masuk (Transact-SQL).

  3. Membuat Database Cermin

    Untuk informasi tentang cara membuat database cermin, lihat Menyiapkan Database Cermin untuk Pencerminan (SQL Server).

  4. Mengonfigurasi Mitra Pencerminan

Mengonfigurasi Koneksi Keluar

Untuk mengonfigurasi Host_A untuk koneksi keluar

  1. Pada database master, buat kunci master database, jika diperlukan.

    USE master;  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1_Strong_Password!>';  
    GO  
    
  2. Buat sertifikat untuk instans server ini.

    USE master;  
    CREATE CERTIFICATE HOST_A_cert   
       WITH SUBJECT = 'HOST_A certificate';  
    GO  
    
  3. Buat titik akhir pencerminan untuk instans server menggunakan sertifikat.

    CREATE ENDPOINT Endpoint_Mirroring  
       STATE = STARTED  
       AS TCP (  
          LISTENER_PORT=7024  
          , LISTENER_IP = ALL  
       )   
       FOR DATABASE_MIRRORING (   
          AUTHENTICATION = CERTIFICATE HOST_A_cert  
          , ENCRYPTION = REQUIRED ALGORITHM AES  
          , ROLE = ALL  
       );  
    GO  
    
  4. Cadangkan sertifikat HOST_A, dan salin ke sistem lain, HOST_B.

    BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer';  
    GO  
    
  5. Dengan menggunakan metode salin aman apa pun, salin C:\HOST_A_cert.cer ke HOST_B.

Untuk mengonfigurasi Host_B untuk koneksi keluar

  1. Pada database master, buat kunci master database, jika diperlukan.

    USE master;  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';  
    GO  
    
  2. Buat sertifikat pada instans server HOST_B.

    CREATE CERTIFICATE HOST_B_cert   
       WITH SUBJECT = 'HOST_B certificate for database mirroring';  
    GO  
    
  3. Buat titik akhir pencerminan untuk instans server di HOST_B.

    CREATE ENDPOINT Endpoint_Mirroring  
       STATE = STARTED  
       AS TCP (  
          LISTENER_PORT=7024  
          , LISTENER_IP = ALL  
       )   
       FOR DATABASE_MIRRORING (   
          AUTHENTICATION = CERTIFICATE HOST_B_cert  
          , ENCRYPTION = REQUIRED ALGORITHM AES  
          , ROLE = ALL  
       );  
    GO  
    
  4. Cadangkan sertifikat HOST_B.

    BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer';  
    GO   
    
  5. Dengan menggunakan metode salin aman apa pun, salin C:\HOST_B_cert.cer ke HOST_A.

Untuk informasi selengkapnya, lihat Mengizinkan Titik Akhir Pencerminan Database untuk Menggunakan Sertifikat untuk Koneksi Keluar (Transact-SQL).

[Atas Contoh]

Mengonfigurasi Koneksi Masuk

Untuk mengonfigurasi Host_A untuk koneksi masuk

  1. Buat login di HOST_A untuk HOST_B.

    USE master;  
    CREATE LOGIN HOST_B_login WITH PASSWORD = '1Sample_Strong_Password!@#';  
    GO  
    
  2. --Buat pengguna untuk login tersebut.

    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;  
    GO  
    
  3. --Kaitkan sertifikat dengan pengguna.

    CREATE CERTIFICATE HOST_B_cert  
       AUTHORIZATION HOST_B_user  
       FROM FILE = 'C:\HOST_B_cert.cer'  
    GO  
    
  4. Berikan izin CONNECT pada login untuk titik akhir pencerminan jarak jauh.

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];  
    GO  
    

Untuk mengonfigurasi Host_B untuk koneksi masuk

  1. Buat login di HOST_B untuk HOST_A.

    USE master;  
    CREATE LOGIN HOST_A_login WITH PASSWORD = '=Sample#2_Strong_Password2';  
    GO  
    
  2. Buat pengguna untuk login tersebut.

    CREATE USER HOST_A_user FOR LOGIN HOST_A_login;  
    GO  
    
  3. Kaitkan sertifikat dengan pengguna.

    CREATE CERTIFICATE HOST_A_cert  
       AUTHORIZATION HOST_A_user  
       FROM FILE = 'C:\HOST_A_cert.cer'  
    GO  
    
  4. Berikan izin CONNECT pada login untuk titik akhir pencerminan jarak jauh.

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];  
    GO  
    

Penting

Jika Anda berniat untuk berjalan dalam mode keamanan tinggi dengan failover otomatis, Anda harus mengulangi langkah-langkah penyiapan yang sama untuk mengonfigurasi saksi untuk koneksi keluar dan masuk. Menyiapkan koneksi masuk ketika saksi terlibat mengharuskan Anda menyiapkan login dan pengguna untuk saksi pada kedua mitra dan untuk kedua mitra pada saksi.

Untuk informasi selengkapnya, lihat Mengizinkan Titik Akhir Pencerminan Database untuk Menggunakan Sertifikat untuk Koneksi Masuk (Transact-SQL).

[Atas Contoh]

Membuat Database Cermin

Untuk informasi tentang cara membuat database cermin, lihat Menyiapkan Database Cermin untuk Pencerminan (SQL Server).

Mengonfigurasi Mitra Pencerminan

  1. Pada instans server cermin pada HOST_B, atur instans server pada HOST_A sebagai mitra (menjadikannya instans server utama awal). Ganti alamat jaringan yang valid untuk TCP://HOST_A.Mydomain.Corp.Adventure-Works``.com:7024. Untuk informasi selengkapnya, lihat Menentukan Alamat Jaringan Server (Pencerminan Database).

    --At HOST_B, set server instance on HOST_A as partner (principal server):  
    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://HOST_A.Mydomain.Corp.Adventure-Works.com:7024';  
    GO  
    
  2. Pada instans server utama di HOST_A, atur instans server pada HOST_B sebagai mitra (menjadikannya instans server cermin awal). Ganti alamat jaringan yang valid untuk TCP://HOST_B.Mydomain.Corp.Adventure-Works.com:7024.

    --At HOST_A, set server instance on HOST_B as partner (mirror server).  
    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://HOST_B.Mydomain.Corp.Adventure-Works.com:7024';  
    GO  
    
  3. Contoh ini mengasumsikan bahwa sesi akan berjalan dalam mode performa tinggi. Untuk mengonfigurasi sesi ini untuk mode performa tinggi, pada instans server utama (pada HOST_A), atur keamanan transaksi ke NONAKTIF.

    --Change to high-performance mode by turning off transacton safety.  
    ALTER DATABASE AdventureWorks   
        SET PARTNER SAFETY OFF  
    GO  
    

    Catatan

    Jika Anda berniat untuk berjalan dalam mode keselamatan tinggi dengan failover otomatis, biarkan keamanan transaksi diatur ke PENUH (pengaturan default) dan tambahkan bukti sesegera mungkin setelah menjalankan pernyataan 'partner_server' MITRA SET kedua. Perhatikan bahwa saksi harus terlebih dahulu dikonfigurasi untuk koneksi keluar dan masuk.

[Atas Contoh]

Tugas Terkait

Lihat Juga

Keamanan Transportasi untuk Pencerminan Database dan Grup Ketersediaan AlwaysOn (SQL Server)
Tentukan Alamat Jaringan Server (Pencerminan Database)
Titik Akhir Pencerminan Database (SQL Server)
Menggunakan Sertifikat untuk Titik Akhir Database Mirroring (Transact-SQL)
MENGUBAH DATABASE (T-SQL)
Security Center untuk Mesin Database SQL Server dan Azure SQL Database