使用达思SQL数据库修复软件导出数据库时的接收数据的数据库如何清空表数据?...
清空表数据,保留视图,存储过程,函数,以及保留表约束、触发器等等,可以给故障数据库预留一个好的躯壳,把坏库数据导入此躯壳。对用友、金蝶等数据库恢复有时候能达到好的效果。
清除表数据有两种方法:
一种用delete from [表名] ,这种方法对于大数据库,速度慢,会产生很大的日志信息,对于小库,速度可以忽略;
另一种是truncate table [表名] ,这种方法速度快,但清除不了具有外键的表数据。
在清除表数据时,可以采用两种方法结合。
清除表数据时先禁用一切约束,清除完成以后再次启用约束就行了。
1、 采用truncate table [表名] 清除表数据,排除具有外键属性的表,清除语句获取如下:
Use [要操作的库名字]
select
'alter table [' +name+ '] nocheck constraint all; alter table [' +name + '] disable trigger all;
truncate table ['+name+'];'
' alter table [' +name + '] enable trigger all; alter table [' +name + '] check constraint all;
go'
from sysobjects where id not in(select parent_object_id from sys.foreign_keys ) and id not in(select referenced_object_id from sys.foreign_keys ) and type='U'
上述SQL语句得到的结果,再次在SQL查询分析器里运行。
2、用 delete from [表名] 清除表数据语句获取如下
Use [要操作的库名字]
SELECT 'alter table [' +object_name (id) + '] nocheck constraint all; alter table [' +object_name (id) + '] disable trigger all;
delete from ['+object_name (id)+'];' + '
alter table [' +object_name (id) + '] enable trigger all; alter table [' +object_name (id) + '] check constraint all;
go'
TableName from sysobjects where type='U'
3、 有些MS SQL Server查询分析器,对于 上述语句后面的 go ,copy出来后不自动换行,可以把运行结果保存到文本文件中,查询分析器打开以后,会自动换行。如果不自动换行,sql语句执行报错。
4、 可能遇到清除不了的某些表,查看它和哪些表关联外键,先把两个表的约束同时禁用,再用delete from [表名],完了以后,两个表同时恢复约束使用。
5、 查看清除数据是否成功彻底,用下述语句查看记录数量:
Use [要操作的库名字]
SELECT object_name (i.id) TableName,
rows as RowCnt
FROM sysindexes i
INNER JOIN sysObjects o
ON (o.id = i.id AND o.xType = 'U ')
WHERE indid < 2 and RowCnt>0
ORDER BY RowCnt desc
转载于:https://blog.51cto.com/13803354/2395611
使用达思SQL数据库修复软件导出数据库时的接收数据的数据库如何清空表数据?...相关推荐
- 使用达思SQL数据库修复软件导出数据库时的接收数据的数据库如何清空表数据?
清空表数据,保留视图,存储过程,函数,以及保留表约束.触发器等等,可以给故障数据库预留一个好的躯壳,把坏库数据导入此躯壳.对用友.金蝶等数据库恢复有时候能达到好的效果. 清除表数据有两种方法: 一种用 ...
- D-RecoverySQLServer2019达思SQL数据库修复软件升级至3.0版
一.支持的SQL数据库版本: 达思SQL数据库修复软件2019在功能上支持几乎所有的Microsoft SQL Server版本,如: 7.0.2000.2005.2008.2008R2.2012.2 ...
- 一卡通综合管理平台中了后缀.[mr.hacker@tutanota.com]的勒索病毒加密的数据库怎么用达思SQL数据库修复软件完美修复?
用达思SQL数据库修复软件怎么修复中了后缀.[mr.hacker@tutanota.com]的勒索病毒加密的数据库?(一卡通综合管理平台) 2.33GB的sql数据库被后缀.[mr.hacker@tu ...
- 达思SQL数据库修复软件1.7(支持碎片重组、支持勒索病毒加密的sql数据库修复软件)
达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复) 达思SQL数据库修复软件 D-Recovery for MS SQL Server 界面 达思SQL数据库修复软件(支持碎片重组,支持 ...
- 达思SQL数据库修复软件1.7(支持碎片重组、支持勒索病毒加密的sql数据库修复软件)...
达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复) 详细介绍 达思SQL数据库修复软件 D-Recovery for MS SQL Server 界面 达思SQL数据库修复软件(支持碎片 ...
- sql数据库修复技巧:用达思sql数据库修复软件时表重复怎么搞办?
曾经有个达思sql数据库修复软件的用户在恢复用友数据库时,还原到用友环境时,发现菜单重复,一个按钮变出好几个相同的按钮,就像孙悟空拔出毫毛变出好多个小孙悟空,一直在捉弄那个不会处理重复数据的抓耳挠腮的 ...
- DM8:达梦数据库dexp-DMP逻辑导出按用户模式定时自动备份数据库
DM8:达梦数据库dexp-DMP逻辑导出按用户模式定时自动备份数据库 环境介绍 1 编写脚本&配置文件 1.1编写shell脚本备份数据库 1.2 编写dm_conf 配置文件 1.3 编写 ...
- sql删除或清空表数据
sql删除或清空表数据 一.sql清空表数据的三种方式: 1.truncate–删除所有数据,保留表结构,不能撤销还原 2.delete–是逐行删除速度极慢,不适合大量数据删除 3.drop–删除表, ...
- 关于清空表数据的几种sql语句及区别
文章目录 drop truncate delete drop drop (删除表):删除内容和定义,释放空间.简单来说就是把整个表去掉,以后要新增数据是不可能的,除非新增一个表. drop语句将删除表 ...
最新文章
- 会话(cookie的使用,路径和Session的工作原理,使用)
- linux基础:用户与组,权限管理
- c 和 java 差异_java和C/C++的差异是什么
- 语音识别(三)——声学模型, 解码器技术
- python 定时任务系统_Python定时任务,实现自动化的方法
- I2C和SPI注定要打一架
- python whl_python whl是什么文件
- happens-before通俗理解
- SSIS工具的ETL过程,全量ETL和增量ETL过程教程
- springboot实战pdf_Java程序员中秋节福利发送:Spring boot+Redis实战文档「PDF」
- 为什么腾讯云要自研云原生数据库 CynosDB?
- 插入排序算法(insertion-sort)
- fibonacci数列python_从 Python 计算 Fibonacci 数列说起
- 乱七八糟的想,乱七八糟的记。
- php 生成xls解决乱码,怎么解决php导出excel文件乱码问题
- configure: error: no acceptable cc found in $PATH
- 手机长时间不用自动断网_手机自动断网怎么回事
- python中if elif else是什么意思_python中的elif是什么意思
- 女孩取名:带日字旁好听有内涵的女孩名字
- java xml 查询_java对xml进行查询操作代码
热门文章
- 【ESXi 7.x 升 8.x】ESXi 升级 —— 使用 ESXCLI 升级 ESXi(Offline Bundle ZIP)
- 学校信息系统、计算图形面积、计算车重C++(继承与派生)在线作业
- 雷神之锤冠军游戏角色高清Mac动态壁纸
- c语言开发exporter,prometheus数据采集exporter全家桶
- python中的replaceall_Java ArrayList replaceAll() 使用方法及示例
- QQ中强制和他人聊天的代码
- websockets_一个简单的聊天应用,带有swiftui和websockets或背面swift正面
- 关于域名备案的注意事项
- 消费信贷业务风控英文词汇手册
- 高成本获客时代,如何降低你的获客成本?