【问题标题】:How can I execute a set of .SQL files from within SSMS?如何从 SSMS 中执行一组 .SQL 文件?
【发布时间】:2010-10-24 20:37:26
【问题描述】:

如何从 SQL Server Management Studio 中执行一组 .SQL 文件(每个文件都进行一些数据转换)?

还有什么其他方法可以批量执行 .SQL 文件?

【问题讨论】:

    标签: sql-server batch-file ssms


    【解决方案1】:

    虽然 SQLCMD.exe 是最好的方法,但 SSMS 也有一个 SQLCMD 模式,您可以在其中执行 SQLCMD 脚本。要启用此模式,请单击菜单栏中的Query,然后选择SQLCMD Mode

    ":r filename.sql" 命令是用于导入和执行 sql 脚本文件的 SQLCMD 脚本命令。您知道您处于 SQLCMD 模式,因为任何 SQLCMD 脚本命令行都将以彩色(我认为是灰色)背景显示。

    :setvar path "c:\Path_to_scripts\"
    :r $(path)\file1.sql
    :r $(path)\file2.sql
    

    【讨论】:

    • 注意 - 文件路径是相对于运行 SSMS 的机器,而不是服务器。要习惯此功能,将 SQLCMD 按钮添加到工具栏会更容易,然后您可以看到按钮上启用/禁用的模式,而 : 命令的背景颜色在查询窗口中变为灰色/白色。
    • 为什么 sqlcmd 比本文建议的解决方案更好?
    • 我永远无法使用 sqlcmd.exe 方法。我确定这只是因为我在服务器、用户名或密码方面错误地指定了其中一个参数。但是我能够使用这个答案并在 SSMS 中使用 SQLCMD 模式而没有任何问题。也许是因为我能够像在 SSMS 中一样首先连接到数据库。很好的方法。
    【解决方案2】:

    使用SqlCmd.exe

    对于example

    sqlcmd -S myServer\instanceName -i C:\myScript.sql
    

    或将输出保存到文件:

    sqlcmd -S myServer\instanceName -i C:\myScript.sql -o C:\EmpAdds.txt
    

    【讨论】:

    • 非常简单实用。注意:如果你有一个巨大的 SQL 文件,这是要走的路!我导入了 5 GB 的脚本,但无法从 Management Studio 中导入。这是唯一的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 2022-01-04
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多