sqlserver 怎么清空表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 怎么清空表相关的知识,希望对你有一定的参考价值。
楼主好,数据库清空表使用delete和truncate语句,但这两个命令语句是有区别的。首先区别在于,delete是数据库操作语句而非命令语句,直接清空的是数据,能够触发触发器等操作。而truncate是命令语句,不会触发触发器等操作,但不能回滚。truncate语句是直接提交的数据库的,而delete是DML语句。delete还会保留数据库的高水线。打个比方,你就能知道最简单的区别。比如你的表中有一个自增长的ID,truncate之后,ID会重新开始编码,但delete会接着你删除的最大值进行编码。语法上 delete可以带where条件,删除指定数据,但truncate是不能的,只能全部清空表。下面写一下两个语句清空表的语法delete table
truncate table 参考技术A delete from tablename where 1=1
sql server 2008怎么清空日志
SQL Server 2008清空删除日志文件方法:在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。打个SQL查询分析器,在里面输入如下命令后执行即可:USE [master]GOALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式GOUSE DNNameGODBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)GO '这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询'USE DNName'GO'SELECT file_id, nameFROM sys.database_files;'GOUSE [master]GOALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式GO 参考技术A有一个简单的语句你可以尝试下:
DUMP TRANSACTION 数据库名称 WITH NO_LOGBACKUP LOG 数据库名称 WITH NO_LOG
DBCC SHRINKDATABASE(数据库名称)
EXEC sp_dboption '数据库名称', 'autoshrink', 'TRUE'
以上是关于sqlserver 怎么清空表的主要内容,如果未能解决你的问题,请参考以下文章
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享