Mengonfigurasi pencerminan database

Berlaku untuk:SQL Server

Catatan

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. Gunakan grup ketersediaan AlwaysOn sebagai gantinya.

Setelah database cermin disiapkan (lihat Menyiapkan Database Cermin untuk Pencerminan (SQL Server)), Anda dapat membuat sesi pencerminan database. Instans server utama, cermin, dan bukti harus berupa instans server terpisah, yang harus berada di sistem host terpisah.

Penting

Kami menyarankan agar Anda mengonfigurasi pencerminan database selama jam sibuk karena mengonfigurasi pencerminan dapat memengaruhi performa.

Catatan

Instans server tertentu dapat berpartisipasi dalam beberapa sesi pencerminan database bersamaan dengan mitra yang sama atau berbeda. Instans server dapat menjadi mitra dalam beberapa sesi dan saksi di sesi lain. Instans server cermin harus menjalankan edisi SQL Server yang sama dengan instans server utama. Pencerminan database tidak tersedia di setiap edisi Microsoft SQL Server. Untuk daftar fitur yang didukung oleh edisi SQL Server, lihat Fitur yang Didukung oleh Edisi SQL Server 2016. Selain itu, kami sangat menyarankan agar mereka berjalan pada sistem yang sebanding yang dapat menangani beban kerja yang identik.

Untuk membuat sesi pencerminan database

  1. Buat database cermin. Untuk informasi selengkapnya, lihat Menyiapkan Database Cermin untuk Pencerminan (SQL Server).

  2. Siapkan keamanan pada setiap instans server.

    Setiap instans server dalam sesi pencerminan database memerlukan titik akhir pencerminan database. Jika titik akhir tidak ada, Anda harus membuatnya.

    Catatan

    Bentuk autentikasi yang digunakan untuk pencerminan database oleh instans server adalah properti dari titik akhir pencerminan databasenya. Dua jenis keamanan transportasi tersedia untuk pencerminan database: Autentikasi Windows atau autentikasi berbasis sertifikat. Untuk informasi selengkapnya, lihat Keamanan Transportasi untuk Pencerminan Database dan Grup Ketersediaan AlwaysOn (SQL Server).

    Di setiap server mitra, pastikan bahwa titik akhir ada untuk pencerminan database. Terlepas dari jumlah sesi pencerminan yang akan didukung, instans server hanya dapat memiliki satu titik akhir pencerminan database. Jika Anda ingin menggunakan instans server ini secara eksklusif untuk mitra dalam sesi pencerminan database, Anda dapat menetapkan peran mitra ke titik akhir (ROLE**=**PARTNER). Jika Anda berniat juga menggunakan server ini untuk saksi dalam sesi pencerminan database lainnya, tetapkan peran titik akhir sebagai SEMUA.

    Untuk menjalankan pernyataan SET PARTNER, STATUS titik akhir kedua mitra harus diatur ke STARTED.

    Untuk mempelajari apakah instans server memiliki titik akhir pencerminan database dan untuk mempelajari peran dan statusnya, pada instans tersebut, gunakan pernyataan Transact-SQL berikut:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints  
    

    Penting

    Jangan konfigurasi ulang titik akhir pencerminan database yang sedang digunakan. Jika titik akhir pencerminan database ada dan sudah digunakan, kami sarankan Anda menggunakan titik akhir tersebut untuk setiap sesi pada instans server. Menghilangkan titik akhir yang digunakan dapat menyebabkan titik akhir dimulai ulang, mengganggu koneksi sesi yang ada, yang tampaknya merupakan kesalahan ke instans server lainnya. Ini sangat penting dalam mode keamanan tinggi dengan failover otomatis, di mana mengonfigurasi ulang titik akhir pada mitra dapat menyebabkan kegagalan terjadi. Selain itu, jika saksi telah ditetapkan untuk sesi, menghilangkan titik akhir pencerminan database dapat menyebabkan server utama sesi tersebut kehilangan kuorum; jika itu terjadi, database diambil secara offline dan penggunanya terputus. Untuk informasi selengkapnya, lihat Kuorum: Bagaimana Bukti Memengaruhi Ketersediaan Database (Pencerminan Database).

    Jika salah satu mitra tidak memiliki titik akhir, lihat Membuat Titik Akhir Pencerminan Database untuk Autentikasi Windows (Transact-SQL).

  3. Jika instans server berjalan di bawah akun pengguna domain yang berbeda, masing-masing memerlukan login di database master yang lain. Jika login tidak ada, Anda harus membuatnya. Untuk informasi selengkapnya, lihat Mengizinkan Akses Jaringan ke Titik Akhir Pencerminan Database Menggunakan Autentikasi Windows (SQL Server).

  4. Untuk mengatur server utama sebagai mitra pada database cermin, sambungkan ke server cermin, dan terbitkan pernyataan berikut:

    ALTER DATABASE <database_name> SET PARTNER =<server_network_address>

    di mana <database_name> adalah nama database yang akan dicerminkan (nama ini sama pada kedua mitra), dan< server_network_address> adalah alamat jaringan server server utama.

    Sintaks untuk alamat jaringan server adalah sebagai berikut:

    TCP://<system-address>:port<>

    di mana <alamat> sistem adalah string yang secara tidak ambigu mengidentifikasi sistem komputer tujuan, dan< port> adalah nomor port yang digunakan oleh titik akhir pencerminan instans server mitra. Untuk informasi selengkapnya, lihat Menentukan Alamat Jaringan Server (Pencerminan Database).

    Misalnya, pada instans server cermin, pernyataan ALTER DATABASE berikut menetapkan mitra sebagai instans server utama asli. Nama databasenya adalah AdventureWorks, alamat sistemnya DBSERVER1-nama sistem mitra-dan port yang digunakan oleh titik akhir pencerminan database mitra adalah 7022:

    ALTER DATABASE AdventureWorks   
       SET PARTNER = 'TCP://DBSERVER1:7022'  
    

    Pernyataan ini menyiapkan server cermin untuk membentuk sesi ketika dihubungi oleh server utama.

  5. Untuk mengatur server cermin sebagai mitra pada database utama, sambungkan ke server utama, dan terbitkan pernyataan berikut:

    ALTER DATABASE <database_name> SET PARTNER =<server_network_address>

    Untuk informasi selengkapnya, lihat langkah 4.

    Misalnya, pada instans server utama, pernyataan ALTER DATABASE berikut menetapkan mitra sebagai instans server cermin asli. Nama databasenya adalah AdventureWorks, alamat sistemnya DBSERVER2-nama sistem mitra-dan port yang digunakan oleh titik akhir pencerminan database mitra adalah 7025:

    ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://DBSERVER2:7022'  
    

    Memasukkan pernyataan ini di server utama memulai sesi pencerminan database.

  6. Secara default sesi diatur ke keamanan transaksi penuh (KESELAMATAN diatur ke PENUH), yang memulai sesi dalam mode keamanan tinggi yang sinkron tanpa failover otomatis. Anda dapat mengonfigurasi ulang sesi untuk berjalan dalam mode keselamatan tinggi dengan failover otomatis atau dalam mode performa tinggi asinkron, sebagai berikut:

