Sql server 2008将模式名称的硬编码引用转换为变量的最佳方法

时间:2013-12-05 22:05:37

标签: sql sql-server sql-server-2008 powershell

我们有一个多年来拼凑在一起的数据库。当我将其导出为a.sql文件脚本时,即使使用显式引用模式名称的选项,很多存储过程也使用硬编码模式名称[EpicDB]。

我有一个小的powershell实用程序,它是通过运行我们必须按顺序生成db的各种.sql文件来重建版本化数据库的表。其中一些文件有数百个对[EpicDB]的引用。

如何将我的powershell / .net代码中的变量名传递给sql脚本以换出[EpicDB]获取变量?

1 个答案:

答案 0 :(得分:0)

sqlcmd.exe和“SqlCmd Mode”允许变量。

你必须改变你的

[EpicDB]

文本

类似

[$(MyDatabaseName)]

请参阅:

http://technet.microsoft.com/en-us/library/ms188714.aspx