Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet exemple montre toutes les étapes requises pour créer une session de mise en miroir de bases de données avec un témoin à l’aide de l’authentification Windows. Les exemples de cette rubrique utilisent Transact-SQL. Notez que comme alternative à l’utilisation des étapes Transact-SQL, vous pouvez utiliser l’Assistant Configurer la sécurité de la mise en miroir de bases de données. Pour plus d’informations, consultez Établir une session de mise en miroir de bases de données à l’aide de l’authentification Windows (SQL Server Management Studio).
Prérequis
L’exemple utilise l’exemple de base de données AdventureWorks , qui utilise le modèle de récupération simple par défaut. Pour utiliser la mise en miroir de bases de données avec cette base de données, vous devez la modifier pour utiliser le modèle de récupération complète. Pour ce faire dans Transact-SQL, utilisez l’instruction ALTER DATABASE, comme suit :
USE master;
GO
ALTER DATABASE AdventureWorks
SET RECOVERY FULL;
GO
Pour plus d’informations sur la modification du modèle de récupération dans SQL Server Management Studio, consultez Afficher ou modifier le modèle de récupération d’une base de données (SQL Server).
Autorisations
Nécessite l’autorisation ALTER sur la base de données et l’autorisation CREATE ENDPOINT, ou l’appartenance au rôle serveur fixe sysadmin .
Exemple :
Dans cet exemple, les deux partenaires et le témoin sont les instances de serveur par défaut sur trois systèmes informatiques. Les trois instances de serveur exécutent le même domaine Windows, mais le compte d’utilisateur (utilisé comme compte de service de démarrage) est différent pour l’instance de serveur témoin de l’exemple.
Le tableau suivant récapitule les valeurs utilisées dans cet exemple.
| Rôle initial de miroir | Système hôte | Compte d’utilisateur de domaine |
|---|---|---|
| Principal | PARTNERHOST1 | <Mydomain>\<dbousername> |
| Miroir | PARTNERHOST5 | <Mydomain>\<dbousername> |
| Témoin | WITNESSHOST4 | <Somedomain>\<witnessuser> |
Créez un point de terminaison sur l’instance de serveur principal (instance par défaut sur 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]; GOCréez un point de terminaison sur l’instance de serveur miroir (instance par défaut sur 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]; GOCréez un point de terminaison sur l’instance de serveur témoin (instance par défaut sur 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]; GOCréez la base de données miroir. Pour plus d’informations, consultez Préparer une base de données miroir pour la mise en miroir (SQL Server).
Sur l’instance de serveur miroir sur PARTNERHOST5, définissez l’instance de serveur sur PARTNERHOST1 en tant que partenaire (ce qui en fait l’instance initiale du serveur principal).
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST1.COM:7022' GOSur l’instance de serveur principal sur PARTNERHOST1, définissez l’instance de serveur sur PARTNERHOST5 en tant que partenaire (ce qui en fait l’instance initiale du serveur miroir).
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST5.COM:7022' GOSur le serveur principal, définissez le témoin (qui se trouve sur WITNESSHOST4).
ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://WITNESSHOST4.COM:7022' GO
Tâches associées
Préparer une base de données miroir pour la mise en miroir (SQL Server)
Configurer une base de données miroir pour utiliser la propriété Trustworthy (Transact-SQL)
Voir aussi
MODIFIER LA BASE DE DONNÉES (Transact-SQL)
Point de terminaison de mise en miroir de bases de données (SQL Server)
Sécurité du transport pour la mise en miroir de bases de données et les groupes de disponibilité AlwaysOn (SQL Server)
Gérer les métadonnées lors de la mise à disposition d'une base de données sur une autre instance de serveur (SQL Server)
Centre de sécurité pour le moteur de base de données SQL Server et la base de données SQL Azure