SQL Server误区30日谈 第16天 数据的损坏和修复
发布时间:2024-01-24 04:13:32
标签:损坏,修复
误区 #16:多个关于数据的损坏和修复误区
坊间流传的很多版本都不正确
我已经听过很多关于数据修复可以做什么、不可以做什么、什么会导致数据损坏以及损坏是否可以自行消失。其实我已经针对这类问题写过多篇博文,因此本篇博文可以作为“流言终结者”来做一个总结,希望你能有收获。
首先,对于数据修复可以做什么,不可以做什么,我已经写过一篇博文Misconceptions around database repair涵盖了13个误区—从不用DBCC CHECKDB是否能修复错误(当然不能)到REPAIR_ALLOW_DATA_LOSS是否会引起数据丢失(这个名字的确很让人迷惑)。
其次,很多人抱怨说DBCC CHECKDB第一次运行时显示的错误在第二次运行时会自行消失。这很好解释:第一次由DBCC CHECKDB检测出的错误页已经不属于页分配集了,因此在第二次运行DBCC时就显示不出来了。我有一篇博文对此进行了详细的解释:Misconceptions around corruptions: can they disappear?。
还有一个传的很广泛的流言是,运行时间长的操作(比如索引重建,大容量数据插入,数据库或文件的收缩)会导致页损坏。其实不然,除非SQL Server存在BUG的情况下(非常罕见)。没有任何T-SQL语句会导致数据出错。我几年前写过一篇文章对此进行了详细的解释:Search Engine Q&A #26: Myths around causing corruption。
希望这篇文章对澄清这个概念有帮助


猜你喜欢
- 对于Python开发用户来讲,安装第三方库是家常便饭,下面提供两种安装方式pycharm软件安装1.打开file>setting2.点
- 一条记录可以看做一条数据的数组1 Html1.1 批量选择框1.2&
- 1、简介这篇博客将会非常基础,如果有MySQL经验的可以跳过,写这篇博客的原因是给初学者看的。下面将会讲解如何使用select查看指定表的单
- 一般情况下,tensorflow里面变量初始化过程为: #variables ........... #......
- 本文实例讲述了Sanic框架异常处理与中间件操作。分享给大家供大家参考,具体如下:简介Sanic是一个类似Flask的Python 3.5+
- 首先创建一个表Use Test;Create Table TableTest(`ID` mediumint(8) default '
- 前言在安装完python及pip,setuptools等工具后,即可以创建virualenv虚拟环境了,这个类似于虚拟机的工具,可以让同一台
- 亲身实践安装mysql,用时居然花费了三个小时,在有那么多教程的情况下,依然在不该花费时间的路上浪费了太多时间。希望这篇文章能够帮助大家少走
- 1.获取页面titletitle:获取当前页面的标题显示的字段from selenium import webdriverimport ti
- 安装:yum -y install php php-devel php-pear
- import httplibimport osimport timedef check_http(i):
- 目录什么是pyecharts?pyecharts安装加载折线图的绘制条形图和折线图的结合绘制漏斗图什么是pyecharts?pyechart
- 开门见山,直接以例子介绍: 代码如下:CREATE TABLE [dbo].[course]( [id] [int] NULL,
- mysql分组统计并求出百分比1、mysql 分组统计并列出百分比SELECT point_id,&nb
- 前言在很多网站中,基本上的都会有一个开头和一个结尾,在每一个网页中都会显示。相对于这种的来说,在Django中,最好的方法就是使用inclu
- 如下所示:function makeAcquire($nUsers,$nAwards) { &
- If you want to give a specific user access from all machines in a give
- 创建工程时,选择已存在的环境(不要选择虚拟环境,虽然安全,但很慢)添加环境在 anaconda3/bin/python3.6 即 d:/an
- 代码需要先导入pandasarr的数据类型为一维的np.arrayimport pandas as pdarr[~pd.isnull(arr
- 案例展示电影详情,传递电影的id.从search.vue传递到movie.vuemethods: {showMovie(e){var tra