作为脚本化过程的一部分,我尝试 * 以编程方式 * 更新存储过程中对链接服务器的引用。
SELECT foo, bar
FROM [Server].[Database].dbo.[Table]
我想翻译成:
SELECT foo, bar
FROM [Database].dbo.[Table]
我想在跨多个数据库的"触发并忘记"脚本中完全以编程方式完成此操作。
我现在的想法是使用元数据查找对链接表的引用,再次从元数据读取每个sp的文本,调整每个sp的文本,然后将每个更新的文本块推入一个exec语句中,逐个重建它们。
我确实想知道这是否会是一个巨大的痛苦,但是,所以有没有人有更好的想法?我愿意使用powershell,如果这可以提供一个更好的解决方案。
先谢了!
4条答案
按热度按时间2ul0zpep1#
希望我能理解这些问题,但我建议您使用以下两种方法之一,而不是删除或替换[Server]:
希望能有所帮助。
zengzsys2#
坦白说,你的方法是最简单的。今年早些时候我也遇到过类似的问题
izj3ouym3#
下面是一个脚本,用于查找引用SQL 2005示例上的链接服务器的所有过程/函数/视图-可能也很有用:
eimct9ow4#
这对于生产环境来说不是一个好主意,但是如果您需要一个用于开发目的的环回链接服务器,this非常适合我: