如何在SQL Server中使用不同数据库的表

ibr*_*maz 3 sql sql-server-2008

我必须将一些表(16个表)传输到另一个数据库,并且有许多存储过程(200个表)使用这些表.

不希望将存储过程传输到另一个数据库.

对于我的情况:

dbA包含 sp_xyz存储过程tableBtableC表.

和内容sp_xyz可以是:

 SELECT A.column1, B.column2 
 FROM
 tableB A 
 JOIN tableC B ON A.fk_b_id = B.id
Run Code Online (Sandbox Code Playgroud)

我们想要传输tableC到dbB.那么我应该如何以最小的改变来改变这个sp.

Pra*_*ana 6

如果要在另一个数据库中使用表,那么当数据库位于同一服务器上时,您可以在sql server中执行此操作:

Select * from [DBName].[Schema].[Table]
Run Code Online (Sandbox Code Playgroud)

如果数据库位于另一台服务器中,请指定链接的服务器名称:

Select * from [DBServer].[DBName].[Schema].[Table]
Run Code Online (Sandbox Code Playgroud)

架构名称 - 在sql server中默认替换为"dbo"的架构.