我们有许多索引视图,当然需要SCHEMABINDING。支持这些视图的基表涉及复制。我们的DBA最近不得不重新创建复制,并说所有这些索引视图都让他感到悲伤,因为他无法删除基表并重新创建它们,我想这就是复制的作用。
他告诉我,在每个索引视图中,他注释掉了“SCHEMABINDING”并保存了视图定义。当他这样做时,每个视图的相关索引发生了什么?它被删除了吗?我是否必须返回每个视图,包括SCHEMABINDING命令,然后重新创建每个关联的索引?
答案 0 :(得分:8)
如果没有架构绑定,您就无法在视图上拥有索引,因此删除了索引,您必须添加schemabinding并重新创建索引。 http://msdn.microsoft.com/en-us/library/aa933148%28v=sql.80%29.aspx
编辑:@ RedFilter,我刚做了一个测试,是否通过改变视图或DROPing并重新创建它来删除模式绑定,索引将被删除。
答案 1 :(得分:0)
是的,您需要返回每个视图,包含SCHEMABINDING
命令,然后重新创建每个关联的索引。