Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
In dit voorbeeld ziet u alle fasen die vereist zijn voor het maken van een databasespiegelingssessie met behulp van verificatie op basis van certificaten. In de voorbeelden in dit onderwerp wordt Transact-SQL gebruikt. Tenzij u kunt garanderen dat uw netwerk veilig is, raden we u aan versleuteling te gebruiken voor databasespiegelingsverbindingen.
Wanneer u een certificaat naar een ander systeem kopieert, gebruikt u een veilige kopieermethode. Wees uiterst voorzichtig om al uw certificaten veilig te houden.
Example
In het volgende voorbeeld ziet u wat er moet gebeuren voor één partner die zich op HOST_A bevindt. In dit voorbeeld zijn de twee partners de standaardserverexemplaren op drie computersystemen. De twee serverexemplaren worden uitgevoerd in niet-vertrouwde Windows domeinen, dus verificatie op basis van certificaten is vereist.
De eerste hoofdrol wordt genomen door HOST_A en de spiegelrol wordt genomen door HOST_B.
Het instellen van databasespiegeling met behulp van certificaten omvat vier algemene fasen, waarvan drie fasen-1, 2 en 4-worden gedemonstreerd in dit voorbeeld. Deze fasen zijn als volgt:
Uitgaande verbindingen configureren
In dit voorbeeld ziet u de stappen voor:
Configureren van Host_A voor uitgaande verbindingen.
Configureren van Host_B voor uitgaande verbindingen.
Zie Een databasespiegelingseindpunt toestaan certificaten te gebruiken voor uitgaande verbindingen (Transact-SQL) voor meer informatie over deze fase van het instellen van databasespiegeling.
Binnenkomende verbindingen configureren
In dit voorbeeld ziet u de stappen voor:
Configureren van Host_A voor binnenkomende verbindingen.
Configureren van Host_B voor binnenkomende verbindingen.
Zie Een databasespiegelingseindpunt toestaan certificaten te gebruiken voor binnenkomende verbindingen (Transact-SQL) voor meer informatie over deze fase van het instellen van databasespiegeling.
De gespiegelde database maken
Zie Een gespiegelde database voorbereiden voor spiegeling (SQL Server) voor meer informatie over het maken van een gespiegelde database.
Uitgaande verbindingen configureren
Host_A configureren voor uitgaande verbindingen
Maak zo nodig in de hoofddatabase de mastersleutel van de database. Vervang
<password>door een geldig wachtwoord.USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; GOMaak een certificaat voor deze serverinstantie.
USE master; CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate'; GOMaak een spiegelingseindpunt voor serverexemplaren met behulp van het certificaat.
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 ); GOMaak een back-up van het HOST_A-certificaat en kopieer het naar een ander systeem, HOST_B.
BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer'; GOKopieer C:\HOST_A_cert.cer met behulp van een veilige kopieermethode naar HOST_B.
Host_B configureren voor uitgaande verbindingen
Maak in de systeemdatabase master indien nodig de basishoofdsleutel van de database.
USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>'; GOMaak een certificaat voor de HOST_B-serverinstantie.
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate for database mirroring'; GOMaak een eindpunt voor spiegeling voor de serverinstantie op 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 ); GOMaak een back-up van HOST_B certificaat.
BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer'; GOKopieer C:\HOST_B_cert.cer met behulp van een veilige kopieermethode naar HOST_A.
Zie Toestaan dat een eindpunt voor databasespiegeling certificaten gebruikt voor uitgaande verbindingen (Transact-SQL)voor meer informatie.
Binnenkomende verbindingen configureren
Host_A configureren voor binnenkomende verbindingen
Maak een aanmelding op HOST_A voor HOST_B. Vervang
<password>door een geldig wachtwoord.USE master; CREATE LOGIN HOST_B_login WITH PASSWORD = '<password>'; GO--Maak een gebruiker voor die aanmelding.
CREATE USER HOST_B_user FOR LOGIN HOST_B_login; GO--Koppel het certificaat aan de gebruiker.
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:\HOST_B_cert.cer' GOVerdeel CONNECT-machtigingen voor de aanmelding voor het eindpunt voor externe spiegeling.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login]; GO
Host_B configureren voor binnenkomende verbindingen
Maak een aanmelding op HOST_B voor HOST_A.
USE master; CREATE LOGIN HOST_A_login WITH PASSWORD = '=Sample#2_Strong_Password2'; GOMaak een gebruiker voor die aanmelding.
CREATE USER HOST_A_user FOR LOGIN HOST_A_login; GOKoppel het certificaat aan de gebruiker.
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:\HOST_A_cert.cer' GOVerdeel CONNECT-machtigingen voor de aanmelding voor het eindpunt voor externe spiegeling.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login]; GO
Important
Als u van plan bent te werken in de modus met hoge veiligheid en automatische failover, moet u dezelfde configuratiestappen herhalen om de witness-server te configureren voor uitgaande en inkomende verbindingen. Voor het instellen van de binnenkomende verbindingen wanneer een witness betrokken is, moet u aanmeldingen en gebruikers instellen voor de witness op beide partners en voor beide partners op de witness.
Zie Toestaan dat een eindpunt voor databasespiegeling certificaten gebruikt voor inkomende verbindingen (Transact-SQL) voor meer informatie.
De gespiegelde database maken
Zie Een gespiegelde database voorbereiden voor spiegeling (SQL Server) voor meer informatie over het maken van een gespiegelde database.
De spiegelingspartners configureren
Stel op het spiegelserverexemplaar op HOST_B het serverexemplaar op HOST_A in als partner (waarmee dit het initiële hoofdserverexemplaar wordt). Vervang een geldig netwerkadres voor
TCP://HOST_A.Mydomain.Corp.Adventure-Works``.com:7024. Zie Een servernetwerkadres opgeven (databasespiegeling) voor meer informatie.--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'; GOStel op de primaire serverinstantie op HOST_A de serverinstantie op HOST_B in als partner (waardoor dit de initiële spiegelserverinstantie wordt). Vervang een geldig netwerkadres voor
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'; GOIn dit voorbeeld wordt ervan uitgegaan dat de sessie wordt uitgevoerd in de modus met hoge prestaties. Als u deze sessie wilt configureren voor de modus voor hoge prestaties, stelt u op de primaire serverinstantie (op HOST_A) de transactieveiligheid in op UIT.
--Change to high-performance mode by turning off transaction safety. ALTER DATABASE AdventureWorks SET PARTNER SAFETY OFF GONote
Als u van plan bent in de modus voor hoge veiligheid met automatische failover te werken, laat transactieveiligheid dan ingesteld op FULL (de standaardinstelling) en voeg de getuige zo snel mogelijk toe na het uitvoeren van de tweede SET PARTNER 'partner_server'-instructie. Houd er rekening mee dat de witness eerst moet worden geconfigureerd voor uitgaande en binnenkomende verbindingen.
Gerelateerde taken
Een mirrordatabase voorbereiden voor spiegeling (SQL Server)
Beheer van aanmeldingen en taken na het overschakelen van rollen (SQL Server)
Metagegevens beheren bij het beschikbaar maken van een database op een ander serverexemplaar (SQL Server) (SQL Server)
Problemen met de configuratie van databasespiegeling (SQL Server) oplossen
Zie ook
Transportbeveiliging voor Database Mirroring en Always On Availability Groups (SQL Server)
Een servernetwerkadres opgeven (databasespiegeling)
Het Eindpunt voor Databasespiegeling (SQL Server)
Certificaten gebruiken voor een eindpunt voor databasespiegeling (Transact-SQL)
ALTER DATABASE (Transact-SQL)
Security Center voor SQL Server Database Engine en Azure SQL Database