数据库有1kw数据不在使用了,影响读写速度,于是要删除掉

  使用delete语句

  意外发生,持续了半个小时后,依然不见结束的迹象

  于是强行结束(停止了服务)

  再打开服务后,数据库显示 【正在恢复】

  百度一下我就知道了

  于是,停下服务,剪切了数据到别的文件夹

  恢复服务

  删除数据库

  启动服务

  附加数据库

  1个小时候,附件完成(刚好中午吃饭去了)

  无知的我再次使用delete语句删除

  两个小时候,实在无法忍受,停止删除

  数据库显示 正在恢复

  数据库文件增大,mdf达到31g,log问价达到109g

  再次剪切文件到别的文件夹,启动服务,删除数据库,启动服务,附加数据库

  1h后,sql 附加数据库窗口崩溃

  本人崩溃

  再次停止服务

  剪切数据库文件,启动服务,删除数据库,停止服务,附加mdf,不要log文件,报错无法附加

  百度

  停止服务,剪切数据库文件,恢复服务,创建同名数据库,停止服务,删除同名数据库mdf文件,将原有数据库mdf覆盖同名数据mdf文件

  打开服务,看到数据,为挂起状态

  百度

  执行如下代码

  

USE master
GO
ALTER DATABASE test SET SINGLE_USER
GO
ALTER DATABASE test SET EMERGENCY
GO
DBCC CHECKDB(test,REPAIR_ALLOW_DATA_LOSS)
go
ALTER DATABASE test SET ONLINE
GO
ALTER DATABASE test SET MULTI_USER
GO 来自:http://blog.csdn.net/zxr85/article/details/51943011

  半个小时后依然在执行状态

  本人崩溃

  停止执行,数据库此时已经 成为 单个用户模式

  崩溃,百度

  执行如下代码

USE master;
GO
DECLARE @SQL VARCHAR(MAX);
SET @SQL=''
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)
FROM master..sysprocesses
WHERE dbid=DB_ID('数据库名'); EXEC(@SQL);
ALTER DATABASE 数据库名 SET MULTI_USER; 代码来自:http://www.cnblogs.com/amadeuslee/p/6608076.html

  数据库单人模式解除

  刷新数据,奇迹发生了

  数据库表可以访问了,由于只有一个表,实际要保留的数据只有8w多,于是使用

  select   into  语句,将数据保存至临时表,由于磁盘空间不足

  收缩数据库  

  执行select into语句

  执行 truncate table  ,数据库文件大小未变化

  收缩数据库

   执行insert into select

  一切搞定

  本次一系列操作都不是生产环境,是本地服务器上的数据

  本文中一系列操作仅供参考,文中奇迹发生的那一段,我同样很蒙蔽,仅供参考

sql server 删除大量数据的一次坑爹之旅的更多相关文章

  1. SQL Server 删除重复数据只保留一条

    DELETE FROM Bus_TerminalMessage_Keywords WHERE Content IN (select Content from Bus_TerminalMessage_K ...

  2. sql server删除重复数据,保留第一条

    SELECT * FROM EnterpriseDataTools.Enterprise.CompanyMainwhere CompanyNo in (select CompanyNo from En ...

  3. 最简单删除SQL Server中所有数据的方法

     最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间 ...

  4. Sql Server删除数据表中重复记录 三种方法

    本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1 ...

  5. SQL Server删除重复行的6个方法

    SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考. 1.如果有ID字段,就是具有唯一性的字段 delect   ta ...

  6. Sql Server系列:数据表操作

    表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成.SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据 ...

  7. 一个有趣的SQL Server 层级汇总数据问题

        看SQL Server大V宋大侠的博客文章,发现了一个有趣的sql server层级汇总数据问题.          具体的问题如下:     parent_id emp_id emp_nam ...

  8. sql server 与oracle数据互导的一种思路--sql server链接服务器

    思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好orac ...

  9. 探讨SQL Server并发处理队列数据不阻塞解决方案

    前言 之前对于并发这一块确实接触的比较少,自从遇到现在的老大,每写完一块老大都会过目一下然后给出意见,期间确实收获不少,接下来有几篇会来讲解SQL Server中关于并发这一块的内容,有的是总结,有的 ...

随机推荐

  1. 学习customEvent

    title: 认真学习customEvent tags: DOM date: 2017-7-22 23:20:57 --- 最近要实现一个模拟的select元素组件,所以好好看了这个自定义事件api, ...

  2. CentOS 7 安装.NET Core 2.0

    一.添加dotnet产品Feed 在安装.NET Core之前,您需要注册Microsoft产品Feed. 这只需要做一次. 首先,注册Microsoft签名密钥,然后添加Microsoft产品Fee ...

  3. mysql千万级数据表,创建表及字段扩展的几条建议

    一:概述 当我们设计一个系统时,需要考虑到系统的运行一段时间后,表里数据量大约有多少,如果在初期,就能估算到某几张表数据量非常庞大时(比如聊天消息表),就要把表创建好,这篇文章从创建表,增加数据,以及 ...

  4. MFC学习之CWinApp类

    CWinApp是一个基类,你通过它来继承Windows应用程序对象.应用程序对象为你提供了初始化应用程序(以及它的每一个实例 和运行应用程序所需的成员函数.它实现主事件循环并把事件分发给MFC中其他类 ...

  5. 苹果审核返回崩溃日志 iOS .crash文件处理 symbolicatecrash.  困扰我多年的牛皮癣根治了 看到这篇文章拿过来用下

    AppStore审核被拒,返回crashLog.txt文件,可是打开后都是十六进制的地址,我们可以使用Xcode自带的 symbolicatecrash 解析得到我们需要的详细崩溃信息crashLog ...

  6. 数值函数ROUND(四舍五入),TRUNC(不四舍五入),MOD

  7. JavaScript循环实例

    几个经典的循环案例: 1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 var i=0; var h=0.0001; while(true){ i++; h=h*2; ...

  8. Qt--自定义Delegate

    这是Model/View中的最后一篇了,Qt官方显然弱化了Controller在MVC中的作用,提供了一个简化版的Delegate:甚至在Model/View框架的使用中,提供了默认的委托,让这个控制 ...

  9. ubuntu16.04 查询ip,网关,dns信息

    用ifconfig命令只能查询ip,子网掩码信息,不能获取dns和网关信息 用下面命令即可查询 nmcli dev show

  10. date 命令详解

    date - print or set the system date and time Display the current time in the given FORMAT, or set th ...