Al ejecutar SQLCMD.exe y proporcionar argumentos de línea de comandos para variables de scripting, espero que los valores proporcionados en la línea de comandos anulen los definidos en el archivo de script SQL.SQLCMD, variables de línea de comandos y script: setvar
p. Ej.
Dada la siguiente secuencia de comandos SQL:
:setvar XXX "SQL script"
print '$(XXX)'
Y la línea de comandos:
sqlcmd.exe -S <Server> -d <Database> -E -b -i <Script> -v XXX="Batch script"
espero que la salida sea:
escritura de la hornada
Sin embargo, la salida es:
secuencia de comandos SQL
Es esta la intención, o se debe retirar los :setvar
declaraciones en la secuencia de comandos SQL?
Proporcioné las instrucciones :setvar
en secuencia de comandos, así que puedo editar/probar la secuencia de comandos en SQL Management Studio con modo SQLCMD, pero ejecutar las secuencias de comandos desde la línea de comandos en mis entornos de prueba y producción.
Eso apesta! Gracias – VirtualStaticVoid
Eso realmente apesta! Noté que la sugerencia sobre Microsoft Connect se abrió en 2008 y todavía está activa. Bueno, lo voté de todos modos, aunque mis esperanzas no son muy altas. –
http://www.codeproject.com/Articles/1019661/Powershell-Scripts-to-Replace-setvar-Variable-in-S – Kody