Script de ejemplo para configurar la creación de reflejos de SQL Server (SharePoint Foundation 2010)
Se aplica a: SharePoint Foundation 2010
Última modificación del tema: 2016-11-30
En este artículo se proporcionan varios ejemplos de script que se pueden usar para configurar la creación de reflejo de Microsoft SQL Server para un entorno de prueba de Microsoft SharePoint Foundation 2010. Se recomienda que un administrador de la base de datos de SQL Server configure la creación de reflejo para un entorno de producción.
Para configurar la creación de reflejo de la base de datos con SharePoint Foundation 2010, debe trabajar de forma individual con cada una de las bases de datos que desea reflejar.
En este artículo:
Configuración de la creación de reflejo de la base de datos con certificados y recuperación completa
Los pasos de la siguiente sección se aplican a la topología del conjunto o granja de servidores que se indica a continuación:
Uno o más servidores front-end web
Tres servidores que ejecutan SQL Server 2008: servidor principal, servidor reflejado y servidor testigo
Una base de datos de configuración
Varias bases de datos de contenido
Una o más bases de datos de aplicación de servicio
Configuración de la creación de reflejo de la base de datos con certificados y recuperación completa
Cada paso indica el servidor en el que se debe realizar. Use Transact-SQL para enviar estos comandos a SQL Server. La información de los marcadores de posición se indica con corchetes angulares (<>); reemplácela con la información específica de la implementación.
Para configurar el servidor principal para conexiones de salida
En el servidor principal, cree un certificado y abra un puerto para creación de reflejo.
--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
En el servidor principal, haga una copia de seguridad del certificado.
--Back up the HOST_A certificate. BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>'; GO
En el servidor principal, haga una copia de seguridad de la base de datos. En este ejemplo se usa la base de datos de configuración. Repita este paso para todas las bases de datos.
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
Copie el archivo de copia de seguridad en el servidor reflejado. Repita este paso para todas las bases de datos.
Mediante cualquier método de copia segura, copie el archivo de copia de seguridad del certificado (por ejemplo, C:\HOST_HostA_cert.cer) en el servidor reflejado.
En el servidor principal, cree un inicio de sesión y un usuario para el servidor reflejado, asocie el certificado con el usuario y otorgue al inicio de sesión los permisos de conexión para la asociación.
--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
Para configurar el servidor reflejado para conexiones de salida
En el servidor reflejado, cree un certificado y abra un puerto para creación de reflejo.
--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
En el servidor reflejado, haga una copia de seguridad del certificado.
--Back up the HOST_B certificate. BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>'; GO
Mediante cualquier método de copia segura, copie el archivo de copia de seguridad del certificado (por ejemplo, C:\HOST_HostB_cert.cer) en el servidor principal.
En el servidor reflejado, restaure la base de datos desde los archivos de copia de seguridad. En este ejemplo se usa la base de datos de configuración. Repita este paso para todas las bases de datos.
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
Para configurar el servidor reflejado para conexiones de entrada
En el servidor reflejado, cree un inicio de sesión y un usuario para el servidor principal, asocie el certificado con el usuario y otorgue al inicio de sesión los permisos de conexión para la asociación.
--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
Para configurar el servidor principal para conexiones de entrada
En el servidor principal, cree un inicio de sesión y un usuario para el servidor reflejado, asocie el certificado con el usuario y otorgue al inicio de sesión los permisos de conexión para la asociación.
--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
Para configurar los asociados de creación de reflejos
En el servidor principal, configure la asociación de creación de reflejo. En este ejemplo se usa la base de datos de configuración. Repita este paso para todas las bases de datos.
--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
En el servidor reflejado, configure la asociación de creación de reflejo. En este ejemplo se usa la base de datos de configuración. Repita este paso para todas las bases de datos.
--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
Configuración de un servidor testigo
Cada paso indica el servidor en el que se debe realizar. Use Transact-SQL para enviar estos comandos a SQL Server. La información de los marcadores de posición se indica con corchetes angulares (<>); reemplácela con la información específica de la implementación.
En el servidor testigo, configure el certificado y abra el puerto.
--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
En el servidor testigo, haga una copia de seguridad del certificado.
--Back up the HOST_C certificate BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>'; GO
Mediante cualquier método de copia segura, copie el archivo de copia de seguridad del certificado (por ejemplo, C:\WITNESS_HOSTC_cert.cer) en el servidor principal y el servidor reflejado.
En el servidor testigo, cree inicios de sesión y usuarios para el servidor principal y el servidor reflejado, asocie los certificados con los usuarios y otorgue a los inicios de sesión los permisos de conexión para la asociación.
--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
En el servidor principal, cree un inicio de sesión y un usuario para el servidor testigo, asocie el certificado con el usuario y otorgue al inicio de sesión los permisos de conexión para la asociación. Repita este paso para el servidor reflejado.
--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
En el servidor principal, adjunte el servidor testigo. En este ejemplo se usa la base de datos de configuración. Repita este paso para todas las bases de datos.
--Set up the witness server ALTER DATABASE SharePoint_Config SET WITNESS = '<TCP://databasewitness.adatum.com:5024>' GO
Transferencia de permisos al servidor reflejado
Cuando se configura una base de datos reflejada, los inicios de sesión y los permisos de SQL Server para la base de datos que se va a usar con una granja de servidores de SharePoint no se configuran de forma automática en las bases de datos maestra y msdb del servidor reflejado. En su lugar, debe configurar los permisos para los inicios de sesión necesarios.
Se recomienda transferir los inicios de sesión y los permisos desde el servidor principal al servidor reflejado mediante la ejecución de un script. Se recomienda usar el script disponible en el artículo 918992 de Knowledge Base acerca de cómo transferir los inicios de sesión y las contraseñas entre instancias de SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0xC0A).
Quitar la creación de reflejo de un servidor
Para quitar la creación de reflejo de un servidor, vea el tema de procedimiento para quitar la creación de reflejo de la base de datos (Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=185070&clcid=0xC0A).