ALTER DATABASE SET ALLOW_SNAPSHOT_ISOLATION ON 需要永远

don*_*ger 5 sql-server snapshot-isolation sql-server-2016

需要在 POC 的测试服务器上安装的供应商软件之一。当 setup.exe 尝试使用SET ALLOW_SNAPSHOT_ISOLATION ON.

测试服务器在 Microsoft SQL Server 2016 (SP1-CU8) 开发版上。

回滚到 SP1-CU5 后,SET ALLOW_SNAPSHOT_ISOLATION ON工作。

有没有人经历过同样的行为?除了回滚 CU 之外还有其他解决方法吗?

没有阻塞,也没有其他用户。POC 处于隔离的实验室环境中。在实时环境中使用 2016 SP1 CU7 在其他 2 个开发 SQL Server 上尝试,遇到相同的行为。

Tom*_*m V 6

我遇到了这种确切的情况,可以确认在我的情况下没有阻塞,因为设置基本上在创建数据库后立即改变了快照隔离。

在我的情况下,等待类型是ENABLE_VERSIONING.

在调查时,我发现这个反馈项目在 2016 SP1 CU6 和 CU7 中启用快照隔离挂起,仍在调查中。

其中一条评论似乎表明SERVER AUDIT情况可能如此。

如果您没有运行服务器审核,恐怕您现在的选择是回滚到较旧的 CU 并查看该反馈项以获取更新。

  • 我测试并确认通过在 2016 SP1 CU8 和 SP2 上关闭 SERVER AUDIT,SET ALLOW_SNAPSHOT_ISOLATION ON 按预期工作,否则它会挂起。谢谢汤姆 V。 (3认同)

小智 1

在 Microsoft 的帮助下,我们能够追踪到该行为的原因。它与早期 CU 中创建的审核相关。如果我在应用最新的 CU 后停止并重新创建审核,问题就会消失。

https://support.microsoft.com/en-us/help/4090966/sql-server-session-hangs-when-you-try-to-enable-snapshot-isolation