Quando si esegue SQLCMD.exe e si forniscono argomenti della riga di comando per le variabili di script, mi aspetto che i valori forniti sulla riga di comando annullino quelli definiti nel file di script SQL.SQLCMD, variabili e script della riga di comando: setvar
ad es.
Dato il seguente script SQL:
:setvar XXX "SQL script"
print '$(XXX)'
E la linea di comando:
sqlcmd.exe -S <Server> -d <Database> -E -b -i <Script> -v XXX="Batch script"
mi aspetto l'uscita di essere:
script batch
Tuttavia l'output è:
script SQL
E 'questo l'intento, o deve essere rimosso le :setvar
dichiarazioni nello script SQL?
Ho fornito le istruzioni :setvar
nello script, così posso modificare/testare lo script in SQL Management Studio con la modalità SQLCMD, ma eseguire gli script dalla riga di comando nei miei ambienti di test e produzione.
Che schifo! Grazie – VirtualStaticVoid
Che schifo davvero! Ho notato che il suggerimento su Microsoft Connect è stato aperto nel 2008 ed è ancora attivo. Bene, ho votato comunque, anche se le mie speranze non sono molto alte. –
http://www.codeproject.com/Articles/1019661/Powershell-Scripts-to-Replace-setvar-Variable-in-S – Kody