Microsoft SQL Server,错误:33266

时间:2017-02-03 11:23:14

标签: sql-server sql-server-2016

我在我的数据库中创建了一个安全策略。当我试图在视图上创建索引时,它会说

  

视图上的索引' dbo.vwUserFullNames'无法创建,因为视图引用表' dbo.Persons'这是由安全策略引用的。

是否可以使用安全策略在视图上创建索引?

创建视图

CREATE VIEW [dbo].[vwUserFullNames] WITH SCHEMABINDING AS //select ...

1 个答案:

答案 0 :(得分:0)

不,不是。根据{{​​3}}:

  

通常,可以在视图之上创建安全策略   可以在受安全性约束的表之上创建视图   政策。但是,无法在表的顶部创建索引视图   有安全策略,因为通过索引进行行查找   绕过政策。

可能的解决方法是在视图上定义安全策略,但是您的表不能使用一个(因此,如果您有多个视图,则需要重复安全策略)个人观点)。