不同数据库的存储过程

Ton*_*ony 1 sql-server

我可以使用存储过程从不同的数据库中选择记录(在SQL中)吗?我有一个来自每个数据库的表,我想加入它们.

谢谢.

Abe*_*ler 5

是的,只要你有权限.如果您有链接服务器设置,也可以执行跨服务器.

Cross DB示例:

SELECT * FROM localTable as lt
INNER JOIN otherDB.dbo.OtherTable as ot
ON lt.ID = ot.id
Run Code Online (Sandbox Code Playgroud)

跨服务器示例(假设您已创建链接服务器):

SELECT * FROM localTable as lt
INNER JOIN ServerName.otherDB.dbo.OtherTable as ot
ON lt.ID = ot.id
Run Code Online (Sandbox Code Playgroud)

  • @Tony如果您的数据位于不同的服务器上,那么您将需要构建链接服务器或移动数据.不了解您的环境,但我们有一组工作,每天将一小部分仓库数据复制回应用服务器,以便我们可以访问我们所有的公共数据(客户列表等).应用程序无需重新设置内容或将服务器链接到各处.我们使用SSIS来移动数据. (2认同)