如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

SQL Server 2012 SP 2 有丢失数据的风险

  • 2014-06-19
  • 本文字数:780 字

    阅读完需:约 3 分钟

SQL Server 2012 的 SP2 最近发布了,它修复了自上一次累积更新以来的 30 多个 bug。 SQL Sentry 公司的 Aaron Bertrand 提到,一个对企业用户很重要的修复程序并没有包括在里面。

根据微软的说法,这个 bug 发生的时机如下,

在线重建索引的时候,同时遇到修改大量行的请求,就可能会导致索引被破坏或数据丢失。比如,一次同步操作要修改很多行,而同时这个表正在在线创建索引。

当以下条件满足时,这个问题就会发生:

  • 在线创建索引的请求运行在并行模式下
  • 死锁错误,或者其他致命的错误比如“锁超时”按特定的顺序发生

这个 bug 的修复方案目前只是 SQL Server 2012 SP 1 的一个修复程序。在微软的命名体系中,修复程序只是给那些真正遇到这个问题的人用的。微软没有像一个正常的更新一样全面测试过它,所以,它是有可能带来其他问题的。

过去,管理员们要得到微软的修复程序,他们先要提交一份支持单,在单子里附上和这个问题对应的知识库 ID,并描述他们观察到的现象。如果微软的支持人员认为这个修复程序是适用的,他们就会返还提交这个单子的费用。最近,很多修复程序都免费了,但是微软会在前面附上警告。

这个特殊的修复程序只能用在 SQL Server 2012 SP 1。如果你在用 SQL Server 2012 SP 2 或 SQL Server 2014,你还是得使用 Aaron Bertrand 描述的变通方案。简单说,这些变通方案牵涉到把索引重建操作设置成串行模式 (MAXDOP = 1),不用并行模式。具体方法取决于你用什么工具来完成这个操作。Aaron 讲到了几种基础的方法,包括 Ola Hallengren 索引维护方案,SQL Sentry 的碎片管理器,以及标准的维护方案。

查看英文链接: Potential for Data Loss in SQL Server 2012 SP 2


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-06-19 07:421846
用户头像

发布了 77 篇内容, 共 39.9 次阅读, 收获喜欢 26 次。

关注

评论

发布
暂无评论
发现更多内容

Macos媒体播放器 Movist Pro 针对 macOS 13 Ventura 进行了优化

Rose

Movist Pro 中文版 Movist Pro下载 Macos媒体播放器 视频播放器下载

软件测试 | MTV开发模式

测吧(北京)科技有限公司

测试

必知必会的JavaScript前端面试题篇(一),不看后悔!

Immerse

Java IO流详解

timerring

Java

2023-05-06:X轴上有一些机器人和工厂。给你一个整数数组robot,其中robot[i]是第i个机器人的位置 再给你一个二维整数数组factory,其中 factory[j] = [posit

福大大架构师每日一题

golang rust 福大大

Pratt Parsing - 自顶向下的算符优先级

乌龟哥哥

三周年连更

苹果Mac最佳卸载程序和清理助手:App Cleaner & Uninstaller

Rose

mac系统清理优化软件 苹果系统清理 App Cleaner

深入理解 TypeScript 的 type 以及 type 与 interface 和 class 的区别

Lee Chen

typescript

【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的Redis延时队列的功能组件

码界西柚

redis 分布式 延时队列 redisson 三周年连更

Redis桌面管理用什么工具好?

真大的脸盆

Mac Mac 软件 桌面管理工具

Django笔记二十三之case、when操作条件表达式搜索、更新等操作

Hunter熊

Python MySQL django case when

macOS硬盘如何格式转换?用Tuxera NTFS就够了!

Rose

ntfs FAT32

Office Mac升级提醒如何去掉?关闭Microsoft AutoUpdate弹框提示

Rose

许可证 Office 2019中文版 Office Mac office更新 office2021下载

Java实现坦克大战2.0

timerring

Java

Go常用设计模式(下)

闫同学

三周年连更

面对“失业焦虑”我们可以做些什么?让 AI 帮助自己变得更强大! | 社区征文

汪子熙

人工智能 机器学习 程序员 ChatGPT 三周年征文

Mac 触控增强神器:BetterTouchTool如何使用?

Rose

苹果软件下载 BetterTouchTool破解 BetterTouchTool教程 Mac 触控增强神器

什么是人工智能领域模型的 Presence Penalty 参数?

汪子熙

人工智能 机器学习 深度学习 强化学习 三周年连更

一套前后台全部开源的H5商城送给大家

越长大越悲伤

开源 java‘

架构训练营模块一作业

Geek_3d7c4d

架构训练营

Focus Matrix for Mac(智能任务管理器)

Rose

mac软件下载 Focus Matrix 任务管理器

Golang中如何使用Singleflight库进行并发请求合并

Jack

站点可靠性工程SRE最佳实践 -- 黄金监控信号

俞凡

SRE

C++虚函数详解:多态性实现原理及其在面向对象编程中的应用

小万哥

c++ 程序员 面试 后端 开发

云原生应用使用的云服务组件介绍

穿过生命散发芬芳

三周年连更 云服务组件

Django笔记二十二之多数据库操作

Hunter熊

Python django database

SQL Server 2012 SP 2有丢失数据的风险_DevOps & 平台工程_Jonathan Allen_InfoQ精选文章