【发布时间】:2016-05-20 19:42:28
【问题描述】:
假设我有两个名为 DB1 和 DB2 的数据库。在 DB1 中有一个名为 Student 的表,在 DB2 中有一个名为 SP1 的存储过程。在 SP1 中,我正在使用以下查询选择学生表的数据:
从 DB1.dbo.Student 中选择 *。
我有超过 300 个具有上述跨数据库通信的存储过程。现在,我想将我的数据库从 DB1 更改为从数据和模式角度来看与 DB1 相同的 DB3。 为此,我还必须修改所有 300 个具有完全限定数据库名称的存储过程。现在,查询可能如下所示:
从 DB3.dbo.Student 中选择 *
我现在不想将所有存储过程都更改为指向 DB3,也不想将我在存储过程中编写的查询更改为动态 SQL(我知道这可以通过创建动态 SQL 来完成)。
如果我们运行 DB1.dbo.Student 是否有可能,它会重定向到 DB3.dbo.Student。任何中间层或任何 SQL 设置。
这对我有很大的帮助。提前致谢!!
【问题讨论】:
标签: sql sql-server sql-server-2008 sql-server-2005