Contoh: Mengonfigurasi pencerminan database menggunakan autentikasi Windows (Transact-SQL)

Berlaku untuk:SQL Server

Contoh ini menunjukkan semua tahapan yang diperlukan untuk membuat sesi pencerminan database dengan bukti menggunakan Autentikasi Windows. Contoh dalam topik ini menggunakan Transact-SQL. Perhatikan bahwa sebagai alternatif untuk menggunakan langkah-langkah Transact-SQL, Anda bisa menggunakan Wizard Keamanan Pencerminan Database untuk penyiapan pencerminan database. Untuk informasi selengkapnya, lihat Membuat Sesi Pencerminan Database Menggunakan Autentikasi Windows (SQL Server Management Studio).

Prasyarat

Contohnya menggunakan database sampel AdventureWorks , yang menggunakan model pemulihan sederhana secara default. Untuk menggunakan pencerminan database dengan database ini, Anda harus mengubahnya untuk menggunakan model pemulihan penuh. Untuk melakukan ini di Transact-SQL, gunakan pernyataan ALTER DATABASE, sebagai berikut:

USE master;  
GO  
ALTER DATABASE AdventureWorks   
SET RECOVERY FULL;  
GO  

Untuk informasi tentang mengubah model pemulihan di SQL Server Management Studio, lihat Menampilkan atau Mengubah Model Pemulihan Database (SQL Server).

Izin

Memerlukan izin UBAH pada database dan izin CREATE ENDPOINT, atau keanggotaan dalam peran server tetap sysadmin .

Contoh

Dalam contoh ini, kedua mitra dan saksi adalah instans server default pada tiga sistem komputer. Tiga instans server menjalankan domain Windows yang sama, tetapi akun pengguna (digunakan sebagai akun layanan startup) berbeda untuk contoh instans server bukti.

Tabel berikut ini meringkas nilai yang digunakan dalam contoh ini.

Peran pencerminan awal Sistem host Akun pengguna domain
Utama PARTNERHOST1 <Mydomain>\<dbousername>
Cermin PARTNERHOST5 <Mydomain>\<dbousername>
saksi WITNESSHOST4 <Somedomain>\<witnessuser>
  1. Buat titik akhir pada instans server utama (instans default pada PARTNERHOST1).

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=PARTNER)  
    GO  
    --Partners under same domain user; login already exists in master.  
    --Create a login for the witness server instance,  
    --which is running as Somedomain\witnessuser:  
    USE master ;  
    GO  
    CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;  
    GO  
    -- Grant connect permissions on endpoint to login account of witness.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  2. Buat titik akhir pada instans server cermin (instans default pada PARTNERHOST5).

    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.  
    --Create a login for the witness server instance,  
    --which is running as Somedomain\witnessuser:  
    USE master ;  
    GO  
    CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;  
    GO  
    --Grant connect permissions on endpoint to login account of witness.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  3. Buat titik akhir pada instans server saksi (instans default pada WITNESSHOST4).

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=WITNESS)  
    GO  
    --Create a login for the partner server instances,  
    --which are both running as Mydomain\dbousername:  
    USE master ;  
    GO  
    CREATE LOGIN [Mydomain\dbousername] FROM WINDOWS ;  
    GO  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  4. Buat database cermin. Untuk informasi selengkapnya, lihat Menyiapkan Database Cermin untuk Pencerminan (SQL Server).

  5. Pada instans server cermin pada PARTNERHOST5, atur instans server pada PARTNERHOST1 sebagai mitra (menjadikannya instans server utama awal).

    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1.COM:7022'  
    GO  
    
  6. Pada instans server utama di PARTNERHOST1, atur instans server pada PARTNERHOST5 sebagai mitra (menjadikannya instans server cermin awal).

    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'  
    GO  
    
  7. Di server utama, atur saksi (yang ada di WITNESSHOST4).

    ALTER DATABASE AdventureWorks   
        SET WITNESS =   
        'TCP://WITNESSHOST4.COM:7022'  
    GO  
    

Tugas Terkait

Lihat Juga

MENGUBAH DATABASE (T-SQL)
Titik Akhir Pencerminan Database (SQL Server)
Keamanan Transportasi untuk Pencerminan Database dan Grup Ketersediaan AlwaysOn (SQL Server)
Mengelola Metadata Saat Membuat Database Tersedia di Instans Server Lain (SQL Server)
Security Center untuk Mesin Database SQL Server dan Azure SQL Database