Microsoft 将 Microsoft SQL Server 2008 R2 Service Pack 1 修复分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2008 R2 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。
症状
在 Microsoft SQL Server 2008 R2 中使用数据库镜像并执行 ALTER database 语句时,可能会在 SQL Server 错误日志中记录以下错误消息。
日期时间 spid # * * 转储线程-spid = 0,EC = 0X00000004AADE8B20日期时间 spid # * * * 将堆栈转储发送到 DriveName: \mssqlserver\ MSSQL10_50。 MSSQLSERVER\MSSQL\LOG\SQLDump0001.txt日期时间 spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * 日期时间 SPID # *日期时间 Spid # * 开始堆栈转储:日期时间 spid # * 日期时间 spid #日期时间 Spid # *日期时间 spid # * 位置: DbmConnection: 798日期时间 spid # * 表达式: CheckValidInput (WsName,cbName)日期时间 spid # * Spid: #日期时间 spid # * 进程 ID: #日期时间 spid # 错误:17066,严重性:16,状态:1。日期时间 SPID # SQL Server Assertion: File: <DbmConnection>,line = 798 失败断言 = ' CheckValidInput (WsName,cbName) '。 此错误可能与计时有关。 如果再次运行该语句后,该错误仍然存在,请使用 DBCC CHECKDB 检查数据库的结构完整性,或者重新启动服务器以确保内存中的数据结构未损坏。
此外,当出现此问题时,将生成一个小型转储文件。注意Microsoft SQL Server 2012 中不会出现此问题。
解决方案
累积更新信息
SQL Server 2008 R2 Service Pack 2 的累积更新6
此问题的修补程序首次在累积更新6中发布。有关如何为 SQL Server 2008 R2 Service Pack 2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2830140 SQL Server 2008 R2 Service Pack 2 的累积更新包6注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 2 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本
SQL Server 2008 R2 Service Pack 1
此问题的修补程序首次在累积更新11中发布。有关如何为 SQL Server 2008 R2 Service Pack 1 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2812683 SQL Server 2008 R2 Service Pack 1 的累积更新包11注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。