症状
请考虑以下情况:
-
运行 insert 语句以将包含大型对象(LOB)数据的记录插入到 Microsoft sql server 2008 或 Microsoft sql Server 2008 R2 中的快照数据库中。
-
您收到以下错误消息:
无法更新数据库 "<DatabaseName>",因为数据库是只读的。
-
重新启动 SQL Server,然后再次尝试插入该记录。
在此方案中, INSERT 语句以无限循环运行,并且不返回任何结果。 此外,将在 SQL Server 错误日志中记录 "非生成计划程序" 错误消息,并生成转储文件。
解决方案
累积更新信息
SQL Server 2008 R2 SP2 的累积更新4
此问题的修补程序首次在累积更新4中发布。有关如何为 SQL Server 2008 R2 SP 2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2777358 SQL Server 2008 R2 Service Pack 2 的累积更新程序包4 注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 SP 2 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本
SQL Server 2008 R2 Service Pack 1 的累积更新包10
此问题的修补程序首次在累积更新10中发布。有关如何获取此累积更新包的 SQL Server 2008 R2 SP1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2783135 SQL Server 2008 R2 SP1 的累积更新包10 注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 R2 SP1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本
累积更新8 SQL Server 2008 Service Pack 3 (SP3)
此问题的修补程序首次发布,即累积更新8。有关如何获取此累积更新包的 SQL Server 2008 Service Pack 3 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2771833 SQL Server 2008 的累积更新程序包 8 Service Pack 3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 Service Pack 3 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2629969 发布 SQL server 2008 Service Pack 3 后发布的 SQL Server 2008 版本
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。