症状
当你在使用 CHECK OPTION 语法定义的视图上运行 INSERT、UPDATE 或 MERGE 语句时,将生成转储文件,并且 Microsoft SQL Server 会在应用程序日志中记录以下错误消息:
<时间戳> 服务器从具有 SPID < # > 的会话发出的用户请求生成了一个严重异常。 SQL Server 正在终止此会话。 通过在日志目录中生成的转储联系产品支持服务 ... <时间戳> spid< # > SqlDumpExceptionHandler: Process < # > 生成的异常 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server 正在终止此进程
解决方案
累积更新信息
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 我们建议你下载并安装 SQL Server 的最新累积更新:
更多信息
仅当在使用 WITH CHECK OPTION 语法定义的视图上运行插入、更新或合并语句时,才会出现此问题。 例如:
UPDATE "<ViewName>" SET"<ColumnA>" = <NewValue> WHERE ("<ColumnB>" = <ColumnBValue>)
解决方法
-
针对使用 WITH CHECK 选项语法定义的视图的基础表,运行 INSERT、UPDATE 或 MERGE 语句。
-
更改或重新创建适用的视图,确保未使用 WITH CHECK OPTION 语法。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。