我必须将架构从一个数据库移动到一个新数据库,以将集中式架构保存到同一台服务器中。问题是我已经有许多存储过程使用我需要移动的架构中的一些表。
是否有任何解决方法来执行此操作并更改使用此表的所有对象以指向新数据库?我可以使用同义词或链接服务器吗?
我正在使用 SQL Server 2008 R2 谢谢。
我必须将架构从一个数据库移动到一个新数据库,以将集中式架构保存到同一台服务器中。问题是我已经有许多存储过程使用我需要移动的架构中的一些表。
是否有任何解决方法来执行此操作并更改使用此表的所有对象以指向新数据库?我可以使用同义词或链接服务器吗?
我正在使用 SQL Server 2008 R2 谢谢。
是的; 同义词是要走的路(从http://msdn.microsoft.com/en-us/library/ms177544.aspx偷了这个例子):
USE tempdb;
GO
-- Create a synonym for the Product table in AdventureWorks2012.
CREATE SYNONYM MyProduct
FOR AdventureWorks2012.Production.Product;
GO
-- Query the Product table by using the synonym.
USE tempdb;
GO
SELECT ProductID, Name
FROM MyProduct
WHERE ProductID < 5;
GO
通过搜索 sys.tables 视图并识别属于您要移动的模式的表,您可以很容易地生成同义词语句。