Sql server 如何查询位于不同数据库中的表?

Sql server 如何查询位于不同数据库中的表?,sql-server,tsql,Sql Server,Tsql,我最初的问题是,是将ASPNETDB.MDF与应用程序数据库分开,还是将所有表合并到一个数据库中。通过查看前面的问题/答案,我了解到这取决于成员数据是否会在多个应用程序中共享 现在,我的问题是。如果我决定将ASPNETDB.MDF与应用程序数据库分开,如何查询位于两个不同数据库中的两个表? 谢谢你的帮助 如果同一数据库服务器上有两个数据库/架构,则可以使用以下语法跨数据库查询: select * from database1.dbo.table1 t1 join database2.dbo.ta

我最初的问题是,是将ASPNETDB.MDF与应用程序数据库分开,还是将所有表合并到一个数据库中。通过查看前面的问题/答案,我了解到这取决于成员数据是否会在多个应用程序中共享

现在,我的问题是。如果我决定将ASPNETDB.MDF与应用程序数据库分开,如何查询位于两个不同数据库中的两个表?


谢谢你的帮助

如果同一数据库服务器上有两个数据库/架构,则可以使用以下语法跨数据库查询:

select *
from database1.dbo.table1 t1 join database2.dbo.table2 t2 on
  t1.field1 = t2.field2
如果它们位于物理上独立的服务器上,您仍然可以执行跨数据库查询,但需要首先链接服务器:


除了使用由3部分组成的对象名语法外,还必须将服务器设置为允许或标记数据库。两者都有安全隐患。为了让事情变得更简单,假设(i)我在App_数据下创建了一个DB,(ii)当我第一次访问会员模块时,为我生成了ASPNETDB.MDF。你指的是“同一个数据库服务器”吗?他指的是数据存储在同一个物理服务器上,这与数据的创建方式无关,而是与数据的创建位置有关。你的查询是否需要同时访问这两个数据库?e、 g.将一个数据库中的表连接到另一个数据库中的表?