我们刚刚将我们的 sql server 移动到托管公司,现在我所有的 dtsx 打包都不起作用。
我知道在特定的查询中你可以使用
use SecondDatabase
但是有没有办法在服务器上做到这一点呢?
目标:不必重写我的代码并粘贴[eih-dr01.db.org].livendb.dbo.
在每个表的前面。
我们刚刚将我们的 sql server 移动到托管公司,现在我所有的 dtsx 打包都不起作用。
我知道在特定的查询中你可以使用
use SecondDatabase
但是有没有办法在服务器上做到这一点呢?
目标:不必重写我的代码并粘贴[eih-dr01.db.org].livendb.dbo.
在每个表的前面。
我想到了两个选择:
如果您的 dtsx 包存储在文件系统中,您可以使用
POWERSHELL
读取每个文件、搜索和替换连接字符串并重写文件。这是一个例子:(确保在运行 Powershell 脚本之前复制该文件夹,以防万一):
如果您的包没有存储在文件系统中,您可以动态生成
CREATE SYNONYM
指向新位置的命令。您应该使用 SQL Server Data Tools(Microsoft 开发人员环境)打开它。这将允许您为此包指定一个新的连接字符串。
使用 CLICONFG.EXE 为您与新 SQL Server 的连接设置别名
不要忘记客户端配置 (CLICONFG.EXE)。Client Config 充当 SQL Server 连接的主机文件指针系统,通过将旧 SQL Server 名称与新名称进行别名。这可能是启动和运行的最快方法。
它必须在运行 DTS 包的 SQL Server 上的位置进行配置。它本质上是说在任何你想连接到服务器 A 的地方,都连接到服务器 B。请注意,虽然这是一站式购物。来自 A 的所有连接都将传递到服务器 B,如图 A 所示。
ps CLICONFG.EXE 内置于 Windows 操作系统中。
图 A: Cliconfg.exe 允许您将旧连接作为新 SQL Server 的别名