Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在SQL Server中创建架构绑定的跨数据库视图_Sql Server_Database_View_Schema - Fatal编程技术网

Sql server 如何在SQL Server中创建架构绑定的跨数据库视图

Sql server 如何在SQL Server中创建架构绑定的跨数据库视图,sql-server,database,view,schema,Sql Server,Database,View,Schema,我正在尝试在SQL Server 2008上创建索引视图。我有一个主数据库,我不能在其中进行任何更改(在添加表、视图等方面)。但是,由于各种原因,我需要创建一些不同的视图来处理实时数据 我已经在主数据库旁边创建了一个新数据库,以便在那里创建视图。我可以很好地创建视图,但我想索引一些较大的视图。但是,当我尝试创建跨数据库的模式绑定视图时,收到以下错误: 无法架构绑定视图“dbo.Divisions”,因为名称 “master.dbo.hbs_fsdv”对于架构绑定无效。姓名必须在 两部分格式,对象

我正在尝试在SQL Server 2008上创建索引视图。我有一个主数据库,我不能在其中进行任何更改(在添加表、视图等方面)。但是,由于各种原因,我需要创建一些不同的视图来处理实时数据

我已经在主数据库旁边创建了一个新数据库,以便在那里创建视图。我可以很好地创建视图,但我想索引一些较大的视图。但是,当我尝试创建跨数据库的模式绑定视图时,收到以下错误:

无法架构绑定视图“dbo.Divisions”,因为名称 “master.dbo.hbs_fsdv”对于架构绑定无效。姓名必须在 两部分格式,对象不能引用自身

因为我要使用视图跨数据库,所以我必须以三部分格式引用名称

我的视图创建语句:

CREATE VIEW dbo.Divisions WITH SCHEMABINDING AS
SELECT master.dbo.hbs_fsdv.seq_              AS DivisionID, 
       master.dbo.hbs_fsdv.fs_division_desc_ AS Description 
  FROM master.dbo.hbs_fsdv

如何在SQL Server中创建索引的跨数据库视图?

简单明了。你不能。从MSDN页面:

视图必须仅引用与视图位于同一数据库中的基表


尽管不能通过一条语句直接完成,但根据文档,此用例非常常见。该体系结构必须涉及将远程表缓存到集中式数据库中,并在其上构建索引视图

在这里可以找到一些关于这方面的好注意事项: