Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestran todas las fases necesarias 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 de este tema se usa Transact-SQL. Tenga en cuenta que, como alternativa al uso de los pasos Transact-SQL, puede utilizar el Asistente para Configurar la Seguridad del Reflejo de la Base de Datos. Para obtener más información, vea Establecer una sesión de reflejo de base de datos mediante la autenticación de Windows (SQL Server Management Studio).
Prerrequisito
En el ejemplo se usa la base de datos de ejemplo AdventureWorks , que usa el modelo de recuperación simple de forma predeterminada. Para usar el reflejo de la base de datos en esta base de datos, debe modificarla para utilizar el modelo de recuperación completa. Para ello en Transact-SQL, use la instrucción ALTER DATABASE, como se indica a continuación:
USE master;
GO
ALTER DATABASE AdventureWorks
SET RECOVERY FULL;
GO
Para obtener información sobre cómo cambiar el modelo de recuperación en SQL Server Management Studio, vea Ver o cambiar el modelo de recuperación de una base de datos (SQL Server).
Permisos
Requiere el permiso ALTER en la base de datos y el permiso CREATE ENDPOINT, o la pertenencia al rol fijo de servidor sysadmin .
Ejemplo
En este ejemplo, los dos asociados y el testigo son las instancias de servidor predeterminadas en tres sistemas informáticos. Las tres instancias de servidor ejecutan el mismo dominio de Windows, pero la cuenta de usuario (usada como cuenta de servicio de inicio) es diferente para la instancia de servidor testigo del ejemplo.
En la tabla siguiente se resumen los valores usados en este ejemplo.
| Rol de espejo inicial | Sistema anfitrión | Cuenta de usuario de dominio |
|---|---|---|
| Principal | PARTNERHOST1 | <Mydomain>\<dbousername> |
| Reflejo | PARTNERHOST5 | <Mydomain>\<dbousername> |
| Testigo | WITNESSHOST4 | <Somedomain>\<witnessuser> |
Cree un punto de conexión 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]; --Grant connect permissions on endpoint to login account of partners. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername]; GOCree un punto de conexión 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]; --Grant connect permissions on endpoint to login account of partners. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername]; GOCree un punto de conexión 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]; GOCree la base de datos reflejada. Para obtener más información, vea Preparar una base de datos reflejada para la creación de reflejo (SQL Server).
En la instancia del servidor reflejado en PARTNERHOST5, establezca la instancia del servidor en PARTNERHOST1 como asociado (lo que lo convierte en la instancia inicial del servidor principal).
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST1.COM:7022' GOEn la instancia del servidor principal de PARTNERHOST1, establezca la instancia del servidor en PARTNERHOST5 como asociado (lo que lo convierte en la instancia inicial del servidor reflejado).
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST5.COM:7022' GOEn el servidor principal, establezca el testigo (que está en WITNESSHOST4).
ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://WITNESSHOST4.COM:7022' GO
Tareas relacionadas
Preparar una base de datos reflejada para la creación de reflejo (SQL Server)
Configurar una base de datos reflejada para usar la propiedad Trustworthy (Transact-SQL)
Ejemplo: configurar la creación de reflejo de la base de datos con certificados (Transact-SQL)
Véase también
ALTER DATABASE (Transact-SQL)
El extremo de creación de reflejo de la base de datos (SQL Server)
Seguridad de transferencia para la duplicación de bases de datos y los grupos de disponibilidad AlwaysOn (SQL Server)
Administrar los metadatos cuando una base de datos pasa a estar disponible en otra instancia de servidor (SQL Server)
Centro de seguridad para el motor de base de datos SQL Server y la base de datos SQL Azure