Replicar datos SQL Server 2008 de remoto a local
Actualmente tengo una BD SQL Server 2008 R2 instalada en un servidor Local y además tengo la misma BD SQL Server 2008 R2 en un servidor remoto al que solo tengo acceso como conexión (no sa).
Necesito que los datos del servidor sql remoto sean actualizados en el servidor sql local para que ambas bd queden iguales al día de hoy.
He intentado realizar tarea de replicación, exportación, importación sin poder hasta ahora lograrlo ya que siempre el error es por permisos en el sql remoto.
Ojalá alguien tenga algún dato o truco de como realizar esta operación.
1 Respuesta
I. Hola Compañero, Googleando se ven algunos tutoriales, quizás la mayor parte ya los hayas encontrado pero quería intentarlo, ánimo.
https://www.youtube.com/watch?v=ksnuYpE7A3s
http://www.devjoker.com/foros/Foro-SQL-Server/678/de-BD-remota-a-BD-local.aspx
https://social.technet.microsoft.com/Forums/es-ES/c9d93d61-90fd-475f-8922-ed5b16397fa1/sql-2008-r2-replicar-mirror-en-un-nuevo-servidor?forum=technetpluslatames
https://translate.googleusercontent.com/translate_c?depth=1&hl=es&prev=search&rurl=translate.google.es&sl=en&sp=nmt4&u=https://dba.stackexchange.com/questions/76210/how-to-copy-database-from-server-to-local-machine-in-sql-server-management-studi&usg=ALkJrhj5f5FO2OQt_HjNANpFEjJ9NK7ArQ
Configurar la replicación con la creación de reflejo de la base de datos
La configuración de la replicación y la creación de reflejo de la base de datos implica cinco pasos. Cada paso se describe en detalle en la siguiente sección.
Configurar el publicador
Configurar la creación de reflejo de la base de datos.
Configurar la entidad reflejada de manera que utilice el mismo distribuidor que la entidad de seguridad
Configurar los agentes de replicación para la conmutación por error
Agregue las entidades de seguridad y reflejada al Monitor de replicación.
El orden de los pasos 1 y 2 se puede invertir.
Para configurar la creación de reflejo de la base de datos para una base de datos de publicación
Configure el publicador:
Se recomienda el uso de un distribuidor remoto. Para obtener más información sobre cómo configurar la distribución, vea Configure Distribution (Configurar la distribución).
Se puede habilitar una base de datos para publicaciones transaccionales y de instantáneas y/o para publicaciones de combinación. Para las bases de datos reflejadas que incluirán más de un tipo de publicación, se debe habilitar la base de datos para ambos tipos en el mismo nodo mediante sp_replicationdboption. Por ejemplo, puede ejecutar el siguiente procedimiento almacenado en la entidad de seguridad:
exec sp_replicationdboption @dbname='<PublicationDatabase>', @optname='publish', @value=true; exec sp_replicationdboption @dbname='<PublicationDatabase>', @optname='mergepublish', @value=true;
Para obtener más información sobre la creación de publicaciones, vea Publish Data and Database Objects (Publicar datos y objetos de base de datos).
Configurar la creación de reflejo de la base de datos. Para obtener más información, vea Establecer una sesión de creación de reflejo de la base de datos mediante la autenticación de Windows (SQL Server Management Studio) y Configurar la creación de reflejo de la base de datos (SQL Server).
Configurar la distribución para la entidad reflejada. Indique el nombre de la entidad reflejada como el publicador y especifique el mismo distribuidor y la misma carpeta de instantáneas que se utilizan en la entidad de seguridad. Por ejemplo, si está configurando la replicación con procedimientos almacenados, ejecute sp_adddistpublisher en el distribuidor y, después, ejecute sp_adddistributor en la entidad reflejada. Para sp_adddistpublisher:
Establezca el valor del parámetro @publisher en el nombre de red de la entidad reflejada.
Establezca el valor del parámetro @working_directory en la carpeta de instantáneas que se usa en la entidad de seguridad.
Especifique el nombre de la entidad reflejada para el parámetro de agente – PublisherFailoverPartner . Este parámetro es necesario para que los siguientes agentes identifiquen la entidad reflejada después de una conmutación por error:
Agente de instantáneas (para todas las publicaciones)
Agente de registro del LOG (para todas las publicaciones transaccionales)
Agente de lectura de cola (para las publicaciones transaccionales que admiten suscripciones de actualización en cola)
Agente de mezcla (para suscripciones de mezcla)
SQL Server Escucha de replicación (replisapi.dll: para suscripciones de mezcla sincronizadas mediante sincronización web)
Control ActiveX de mezcla de SQL (para suscripciones de mezcla sincronizadas con el control)
El Agente de distribución y el Control ActiveX de distribución de SQL no tienen este parámetro porque no se conectan al publicador.
Los cambios en los parámetros del agente tendrán efecto la próxima vez que se inicie el agente. Si el agente se ejecuta sin interrupción, debe detenerlo y reiniciarlo. Los parámetros se pueden especificar en perfiles de agente y desde el símbolo del sistema. Para obtener más información, vea:
Se recomienda agregar el parámetro –PublisherFailoverPartner a un perfil de agente y, a continuación, especificar el nombre de la entidad reflejada en el perfil. Por ejemplo, si configura la replicación con procedimientos almacenados:
-- Execute sp_help_agent_profile in the context of the distribution database to get the list of profiles. -- Select the profile id of the profile that needs to be updated from the result set. -- In the agent_type column returned by sp_help_agent_profile: -- 1 = Snapshot Agent; 2 = Log Reader Agent; 3 = Distribution Agent; 4 = Merge Agent; 9 = Queue Reader Agent. exec sp_help_agent_profile; -- Setting the -PublisherFailoverPartner parameter in the default Snapshot Agent profile (profile 1). -- Execute sp_add_agent_parameter in the context of the distribution database. exec sp_add_agent_parameter @profile_id = 1, @parameter_name = N'-PublisherFailoverPartner', @parameter_value = N'<Failover Partner Name>'; -- Setting the -PublisherFailoverPartner parameter in the default Merge Agent profile (profile 6). -- Execute sp_add_agent_parameter in the context of the distribution database. exec sp_add_agent_parameter @profile_id = 6, @parameter_name = N'-PublisherFailoverPartner', @parameter_value = N'<Failover Partner Name>';
Agregue las entidades de seguridad y reflejada al Monitor de replicación. Para obtener más información, vea Agregar y quitar publicadores del Monitor de replicación.
Mantener una base de datos de publicación reflejada
El mantenimiento de una base de datos de publicación reflejada se realiza básicamente de la misma forma que para una base de datos no reflejada, con las siguientes salvedades:
La administración y la supervisión deben tener lugar en el servidor activo. En SQL Server Management Studio, las publicaciones aparecen debajo de la carpeta Publicaciones locales solo para el servidor activo. Por ejemplo, si produce la conmutación por error a la entidad reflejada, las publicaciones se muestran en la entidad reflejada y dejan de aparecer en la entidad de seguridad. Si se produce la conmutación por error de la base de datos a la entidad reflejada, puede que sea necesario actualizar manualmente Management Studio y el Monitor de replicación para que se refleje el cambio.
El Monitor de replicación muestra los nodos del publicador en el árbol de objetos de la entidad de seguridad y reflejada. Si la entidad de seguridad es el servidor activo, la información de publicación solo se mostrará debajo del nodo de la entidad de seguridad en el Monitor de replicación.
Si la entidad reflejada es el servidor activo:
Si se produce un error en un agente, solo se indicará en el nodo de la entidad de seguridad, no en el nodo de la entidad reflejada.
Si la entidad de seguridad no está disponible, los nodos de la entidad de seguridad y reflejada muestran listas de publicaciones idénticas. La supervisión debe realizarse en las publicaciones debajo del nodo de la entidad reflejada.
Si se utilizan procedimientos almacenados o Replication Management Objects (RMO) para administrar la replicación en la entidad reflejada, en los casos en que se especifica el nombre del publicador, se debe especificar el nombre de la instancia en la que la base de datos se habilitó para la replicación. Para determinar el nombre correcto, use la función publishingservername.
Cuando se crea el reflejo de una base de datos de publicación, los metadatos de la replicación que se encuentran almacenados en la base de datos reflejada son idénticos a los que se encuentran almacenados en la base de datos de la entidad de seguridad. En consecuencia, para las bases de datos de publicación habilitadas para replicación en la entidad de seguridad, el nombre de la instancia del publicador que está almacenado en las tablas del sistema en la entidad reflejada es el nombre de la entidad de seguridad, en lugar del nombre de la entidad reflejada. Esto afecta a la configuración y al mantenimiento de la replicación si se produce la conmutación por error de la base de datos de publicación a la entidad reflejada. Por ejemplo, si se configura la replicación con procedimientos almacenados en la entidad reflejada después de una conmutación por error y se quiere agregar una suscripción de extracción a una base de datos de publicación que estaba habilitada en la entidad de seguridad, se debe especificar el nombre de la entidad de seguridad, en lugar del nombre de la entidad reflejada, para el parámetro @publisher de sp_addpullsubscription o sp_addmergepullsubscription.
Si se habilita una base de datos de publicación en la entidad reflejada después de una conmutación por error a dicha entidad, el nombre de la instancia del publicador que está almacenado en las tablas del sistema es el nombre de la entidad reflejada. En este caso, se debe utilizar el nombre de la entidad reflejada para el parámetro @publisher .
Nota
En algunos casos, por ejemplo sp_addpublication, el parámetro @publisher solo se admite para publicadores que no sean de SQL Server. En estos casos, no es relevante para la creación de reflejo de la base de datos de SQL Server.
Para sincronizar una suscripción en Management Studio tras una conmutación por error: sincronice las suscripciones de extracción del suscriptor y sincronice las suscripciones de inserción del publicador activo.
Comportamiento de la replicación si se quita la creación de reflejo
Tenga en cuenta las siguientes consideraciones si se quita la creación de reflejo de la base de datos de una base de datos publicada:
Si la base de datos de publicación de la entidad de seguridad ya no está reflejada, la replicación continúa funcionando sin variaciones con la entidad de seguridad original.
Si se produce la conmutación por error de la base de datos de publicación de la entidad de seguridad a la entidad reflejada y, por consiguiente, se deshabilita o quita la relación de creación de reflejo, los agentes de replicación no funcionarán con la entidad reflejada. Si la entidad de seguridad se pierde de forma permanente, deshabilite y, a continuación, vuelva a configurar la replicación con la entidad reflejada especificada como publicador.
Si se quita por completo la creación de reflejo de la base de datos, la base de datos reflejada se encontrará en un estado de recuperación y deberá restaurarse para ser funcional. El comportamiento de la base de datos recuperada con respecto a la replicación depende de si se ha especificado la opción KEEP_REPLICATION. Esta opción obliga a la operación de restauración a conservar la configuración de la replicación cuando restaure una base de datos publicada en un servidor distinto del servidor en el que se creó la copia de seguridad. Utilice la opción KEEP_REPLICATION solo cuando la otra base de datos de publicación no esté disponible. Esta opción no es compatible si la otra base de datos de publicación sigue intacta y continúa con la replicación. Para obtener más información sobre KEEP_REPLICATION, vea RESTORE (Transact-SQL).
- Compartir respuesta