我有一个批处理文件为目录中的每个 sql 文件执行 SQLCMD:
for %%G in (*.sql) do sqlcmd /S servername /d databaseName -U user -P password -E -i"%%G"
但是我必须使用模拟,我不想在每个文件中都有这个行。我尝试了 2 种可能的解决方案。
解决方案1:
for %%G in (*.sql) do sqlcmd /S servername /d databaseName -U user -P password -E -q "EXECUTE AS LOGIN = 'user2'" -i"%%G" -q "REVERT"
解决方案2:
sqlcmd /S servername /d databaseName -U user -P password -E -q "EXECUTE AS LOGIN = 'user2'"
for %%G in (*.sql) do sqlcmd /S servername /d databaseName -U user -P password -E -i"%%G"
sqlcmd /S servername /d databaseName -U user -P password -E -q "REVERT"
但这两种解决方案都不起作用。在这种情况下该怎么办?