Creación script para ejectar varios scripts

14/07/2008 - 12:46 por José Luis | Informe spam
Hola a todos,

tengo que realizar la actualización de la base de datos de mi aplicación en
casa del cliente. Este proceso implica ejecutar unos cuantos scripts.

Para que no se me olvide la ejecución de ninguno querría crearme un script
que se encargará de llamar a todos los scripts que componen la actualización.

¿Alguién sabe si estos es posible y si lo es cómo podría hacerlo?

La base de datos corre sobre un SQL Server 2005.

Muchas gracias por anticipado.

Un saludo,
José Luis.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera (MVP)
14/07/2008 - 18:48 | Informe spam
Una forma de hacerlo:

- Cada script ejecutelo usando OSQL.EXE o SQLCMD.EXE
- Junte todo en un archivo de comandos de Windows .bat o .cmd

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Luis" wrote:

Hola a todos,

tengo que realizar la actualización de la base de datos de mi aplicación en
casa del cliente. Este proceso implica ejecutar unos cuantos scripts.

Para que no se me olvide la ejecución de ninguno querría crearme un script
que se encargará de llamar a todos los scripts que componen la actualización.

¿Alguién sabe si estos es posible y si lo es cómo podría hacerlo?

La base de datos corre sobre un SQL Server 2005.

Muchas gracias por anticipado.

Un saludo,
José Luis.
Respuesta Responder a este mensaje
#2 José Luis
15/07/2008 - 11:03 | Informe spam
Hola,

antes de nada, muchas gracias por contestarme.

Lo que buscaba yo era ejecutar un único script que ejecutará los restantes.
Con le fin de no poder olvidarme ninguno. El problema que tengo de crear un
único script es que hay varios scripts que crean triggers y, puede que me
equivoque, estos deben ser la primera instrucción del script. Por lo tanto
esta opción no me es viable.

En cualquier caso siempre me queda la opción de ejecutarlos de forma manual.

Muchas gracias por su ayuda.

Un saludo,
José Luis.
"Gustavo Larriera (MVP)" wrote:

Una forma de hacerlo:

- Cada script ejecutelo usando OSQL.EXE o SQLCMD.EXE
- Junte todo en un archivo de comandos de Windows .bat o .cmd

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Luis" wrote:

> Hola a todos,
>
> tengo que realizar la actualización de la base de datos de mi aplicación en
> casa del cliente. Este proceso implica ejecutar unos cuantos scripts.
>
> Para que no se me olvide la ejecución de ninguno querría crearme un script
> que se encargará de llamar a todos los scripts que componen la actualización.
>
> ¿Alguién sabe si estos es posible y si lo es cómo podría hacerlo?
>
> La base de datos corre sobre un SQL Server 2005.
>
> Muchas gracias por anticipado.
>
> Un saludo,
> José Luis.
Respuesta Responder a este mensaje
#3 Gustavo Larriera (MVP)
15/07/2008 - 16:01 | Informe spam
Tal vez no fui claro al explicar. Lo que propongo es que usted ejecute uno a
uno los scripts en forma separada cada uno usando osql.exe o sqlcmd.exe... y
el orden de ejecucion usted se lo da a traves de un script de Windows.

Supongamos que usted tiene 3 scripts SQL que quiere ejecutar en cierto
orden. Entonces el script de Windows .cmd seria algo asi:

todosjuntos.cmd
echo "Ejecutando el Script 1..."
osql.exe -E -S instanciaSql -i Script1.sql
echo "Ejecutando el Script 2..."
osql.exe -E -S instanciaSql -i Script2.sql
echo "Ejecutando el Script 3..."
osql.exe -E -S instanciaSql -i Script3.sql
echo "Fin de ejecucion"

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Luis" wrote:


Hola,

antes de nada, muchas gracias por contestarme.

Lo que buscaba yo era ejecutar un único script que ejecutará los restantes.
Con le fin de no poder olvidarme ninguno. El problema que tengo de crear un
único script es que hay varios scripts que crean triggers y, puede que me
equivoque, estos deben ser la primera instrucción del script. Por lo tanto
esta opción no me es viable.

