Příklad: Konfigurace zrcadlení databáze pomocí ověřování systému Windows (Transact-SQL)

platí pro:SQL Server

Tento příklad ukazuje všechny kroky potřebné k vytvoření relace databázového zrcadlení s arbitrem pomocí ověřování systému Windows. Příklady v tomto tématu používají Transact-SQL. Všimněte si, že jako alternativu k použití Transact-SQL kroků můžete použít Průvodce konfigurací zabezpečení zrcadlení databáze pro nastavení zrcadlení databáze. Další informace naleznete v Vytvoření relace zrcadlení databáze pomocí ověřování systému Windows (SQL Server Management Studio).

Předpoklad

Příklad používá ukázkovou databázi AdventureWorks , která ve výchozím nastavení používá jednoduchý model obnovení. Chcete-li s touto databází používat zrcadlení databáze, musíte tuto databázi změnit tak, aby používala model úplného obnovení. Chcete-li to provést v Transact-SQL, použijte příkaz ALTER DATABASE následujícím způsobem:

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

Informace o změně modelu obnovení v SQL Server Management Studio najdete v tématu Zobrazení nebo změna modelu obnovení databáze (SQL Server).

Povolení

Vyžaduje oprávnění ALTER k databázi a oprávnění CREATE ENDPOINT, nebo členství v pevné roli serveru sysadmin.

Example

V tomto příkladu jsou dva partneři a svědek výchozí instance serveru ve třech počítačích. Všechny tři instance serveru běží ve stejné doméně systému Windows, ale uživatelský účet (používaný ke spuštění služby) je u instance arbitračního serveru v tomto příkladu jiný.

Následující tabulka shrnuje hodnoty použité v tomto příkladu.

Počáteční role zrcadlení Hostitelský systém Uživatelský účet domény
Ředitel školy PARTNERHOST1 <Mydomain>\<dbousername>
Mirror PARTNERHOST5 <Mydomain>\<dbousername>
Witness WITNESSHOST4 <Somedomain>\<witnessuser>
  1. Vytvořte koncový bod v instanci hlavního serveru (výchozí instance na 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. Vytvořte koncový bod v instanci zrcadlového serveru (výchozí instance na 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. Vytvořte koncový bod v instanci serveru svědka (výchozí instance na 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. Vytvořte zrcadlenou databázi. Další informace naleznete v tématu Příprava zrcadlové databáze pro zrcadlení (SQL Server).

  5. V instanci zrcadlového serveru na PARTNERHOST5 nastavte instanci serveru na PARTNERHOST1 jako partnera (což z ní činí počáteční instanci hlavního serveru).

    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1.COM:7022'  
    GO  
    
  6. V instanci hlavního serveru na PARTNERHOST1 nastavte instanci serveru na PARTNERHOST5 jako partnera (což z ní činí počáteční instanci zrcadlového serveru).

    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'  
    GO  
    
  7. Na hlavním serveru nastavte svědka (na WITNESSHOST4).

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

Související úkoly

Viz také

ALTER DATABASE (Transact-SQL)
Koncový bod zrcadlení databáze (SQL Server)
Zabezpečení přenosu pro zrcadlení databáze a skupiny dostupnosti AlwaysOn (SQL Server)
spravovat metadata při zpřístupnění databáze v jiné instanci serveru (SQL Server)
Security Center pro databázový stroj SQL Serveru a službu Azure SQL Database