跨多个数据库创建视图

2 sql-server view

我有两个数据库; 1是用于日常数据输入的实时数据库,另一个是用于旧数据的归档DB.

如何创建从两个数据库获取数据的视图?

三个表涉及...... database1.dbo.table并且database1.dbo.tran1在同一个数据库中,并且database_archived.dbo.table1:

Create VIEW [dbo].[VW_Table_ALL] 
AS 
  SELECT * FROM database1.dbo.table1 
  UNION ALL 
  SELECT * FROM database_archived.dbo.table1 as Data INNER JOIN 
                database1.dbo.tran1 as Tran ON Data.Tran_id = Tran.Tran_Id 

GO
Run Code Online (Sandbox Code Playgroud)

Aar*_*and 7

不确定您是否需要UNION或JOIN,但在任何一种情况下,您都可以在另一个数据库中使用三部分名称作为对象:

USE database1;
GO
CREATE VIEW dbo.MyView
AS
    SELECT columns FROM dbo.LocalTable
    UNION ALL
    SELECT columns FROM database2.dbo.RemoteTable;
GO
Run Code Online (Sandbox Code Playgroud)