SQL Server是否提供了加载和执行SQL文件的方法?

时间:2018-03-21 18:52:18

标签: sql-server tsql

我有一组.sql个文件,其中包含各种数据库对象的ddl。

例如:

  1. User.sql
  2. Group.sql
  3. GroupUser.sql
  4. 有没有办法可以使用存储过程轻松/优雅地按顺序加载/执行这些文件?例如,GroupUser.sql取决于UserGroup的存在,因此我需要按照上面列出的顺序执行.sql个文件。

    我知道我可以将上面所有.sql脚本的内容连接到存储过程中,但我更愿意采用更模块化的方法。我也可以将每个脚本放入自己的存储过程中,但我不想使用DDL设置脚本将应用程序数据库中的存储过程集合混乱。

1 个答案:

答案 0 :(得分:0)

从SSMS转到"查询"菜单,然后选择" SQLCMD模式"。在那里,您可以运行这样的命令。我一直编写这样的东西。

use test
go

:r "D:\SomeDataDirectory\SomeSQLFile.sql"
编辑:没有看到你想在存储过程中这样做。这有点冒险。假设您有权执行它,您可以将相同的SQLCMD代码放入xp_cmdshell的调用中,但在许多情况下,除非您拥有类似管理员的权限,否则不会成为您的选项在服务器上。