Exemple de script de configuration de la mise en miroir de bases de données SQL Server (SharePoint Server 2010)
S’applique à : SharePoint Foundation 2010, SharePoint Server 2010
Dernière rubrique modifiée : 2016-11-30
Cet article contient une série d’exemples de scripts qui vous permettent de configurer la mise en miroir Microsoft SQL Server pour un environnement Microsoft SharePoint Server 2010 de test. Il est recommandé de confier à un administrateur de base de données SQL Server la configuration de la mise en miroir pour un environnement de production.
Pour configurer la mise en miroir de bases de données avec SharePoint Server 2010, vous devez travailler sur chaque base de données à mettre en miroir.
Dans cet article :
Les étapes indiquées dans la section ci-après s’appliquent à la topologie de batterie de serveurs suivante :
Un ou plusieurs serveurs Web frontaux
Trois serveurs exécutant SQL Server 2008: un serveur principal, un serveur miroir et un serveur témoin
Une base de données de configuration
Plusieurs bases de données de contenu
Une ou plusieurs bases de données d’application de service
Configurer la mise en miroir de bases de données avec des certificats et une récupération complète
Chaque étape indique le serveur sur lequel elle doit être réalisée. Utilisez Transact-SQL pour envoyer ces commandes à SQL Server. Les informations des espaces réservés sont indiquées entre des crochets pointus (<>) ; remplacez ces informations par les informations propres à votre déploiement.
Pour configurer le serveur principal pour les connexions sortantes
Sur le serveur principal, créez un certificat et ouvrez un port pour la mise en miroir.
--On the master database, create the database master key, if needed CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<test1234->'; GO -- Make a certificate for this server instance. USE master; CREATE CERTIFICATE <MASTER_HostA_cert> WITH SUBJECT = '<Master_HostA certificate>'; GO --Create a mirroring endpoint for server instance by using the certificate CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <MASTER_HostA_cert> , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO
Sur le serveur principal, sauvegardez le certificat.
--Back up the HOST_A certificate. BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>'; GO
Sur le serveur principal, sauvegardez la base de données. Cet exemple utilise la base de données de configuration. Répétez l’opération pour toutes les bases de données.
USE master; --Ensure that SharePoint_Config uses the full recovery model. ALTER DATABASE SharePoint_Config SET RECOVERY FULL; GO USE SharePoint_Config BACKUP DATABASE SharePoint_Config TO DISK = '<c:\SharePoint_Config.bak>' WITH FORMAT GO BACKUP Log SharePoint_Config TO DISK = '<c:\SharePoint_Config_log.bak>' WITH FORMAT GO
Copiez le fichier de sauvegarde sur le serveur miroir. Répétez l’opération pour toutes les bases de données.
À l’aide de la méthode de copie sécurisée de votre choix, copiez le fichier de certificat de sauvegarde (C:\HOST_HostA_cert.cer, par exemple) sur le serveur miroir.
Sur le serveur principal, créez un compte de connexion et un utilisateur pour le serveur miroir, associez le certificat à l’utilisateur et accordez au compte de connexion des autorisations de connexion pour le partenariat.
--Create a login on HOST_A for HOST_B USE master; CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>'; GO --Create a user for that login. CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <HOST_HostB_cert> AUTHORIZATION <HOST_HostB_user> FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>]; GO
Pour configurer le serveur miroir pour les connexions sortantes
Sur le serveur miroir, créez un certificat et ouvrez un port pour la mise en miroir.
--On the master database, create the database master key, if needed. USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234-test>'; GO -- Make a certificate on the HOST_B server instance. CREATE CERTIFICATE <HOST_HostB> WITH SUBJECT = '<HOST_HostB certificate for database mirroring>'; GO --Create a mirroring endpoint for the server instance on HOST_B. CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <HOST_HostB> , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO
Sur le serveur miroir, sauvegardez le certificat.
--Back up the HOST_B certificate. BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>'; GO
À l’aide de la méthode de copie sécurisée de votre choix, copiez le fichier de certificat de sauvegarde (C:\HOST_HostB_cert.cer, par exemple) sur le serveur principal.
Sur le serveur miroir, restaurez la base de données à partir des fichiers de sauvegarde. Cet exemple utilise la base de données de configuration. Répétez l’opération pour toutes les bases de données.
RESTORE DATABASE SharePoint_Config FROM DISK = '<c:\SharePoint_Config.bak>' WITH NORECOVERY GO RESTORE log SharePoint_Config FROM DISK = '<c:\SharePoint_Config_log.bak>' WITH NORECOVERY GO
Pour configurer le serveur miroir pour les connexions entrantes
Sur le serveur miroir, créez un compte de connexion et un utilisateur pour le serveur principal, associez le certificat à l’utilisateur et accordez au compte de connexion des autorisations de connexion pour le partenariat.
--Create a login on HOST_B for HOST_A USE master; CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->'; GO --Create a user for that login. CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <MASTER_HostA_cert> AUTHORIZATION <MASTER_HostA_user> FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>]; GO
Pour configurer le serveur principal pour les connexions entrantes
Sur le serveur principal, créez un compte de connexion et un utilisateur pour le serveur miroir, associez le certificat à l’utilisateur et accordez au compte de connexion des autorisations de connexion pour le partenariat.
--Create a login on HOST_A for HOST_B USE master; CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>'; GO --Create a user for that login. CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <HOST_HostB_cert> AUTHORIZATION <HOST_HostB_user> FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>]; GO
Pour configurer les serveurs partenaires de la mise en miroir
Sur le serveur principal, configurez le partenariat de la mise en miroir. Cet exemple utilise la base de données de configuration. Répétez l’opération pour toutes les bases de données.
--At HOST_A, set the server instance on HOST_B as a partner (mirror server). ALTER DATABASE SharePoint_Config SET PARTNER = '<TCP://databasemirror.adatum.com:5024>'; GO
Sur le serveur miroir, configurez le partenariat de la mise en miroir. Cet exemple utilise la base de données de configuration. Répétez l’opération pour toutes les bases de données.
--At HOST_B, set the server instance on HOST_A as a partner (principal server): ALTER DATABASE SharePoint_Config SET PARTNER = '<TCP://databasemaster.adatum.com:5024>'; GO
Configurer un serveur témoin
Chaque étape indique le serveur sur lequel elle doit être réalisée. Utilisez Transact-SQL pour envoyer ces commandes à SQL Server. Les informations des espaces réservés sont indiquées entre des crochets pointus (<>) ; remplacez ces informations par les informations propres à votre déploiement.
Sur le serveur témoin, configurez le certificat et ouvrez le port.
--On the master database, create the database master key, if needed CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234test->'; GO -- Make a certificate for this server instance. USE master; CREATE CERTIFICATE <WITNESS_HostC_cert> WITH SUBJECT = '<Witness_HostC certificate>'; GO --Create a mirroring endpoint for server instance by using the certificate CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <WITNESS_HostC_cert , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO
Sur le serveur témoin, sauvegardez le certificat.
--Back up the HOST_C certificate BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>'; GO
À l’aide de la méthode de copie sécurisée de votre choix, copiez le fichier de certificat de sauvegarde (C:\WITNESS_HOSTC_cert.cer, par exemple) sur le serveur principal et sur le serveur miroir.
Sur le serveur témoin, créez des comptes de connexion et des utilisateurs pour les serveurs principal et miroir, associez les certificats aux utilisateurs et accordez aux comptes de connexion des autorisations de connexion pour le partenariat.
--Create a login on witness HOST_C for principal HOST_A USE master; CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->'; GO --Create a user for that login. CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <MASTER_HostA_cert> AUTHORIZATION <MASTER_HostA_user> FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>]; GO --Create a login for the mirror Host_B CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>'; GO --Create a user for that login. CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <HOST_HostB_cert> AUTHORIZATION <HOST_HostB_user> FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>]; GO
Sur le serveur principal, créez un compte de connexion et un utilisateur pour le serveur témoin, associez le certificat à l’utilisateur et accordez au compte de connexion des autorisations de connexion pour le partenariat. Répétez l’opération pour le serveur miroir.
--Create a login on master HostA for witness HostC USE master; CREATE LOGIN <WITNESS_HostC_login> WITH PASSWORD = '<1234test->'; GO --Create a user for that login. CREATE USER <WITNESS_HostC_user> FOR LOGIN <WITNESS_HostC_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <WITNESS_HostC_cert> AUTHORIZATION <WITNESS_HostC_user> FROM FILE = '<c:\WITNESS_HostC_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<WITNESS_HostC_login>]; GO
Sur le serveur principal, attachez le serveur témoin. Cet exemple utilise la base de données de configuration. Répétez l’opération pour toutes les bases de données.
--Set up the witness server ALTER DATABASE SharePoint_Config SET WITNESS = '<TCP://databasewitness.adatum.com:5024>' GO
Transférer les autorisations vers le serveur miroir
Lorsque vous configurez une base de données mise en miroir, les autorisations et les comptes de connexion SQL Server pour la base de données qui sera utilisée avec une batterie de serveurs SharePoint ne sont pas automatiquement configurés dans les bases de données master et msdb sur le serveur miroir. À la place, vous devez configurer les autorisations pour les comptes de connexion requis.
Il est recommandé de transférer vos comptes de connexion et vos autorisations depuis le serveur principal vers le serveur miroir en exécutant un script. Le script dont l’utilisation est recommandée est disponible dans l’article 918992 de la Base de connaissances, Comment faire pour transférer des noms d’accès et des mots de passe entre instances de SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x40C).
Suppression de la mise en miroir d’un serveur
Pour supprimer la mise en miroir d’un serveur, voir Procédure : supprimer une mise en miroir de bases de données (Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=185070&clcid=0x40C).