Este es el segundo artículo de la serie de Migración de objetos de SQL Server mediante SSDT 2017. En este artículo, aprenderemos a copiar procedimientos almacenados por el usuario creados en la base de datos maestra de SQL Server.
Configuración de demostración
Para la demostración, he ejecutado el script de mantenimiento de la base de datos Ola-hallengren en una base de datos maestra de Nisarg-PC\SQL01. Puede descargar la última versión de los scripts de mantenimiento desde aquí. Estos scripts crean algunos procedimientos y tablas almacenados. Una vez que los scripts se ejecutaron correctamente, puede verlos ejecutando la siguiente consulta.
1
|
Seleccione el nombre de la maestra.sys.procedimientos
|

Vamos a migrar los procedimientos almacenados anteriores a la base de datos maestra del servidor Nisarg-PC\SQL02.
Crear paquete de servicios de integración
Ahora, primero, vamos a crear un paquete de servicios de integración. Abra SSDT 2017 Click Haga clic en Nuevo proyecto de Creta Select Seleccione Proyecto de servicios de integración. El nombre del proyecto será Migrar procedimientos almacenados de base de datos maestra.
Arrastre la tarea de procedimiento almacenado maestro de transferencia y suéltela en la superficie de flujo de control, cámbiela de nombre para Migrar el Procedimiento almacenado de mantenimiento.
Haga doble clic en la tarea de Procedimientos almacenados Maestros de transferencia para configurarla.
Para transferir el procedimiento almacenado entre instancias, debemos configurar las conexiones de origen y destino. Para ello, haga clic en SourceConnection y seleccione Nueva conexión. Primero, veamos cómo podemos configurar la conexión de origen.
Configurar SourceConnection
Para configurar la conexión al servidor de origen, haga clic en SourceConnection y seleccione Nueva conexión.
En el cuadro de diálogo Editor del administrador de conexiones de SMO, especifique el nombre del servidor del origen y el método de autenticación utilizado para conectarse al servidor SQL. En nuestra demostración, el nombre del servidor es Nisarg-PC\SQL01, y el método de autenticación es Autenticación de Windows.

Haga clic en Aceptar para guardar las propiedades de conexión y cerrar el cuadro de diálogo.
Configurar DestinationConnection
Para configurar la conexión para el servidor de destino, haga clic en DestinationConnection y seleccione Nueva conexión.
En el cuadro de diálogo Editor del administrador de conexiones de SMO, especifique el nombre del servidor del origen y el método de autenticación utilizado para conectarse a SQL Server. En nuestra demostración, el nombre del servidor es Nisarg-PC\SQL02, y el método de autenticación es Autenticación de Windows.

Haga clic en Aceptar para guardar las propiedades de conexión y cerrar el cuadro de diálogo. La sección de conexiones tiene el siguiente aspecto:

En la sección procedimiento almacenado, obtendrá las siguientes opciones:
- Ifobjectexistas: Cuando el objeto que estamos transfiriendo ya existe, puede elegir cualquiera de las siguientes acciones realizadas por la tarea de procedimiento almacenado maestro de transferencia
- FailTask: Si el procedimiento almacenado existe en la instancia de destino, el trabajo fallará
- Sobrescribir: Si el procedimiento almacenado existe en el servidor de destino, la tarea sobrescribirá el procedimiento almacenado existente
- Omitir: Si el procedimiento almacenado existe en el servidor de destino, la tarea omitirá la transferencia de ese procedimiento almacenado específico procedimiento
- Transferencia de todos los procedimientos almacenados: Si desea transferir todos los procedimientos de almacén definidos por el usuario, seleccione True. Si desea transferir procedimientos almacenados específicos, seleccione False
- StoredProcedureList: Si desea transferir un procedimiento almacenado específico, puede elegir el SPs que desea transferir. Esta opción habilita cuando selecciona el valor Falso para el parámetro TransferAllStoredProcedures
Queremos omitir la transferencia del procedimiento almacenado existente en nuestra demostración, así que seleccione Omitir. Queremos transferir todos los procedimientos almacenados, así que seleccione True en la opción TransferAllStoredProcedures.

El editor de tareas Transfer Master Stored Procedures se parece a la siguiente imagen:
Ahora, se nos debería notificar cuando se transfieran procedimientos almacenados. Para ello, configuraremos la tarea Notify Operator.
Configurar Tarea de operador de notificación
Primero, arrastre la tarea de operador de notificación, suéltela en la superficie de flujo de control, cámbiela de nombre para Enviar un correo electrónico y haga doble clic en ella.
En primer lugar, debemos configurar la conexión entre el servidor en el que se ha creado el operador. Para ello, haga clic en el cuadro de diálogo Nueva en Notificar tarea al operador. Se abre otro cuadro de diálogo, Propiedades de conexión. Especifique los valores apropiados de los siguientes parámetros.
- Nombre de conexión: Especifique el nombre de conexión deseado. En nuestra demostración, lo he nombrado como SqlConnection
- Nombre del servidor: Especifique el nombre del servidor en el que se ha creado el operador de SQL Server. Ya he creado un operador llamado DBASupport en el método de autenticación Nisarg-PC\SQL01
- : Especifique el método de autenticación. En nuestra demostración, he utilizado autenticación de Windows
Haga clic en Aceptar para cerrar el cuadro de diálogo.

Especifique el asunto del correo electrónico en el cuadro de texto Asunto del mensaje de notificación. En nuestra demo, la línea de asunto es el Estado de Migración del procedimiento almacenado de la base de datos maestra.
Especifique el cuerpo del correo electrónico en el cuerpo del mensaje de notificación. En nuestra demo, el cuerpo del correo electrónico es el siguiente:
Hola DBASupport,
El procedimiento almacenado de la base de datos maestra se ha transferido correctamente.
Finalmente, la tarea Notify operator se parece a la siguiente imagen:

El correo electrónico debe enviarse después de que todos los trabajos se migren correctamente. Para ello, debemos conectar ambas tareas mediante un conector. El paquete tiene el siguiente aspecto:
La tarea Transferir Procedimientos Almacenados Maestros se ha configurado correctamente.
Resumen
En el segundo artículo de esta serie, aprendimos sobre la Tarea Transferir Procedimientos Almacenados Maestros. He explicado cómo podemos configurarlo para transferir el procedimiento almacenado de usuario creado en la base de datos maestra entre dos instancias de SQL Server utilizando SQL Server Data Tools (SSDT 2017). En el siguiente artículo, aprenderemos sobre la tarea Transferir mensajes de error y crearemos un paquete en SSDT 2017 para migrar los registros de errores entre las dos instancias de SQL Server.
Tabla de contenidos
Transferir trabajos SQL entre instancias de SQL Server mediante SSDT 2017
Transferir procedimientos almacenados entre bases de datos maestras en instancias de SQL Server mediante SSDT 2017
Transferir inicios de sesión SQL entre instancias de SQL Server mediante SSDT 2017
Transferir mensajes de error entre instancias de SQL Server mediante SSDT 2017
- Autor
- Publicaciones recientes

Tiene experiencia en diseño de bases de datos, ajuste de rendimiento, copia de seguridad y recuperación, configuración de HA y DR, migraciones y actualizaciones de bases de datos. Ha completado el B. Tech de la Universidad de Ganpat. Se puede contactar con él en [email protected]

- Cómo mover tablas a otro grupo de archivos de una base de datos SQL – 14 de diciembre de 2021
- Configurar controladores ODBC para Oracle 19c-9 de diciembre de 2021
- Configurar un servidor vinculado entre SQL Server y PostgreSQL mediante controladores ODBC-Diciembre 6, 2021