如果更改满足绑定要求,我可以更改被模式绑定引用的视图吗?

Mat*_*hew 5 schema sql-server-2008-r2 view locking

在 SQL Server 2008 中,我有视图WITH SCHEMABINDING,我需要更改一个视图。

我正在更改列而不更改其别名,因此消费者不会受到影响。

如果我要删除所有其他依赖于此的视图,我将能够再次重新创建它们,因此SCHEMABINDING仍然有效。

我可以暂时禁用此视图上的架构锁ALTER吗?

或者我必须删除依赖视图并在更改后重新创建它们?

Aar*_*and 8

您不需要删除依赖视图,但您确实需要将它们更改为(暂时)不是模式绑定。如果其中任何一个被索引,这意味着您需要重新创建索引。

SQL Server 没有一些用于架构绑定的加权系统:您不能更改对象。时期。

ALTER VIEW dbo.view_name
--Remove this WITH SCHEMABINDING
AS
  SELECT ...
Run Code Online (Sandbox Code Playgroud)