Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Det här avsnittet beskriver stegen för att konfigurera serverinstanser för att använda certifikat för att autentisera utgående anslutningar för databasspegling. Konfiguration av utgående anslutning måste göras innan du kan konfigurera inkommande anslutningar.
Notera
Alla speglingsanslutningar på en serverinstans använder en enskild databasspeglingsslutpunkt och du måste ange autentiseringsmetoden för serverinstansen när du skapar slutpunkten.
Processen för att konfigurera utgående anslutningar omfattar följande allmänna steg:
I den huvuddatabasen skapar du en huvudnyckel för databasen.
I huvuddatabasen skapar du ett krypterat certifikat på serverinstansen.
Skapa en slutpunkt för serverinstansen med hjälp av dess certifikat.
Säkerhetskopiera certifikatet till en fil och kopiera det på ett säkert sätt till det andra systemet eller systemen.
Du måste slutföra de här stegen för varje partner och vittne, om det finns en.
I följande procedur beskrivs de här stegen i detalj. För varje steg innehåller proceduren ett exempel på hur du konfigurerar en serverinstans i ett system med namnet HOST_A. Det tillhörande avsnittet Exempel visar samma steg för en annan serverinstans i ett system med namnet HOST_B.
Procedur
Konfigurera serverinstanser för utgående speglingsanslutningar (på HOST_A)
På huvuddatabasen skapar du databasens huvudnyckel om det inte finns någon. Om du vill visa befintliga nycklar för en databas använder du sys.symmetric_keys katalogvy.
Om du vill skapa databasens huvudnyckel använder du följande Transact-SQL kommando. Ersätt
<password>
med ett giltigt lösenord.CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; GO
Använd ett unikt, starkt lösenord och registrera det på en säker plats.
Mer information finns i CREATE MASTER KEY (Transact-SQL) och Create a Database Master Key.
I huvuddatabasen skapar du ett krypterat certifikat på serverinstansen som ska användas för utgående anslutningar för databasspegling.
Om du till exempel vill skapa ett certifikat för HOST_A systemet.
Viktig
Om du tänker använda certifikatet i mer än ett år anger du förfallodatumet i UTC-tid med hjälp av alternativet EXPIRY_DATE i create certificate-instruktionen. Vi rekommenderar också att du använder SQL Server Management Studio för att skapa en principbaserad hanteringsregel för att varna dig när dina certifikat upphör att gälla. Använd dialogrutan Principhantering Skapa nytt villkor för att skapa den här regeln på fältet @ExpirationDate på Certifikat fasetten. Mer information finns i Administrera servrar med hjälp av principbaserad hantering och Skydda SQL Server-.
USE master; CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate for database mirroring', EXPIRY_DATE = '11/30/2013'; GO
Mer information finns i CREATE CERTIFICATE (Transact-SQL).
Om du vill visa certifikaten i huvuddatabasen kan du använda följande Transact-SQL-instruktioner:
USE master; SELECT * FROM sys.certificates;
Mer information finns i sys.certificates (Transact-SQL).
Kontrollera att databasspeglingsslutpunkten finns på var och en av serverinstanserna.
Om det redan finns en databasspeglingsslutpunkt för serverinstansen bör du återanvända slutpunkten för andra sessioner som du upprättar på serverinstansen. Använd följande instruktion för att avgöra om en databasspeglingsslutpunkt finns på en serverinstans och för att visa dess konfiguration:
SELECT name, role_desc, state_desc, connection_auth_desc, encryption_algorithm_desc FROM sys.database_mirroring_endpoints;
Om det inte finns någon slutpunkt skapar du en slutpunkt som använder det här certifikatet för utgående anslutningar och som använder certifikatets autentiseringsuppgifter för verifiering i det andra systemet. Det här är en serveromfattande slutpunkt som används av alla speglingssessioner där serverinstansen deltar.
Om du till exempel vill skapa en speglingsslutpunkt för exempelserverinstansen på HOST_A.
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
Mer information finns i CREATE ENDPOINT (Transact-SQL).
Säkerhetskopiera certifikatet och kopiera det till det andra systemet eller systemen. Detta är nödvändigt för att konfigurera inkommande anslutningar i det andra systemet.
BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer'; GO
Mer information finns i BACKUP CERTIFICATE (Transact-SQL).
Kopiera det här certifikatet med valfri säker metod. Var mycket noga med att skydda alla dina certifikat.
Exempelkoden i föregående steg konfigurerar utgående anslutningar på HOST_A.
Nu måste du utföra motsvarande utgående steg för HOST_B. De här stegen visas i följande exempelavsnitt.
Exempel
I följande exempel visas hur du konfigurerar HOST_B för utgående anslutningar.
USE master;
--Create the database Master Key, if needed.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';
GO
-- Make a certificate on HOST_B server instance.
CREATE CERTIFICATE HOST_B_cert
WITH SUBJECT = 'HOST_B certificate for database mirroring',
EXPIRY_DATE = '11/30/2013';
GO
--Create a mirroring endpoint for the server instance on 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
--Backup HOST_B certificate.
BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer';
GO
--Using any secure copy method, copy C:\HOST_B_cert.cer to HOST_A.
Kopiera certifikatet till det andra systemet med valfri säker metod. Var mycket noga med att skydda alla dina certifikat.
Viktig
När du har konfigurerat utgående anslutningar måste du konfigurera inkommande anslutningar på varje serverinstans för den andra serverinstansen eller instanserna. Mer information finns i Tillåt att en databasspeglingsslutpunkt använder certifikat för inkommande anslutningar (Transact-SQL).
Information om hur du skapar en speglingsdatabas, inklusive ett Transact-SQL exempel, finns i Förbereda en speglingsdatabas för spegling (SQL Server).
Ett Transact-SQL exempel på hur du upprättar en session med hög prestanda finns i Exempel: Konfigurera databasspegling med hjälp av certifikat (Transact-SQL).
.NET Framework-säkerhet
Om du inte kan garantera att nätverket är säkert rekommenderar vi att du använder kryptering för databasspeglingsanslutningar.
När du kopierar ett certifikat till ett annat system använder du en säker kopieringsmetod.
Se även
Välj en krypteringsalgoritm
Förbered en speglingsdatabas för spegling (SQL Server)
ALTER ENDPOINT (Transact-SQL)
exempel: Konfigurera databasspegling med hjälp av certifikat (Transact-SQL)
Databaspejlningens slutpunkt (SQL Server)
Felsöka konfiguration av databasspegling (SQL Server)
konfigurera en krypterad speglingsdatabas