En cualquier caso siempre me queda la opción de ejecutarlos de forma manual.

Muchas gracias por su ayuda.

Un saludo,
José Luis.
"Gustavo Larriera (MVP)" wrote:

> Una forma de hacerlo:
>
> - Cada script ejecutelo usando OSQL.EXE o SQLCMD.EXE
> - Junte todo en un archivo de comandos de Windows .bat o .cmd
>
> Gustavo Larriera, Microsoft MVP
> http://www.linkedin.com/in/gustavolarriera
> Este mensaje se proporciona tal como es, sin garantías de ninguna clase.
>
>
>
> "José Luis" wrote:
>
> > Hola a todos,
> >
> > tengo que realizar la actualización de la base de datos de mi aplicación en
> > casa del cliente. Este proceso implica ejecutar unos cuantos scripts.
> >
> > Para que no se me olvide la ejecución de ninguno querría crearme un script
> > que se encargará de llamar a todos los scripts que componen la actualización.
> >
> > ¿Alguién sabe si estos es posible y si lo es cómo podría hacerlo?
> >
> > La base de datos corre sobre un SQL Server 2005.
> >
> > Muchas gracias por anticipado.
> >
> > Un saludo,
> > José Luis.
Respuesta Responder a este mensaje
#4 José Luis
16/07/2008 - 11:27 | Informe spam
Perdone, se ve que no entendi bien la respuesta. En efecto tal como dice esto
resuelve el problema que tenía.

Muchas gracias por su ayuda.

Un saludo,
José Luis.

"Gustavo Larriera (MVP)" wrote:

Tal vez no fui claro al explicar. Lo que propongo es que usted ejecute uno a
uno los scripts en forma separada cada uno usando osql.exe o sqlcmd.exe... y
el orden de ejecucion usted se lo da a traves de un script de Windows.

Supongamos que usted tiene 3 scripts SQL que quiere ejecutar en cierto
orden. Entonces el script de Windows .cmd seria algo asi:

todosjuntos.cmd
echo "Ejecutando el Script 1..."
osql.exe -E -S instanciaSql -i Script1.sql
echo "Ejecutando el Script 2..."
osql.exe -E -S instanciaSql -i Script2.sql
echo "Ejecutando el Script 3..."
osql.exe -E -S instanciaSql -i Script3.sql
echo "Fin de ejecucion"

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Luis" wrote:

>
> Hola,
>
> antes de nada, muchas gracias por contestarme.
>
> Lo que buscaba yo era ejecutar un único script que ejecutará los restantes.
> Con le fin de no poder olvidarme ninguno. El problema que tengo de crear un
> único script es que hay varios scripts que crean triggers y, puede que me
> equivoque, estos deben ser la primera instrucción del script. Por lo tanto
> esta opción no me es viable.
>
> En cualquier caso siempre me queda la opción de ejecutarlos de forma manual.
>
> Muchas gracias por su ayuda.
>
> Un saludo,
> José Luis.
> "Gustavo Larriera (MVP)" wrote:
>
> > Una forma de hacerlo:
> >
> > - Cada script ejecutelo usando OSQL.EXE o SQLCMD.EXE
> > - Junte todo en un archivo de comandos de Windows .bat o .cmd
> >
> > Gustavo Larriera, Microsoft MVP
> > http://www.linkedin.com/in/gustavolarriera
> > Este mensaje se proporciona tal como es, sin garantías de ninguna clase.
> >
> >
> >
> > "José Luis" wrote:
> >
> > > Hola a todos,
> > >
> > > tengo que realizar la actualización de la base de datos de mi aplicación en
> > > casa del cliente. Este proceso implica ejecutar unos cuantos scripts.
> > >
> > > Para que no se me olvide la ejecución de ninguno querría crearme un script
> > > que se encargará de llamar a todos los scripts que componen la actualización.
> > >
> > > ¿Alguién sabe si estos es posible y si lo es cómo podría hacerlo?
> > >
> > > La base de datos corre sobre un SQL Server 2005.
> > >
> > > Muchas gracias por anticipado.
> > >
> > > Un saludo,
> > > José Luis.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida