Compartir a través de


Ejemplo: Configurar la creación de reflejo de la base de datos mediante la autenticación de Windows (Transact-SQL)

En este ejemplo se muestran todos los pasos necesarios para crear una sesión de creación de reflejo de la base de datos con un testigo mediante la autenticación de Windows. En los ejemplos descritos en este tema se utiliza Transact-SQL. Tenga en cuenta que como alternativa a los pasos que utilizan Transact-SQL, puede utilizar el Asistente para la configuración de seguridad de la creación de reflejo de bases de datos para configurar la creación de reflejo de la base de datos. Para obtener más información, vea Administrar la creación de reflejo de la base de datos (SQL Server Management Studio).

Requisito previo

Este ejemplo utiliza la base de datos de ejemplo AdventureWorks, que usa de forma predeterminada un modelo de recuperación simple. Para utilizar la creación de reflejo de la base de datos con esta base de datos, modifíquela para que utilice el modelo de recuperación completa. Para llevarlo a cabo en Transact-SQL, utilice la instrucción ALTER DATABASE del siguiente modo:

USE master;
GO
ALTER DATABASE AdventureWorks 
SET RECOVERY FULL;
GO

Para obtener información acerca del cambio del modelo de recuperación en SQL Server Management Studio, vea Cómo ver o cambiar el modelo de recuperación de una base de datos (SQL Server Management Studio).

Ejemplo

En este ejemplo, dos asociados y el testigo son las instancias de servidor predeterminadas en tres equipos. Las tres instancias de servidor se ejecutan en el mismo dominio de Windows, pero la cuenta de usuario es diferente para la instancia del servidor testigo del ejemplo.

En la siguiente tabla se muestran de forma resumida los valores utilizados en este ejemplo.

Función de creación de reflejo inicial

Sistema host

Cuenta de usuario del dominio

Principal

PARTNERHOST1

<Mydomain>\<dbousername>

Reflejo

PARTNERHOST5

<Mydomain>\<dbousername>

Testigo

WITNESSHOST4

<Somedomain>\<witnessuser>

  1. Cree un extremo en la instancia del servidor principal (instancia predeterminada en 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. Cree un extremo en la instancia del servidor reflejado (instancia predeterminada en 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. Cree un extremo en la instancia del servidor testigo (instancia predeterminada en 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. Cree la base de datos reflejada. Para obtener más información, vea Cómo preparar una base de datos reflejada para la creación de reflejo (Transact-SQL).

  5. En la instancia del servidor reflejado en PARTNERHOST5, establezca la instancia de servidor en PARTNERHOST1 como asociado (para convertirla en la instancia del servidor principal inicial).

    ALTER DATABASE AdventureWorks 
        SET PARTNER = 
        'TCP://PARTNERHOST1.COM:7022'
    GO
    
  6. En la instancia del servidor principal en PARTNERHOST1, establezca la instancia de servidor en PARTNERHOST5 como asociado (para convertirla en la instancia del servidor reflejado inicial).

    ALTER DATABASE AdventureWorks 
        SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'
    GO
    
  7. En el servidor principal, establezca el testigo (que se encuentra en WITNESSHOST4).

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