Contoh

Catatan

Contoh berikut membuat sesi pencerminan database antara mitra untuk database cermin yang ada. Untuk informasi tentang membuat database cermin, lihat Menyiapkan Database Cermin untuk Pencerminan (SQL Server)=.

Contoh menunjukkan langkah-langkah dasar untuk membuat sesi pencerminan database tanpa saksi. Kedua mitra adalah instans server default pada dua sistem komputer (PARTNERHOST1 dan PARTNERHOST5). Dua instans mitra menjalankan akun pengguna domain Windows yang sama (MYDOMAIN\dbousername).

  1. Pada instans server utama (instans default pada PARTNERHOST1), buat titik akhir yang mendukung semua peran menggunakan port 7022:

    --create an endpoint for this instance  
    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    
  2. Pada instans server cermin (instans default di PARTNERHOST5), buat titik akhir yang mendukung semua peran menggunakan port 7022:

    --create an endpoint for this instance  
    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    
  3. Pada instans server utama (pada PARTNERHOST1), cadangkan database:

    BACKUP DATABASE AdventureWorks   
        TO DISK = 'C:\AdvWorks_dbmirror.bak'   
        WITH FORMAT  
    GO  
    
  4. Pada instans server cermin (di PARTNERHOST5), pulihkan database:

    RESTORE DATABASE AdventureWorks   
        FROM DISK = 'Z:\AdvWorks_dbmirror.bak'   
        WITH NORECOVERY  
    GO  
    
  5. Setelah membuat cadangan database lengkap, Anda harus membuat cadangan log pada database utama. Misalnya, pernyataan Transact-SQL berikut mencadangkan log ke file yang sama yang digunakan oleh cadangan database sebelumnya:

    BACKUP LOG AdventureWorks   
        TO DISK = 'C:\AdventureWorks.bak'   
    GO  
    
  6. Sebelum dapat mulai mencerminkan, Anda harus menerapkan cadangan log yang diperlukan (dan cadangan log berikutnya).

    Misalnya, pernyataan Transact-SQL berikut memulihkan log pertama dari C:\AdventureWorks.bak:

    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\ AdventureWorks.bak'   
        WITH FILE=1, NORECOVERY  
    GO  
    
  7. Pada instans server cermin, atur instans server pada PARTNERHOST1 sebagai mitra (menjadikannya server utama awal):

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1:7022'  
    GO  
    

    Penting

    default, sesi pencerminan database berjalan dalam mode sinkron, yang tergantung pada memiliki keamanan transaksi penuh (SAFETY diatur ke PENUH). Untuk menyebabkan sesi berjalan dalam mode asinkron berkinerja tinggi, atur SAFETY ke OFF. Untuk informasi selengkapnya, lihat Mode Operasi Pencerminan Database.

  8. Pada instans server utama, atur instans server sebagai PARTNERHOST5 mitra (menjadikannya server cermin awal):

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5:7022'  
    GO  
    
  9. Secara opsional, jika Anda ingin menggunakan mode keselamatan tinggi dengan failover otomatis, siapkan instans server saksi. Untuk informasi selengkapnya, lihat Menambahkan Bukti Pencerminan Database Menggunakan Autentikasi Windows (Transact-SQL).

Catatan

Untuk contoh lengkap memperlihatkan penyiapan keamanan, menyiapkan database cermin, menyiapkan mitra, dan menambahkan bukti, lihat Menyiapkan Pencerminan Database (SQL Server).

Lihat Juga

Menyiapkan Pencerminan Database (SQL Server)
MENGUBAH DATABASE (T-SQL)
Perbolehkan Akses Jaringan ke Titik Akhir Pencerminan Database Menggunakan Autentikasi Windows (SQL Server)
Menyiapkan Database Cermin untuk Pencerminan (SQL Server)
Membuat Titik Akhir Pencerminan Database untuk Autentikasi Windows (Transact-SQL)
Pencerminan Database dan Pengiriman Log (SQL Server)
Pencerminan Database (SQL Server)
Pencerminan dan Replikasi Database (SQL Server)
Menyiapkan Pencerminan Database (SQL Server)
Tentukan Alamat Jaringan Server (Pencerminan Database)
Mode Operasi Mirroring Database