2008-12-18 12 views
5

Restauré mi base de datos de desarrollo de producción, y los procedimientos almacenados que necesito en mi entorno de desarrollo no existen en mi base de datos de producción. ¿Hay algún comando que pueda usar para importar los procedimientos almacenados de desarrollo a SQL Server? Hay aproximadamente 88 archivos, ya que cada procedimiento está en un archivo de texto diferente.Importación de procedimientos almacenados existentes En SQL Server

TIA! Chris

Respuesta

9

Vaya, usted hizo la forma dolorosa de generar scripts. Debería haber creado un único script para todos los procedimientos haciendo clic con el botón derecho en la base de datos en SSMS, seleccionando Tareas -> Generar scripts.

Sin embargo, si usted no quiere pasar por ese proceso de nuevo, abrir un shell cmd en la carpeta y recordar aquellos viejos tiempos de archivos por lotes:

for %f in (*.sql) do sqlcmd -i %f 

Esto debe hacer el truco! Puede agregar otros parámetros a sqlcmd si es necesario (es decir, inicio de sesión, contraseña, nombre del servidor, ...). Para ver una lista de conmutadores solo haz un sqlcmd -h.

0

Haga clic derecho en la base de datos de desarrollo Hit Generate SQL Scripts y luego solo seleccione los procedimientos almacenados. Si necesita un filtro adicional, puede incluso seleccionar los procedimientos almacenados que no desea.

A continuación, ejecute esa consulta en el desarrollo.

0

No sé si hay una forma de línea de comandos para hacerlo, pero si los tiene todos en archivos de texto, no debería ser difícil escribir una aplicación rápida y sucia que simplemente recorre todos los archivos y ejecuta las instrucciones de creación en su servidor de producción utilizando el idioma que elija.

1

Para SQL 2K & 2K5, desea this tool.

Hice una pregunta similar hace un rato y recibí este consejo de Mike L (déle los votos here).

+0

Gran herramienta ... No es realmente lo que estoy buscando. Gracias por la ayuda – Chris

0

Si, como yo, tiene que tratar con un montón de archivos sql en una jerarquía de carpetas, este liner los combinará en un solo archivo llamado out.sql, que puede ejecutar fácilmente en SQL Management Studio. Solo incluirá archivos que terminen en .sql e ignorará archivos como * .sqlsettings.

Ejecútelo desde la carpeta raíz de la jerarquía de archivos .sql. Asegúrese de no tener nada de valor en out.sql, ya que será reemplazado.

del out.sql && for /f %f in ('dir /b /s ^| findstr /E \.sql') do type %f >> out.sql 
1
  1. haga clic en el botón derecho en la base de datos desde la que desea transferir los datos
  2. Seleccionar transferencia de datos
  3. Seleccionar Tablas o procedimiento de almacenamiento (lo que desea transferir)
  4. Seleccione la ubicación donde desea transferir los datos (ya sea en el servidor o localhost o cualquier archivo)
Cuestiones relacionadas