Exemple : Configurer la mise en miroir d'une base de données à l'aide de l'authentification Windows (Transact-SQL)

Cet exemple illustre toutes les étapes nécessaires à la création d'une session de mise en miroir de base de données avec un serveur témoin à l'aide de l'authentification Windows. Les exemples de cette rubrique utilisent Transact-SQL. Notez qu'au lieu d'utiliser les étapes Transact-SQL, vous pouvez utiliser l'Assistant Sécurité de mise en miroir de bases de données pour configurer la mise en miroir de base de données. Pour plus d'informations, consultez Gestion de la mise en miroir de bases de données (SQL Server Management Studio).

Élément requis

L'exemple utilise la base de données d'exemple AdventureWorks, qui emploie par défaut le mode de récupération simple. Pour utiliser la mise en miroir avec cette base de données, vous devez la modifier pour qu'elle utilise le mode de restauration complète. Pour obtenir ce résultat 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 le changement du mode de récupération dans SQL Server Management Studio, consultez Procédure : affichage ou modification du mode de récupération d'une base de données (SQL Server Management Studio).

Exemple

Dans cet exemple, les deux partenaires et le témoin sont les instances de serveur par défaut réparties sur trois systèmes informatiques. Les trois instances de serveur utilisent le même domaine Windows, mais le compte d'utilisateur est différent pour l'instance du témoin.

Le tableau ci-dessous récapitule les valeurs utilisées dans cet exemple.

Rôle initial de la mise en miroir Système hôte Compte d'utilisateur de domaine

Entités de sécurité

PARTNERHOST1

<Mydomain>\<dbousername>

Miroir

PARTNERHOST5

<Mydomain>\<dbousername>

Témoin

WITNESSHOST4

<Somedomain>\<witnessuser>

  1. Créez un point de terminaison dans l'instance du 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];
    GO
    
  2. Créez un point de terminaison dans l'instance du 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];
    GO
    
  3. Créez un point de terminaison dans l'instance du 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];
    GO
    
  4. Créez la base de données miroir. Pour plus d'informations, consultez Procédure : préparer une base de données miroir pour la mise en miroir (Transact-SQL).

  5. Dans l'instance du serveur miroir sur PARTNERHOST5, définissez l'instance de serveur sur PARTNERHOST1 comme partenaire (ce qui en fait l'instance initiale du serveur principal).

    ALTER DATABASE AdventureWorks 
        SET PARTNER = 
        'TCP://PARTNERHOST1.COM:7022'
    GO
    
  6. Dans l'instance du serveur principal sur PARTNERHOST1, définissez l'instance de serveur sur PARTNERHOST5 comme partenaire (ce qui en fait l'instance initiale du serveur miroir).

    ALTER DATABASE AdventureWorks 
        SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'
    GO
    
  7. Sur le serveur principal, définissez le témoin (qui se trouve sur WITNESSHOST4).

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

Voir aussi

Tâches

Procédure : exécuter l'Assistant Configuration de la sécurité de mise en miroir de bases de données (SQL Server Management Studio)
Procédure : configurer une base de données miroir pour qu'elle utilise la propriété Trustworthy

Concepts

Sécurité du transport de la mise en miroir de bases de données
Gestion de la mise en miroir de bases de données (SQL Server Management Studio)
Gestion des métadonnées lors de la mise à disposition d'une base de données sur une autre instance de serveur
Point de terminaison de mise en miroir de bases de données

Autres ressources

ALTER DATABASE (Transact-SQL)
Considérations de sécurité pour SQL Server

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

5 décembre 2005

Contenu modifié :
  • Remplacement d'étapes devenues obsolètes pour la création d'une base de données miroir avec un lien vers la rubrique décrivant la procédure appropriée.
  • Mise à jour des adresses réseau du serveur exemple.