收缩SQL Server 数据库的几种方法
方法一:
Use 数据库名
Select NAME,size From sys.database_files
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE
USE 数据库名
DBCC SHRINKFILE(N’日志文件名’,0,TRUNCATEONLY)
ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT
ALTER DATABASE 数据库名 SET RECOVERY FULL
方法二:
backup log [你的数据库名称] WITH NO_LOG
backup log [你的数据库名称] WITH TRUNCATE_ONLY
DBCC SHRINKDATABASE([你的数据库名称])
说明:
backup log 指定仅备份事务日志。该日志是从上一次成功执行的 LOG 备份到当前日志的末尾。备份日志之后,可能会截断事务复制或活动事务不再需要的空间。
- NO_LOG | TRUNCATE_ONLY
-
通过放弃活动日志以外的所有日志,无需备份复制日志即可删除不活动的日志部分,并截断日志。该选项会释放空间。因为并不保存日志备份,所以没有必要指定备份设备。NO_LOG 和 TRUNCATE_ONLY 是同义的。
这里有个问题,什么是活动日志,微软的解释是:
日志文件中从必须存在以确保数据库范围内成功回滚的第一条日志记录到最后写入的日志记录之间的部分称为日志的活动部分,即“活动日志”。这是进行数据库完整恢复所需的日志部分。永远不能截断活动日志的任何部分。
DBCC SHRINKDATABASE 收缩特定数据库的所有数据和日志文件,这个是最简单的方法了,也可以使用。
不过有个问题是:
在一些对数据安全性要求不高,或者备份频率很高的情况下,使用直接截断日志的方法不如使用 简单恢复模式。微软说:在简单恢复模式下,在每个数据备份后事务日志将自动截断,也就是说,不活动的日志将被删除。因为经常会发生日志截断,所以没有事务日志备份。这简化了备份和还原。但是,没有事务日志备份,便不可能恢复到失败的时间点。
也就是说:如果你不会使用日志来恢复数据(我自己不会用,我使用redgate 定时高频率备份),那么简单模式就是最佳的方案。
收缩SQL Server 数据库的几种方法的更多相关文章
- SQL server分页的四种方法
SQL server分页的四种方法 1.三重循环: 2.利用max(主键); 3.利用row_number关键字: 4.offset/fetch next关键字 方法一:三重循环思路 先取前20页, ...
- C# 连接SQL Server数据库的几种方式--server+data source等方式
如何使用Connection对象连接数据库? 对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对象为我们屏蔽了具体的实现细节,并提供了 ...
- 收缩sql server数据库日志
项目中,可能数据库(sql server数据库)日志太多,占了很多磁盘空间,可以通过收缩数据库日志,减少日志文件大小. 下面以Northwind数据库为例: 1.把数据库的恢复模式设置为“简单模式”: ...
- SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式(转载)
SQL Server数据库有三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式: 1.Simple 简单恢复模式, Simple模式的旧称叫”Checkpoint with truncate ...
- SQL Server启动的几种方法
SQL Server 启动有以下几种方法: (1)在Control Panel——Administrative Tools——Services,找到SQL Server (XXX)进行启动. 其中XX ...
- SQL Server 备份的 8 种方法。
方法 1. 完整备份 方法 2. 差异备份 方法 3. 部分备份(备份数据库的read_write部分) 方法 4. 文件备份 方法 5. 文件组备份 方法 6. 只复制备份 方法 7. 日志备份 - ...
- sql server数据库可疑状态解决方法
前段时间客户数据服务器断电,开机后发现数据库状态标记为可疑,可能是断电引起的数据库日志文件损坏,修复方法如下: 只有mdf文件,重建日志: --注:example为测试用数据库,相应的Example_ ...
- SQL server分页的四种方法(算很全面了)
这篇博客讲的是SQL server的分页方法,用的SQL server 2012版本.下面都用pageIndex表示页数,pageSize表示一页包含的记录.并且下面涉及到具体例子的,设定查询第2 ...
- 收缩SQL Server数据库文件
收缩整个数据库 DBCC SHRINKDATABASE (dbName) 收缩单个文件DBCC SHRINKFILE (FileName) 查找所有的文件名称USE dbNameEXEC sp_hel ...
随机推荐
- Chrome Dev Tools :成为更高效的开发人员
原文出处 http://blog.jobbole.com/22065/ 实时CSS Style编辑 选择一个Dom,可以对Dom进行编辑和操作,实时修改Css Style, 同时CssStyle可以保 ...
- nginx相关的一些记录
http redirect to https: if ($http_cf_visitor ~ '"scheme":"http"'){ rewrite ^/(.* ...
- IIS7 IIS8 中多个版本php共存的方法
原文地址: https://blog.cozof.com/pieces/54.shtml 最近又重回.net,用回IIS.然后用到某个php开源项目,需要低版本的php,之前装的一个php5.5不能用 ...
- subline text3 删除行 快捷键设置
打开 首选项-->按键绑定 { "keys": ["ctrl+shift+k"], "command": "run_macr ...
- arp命令
地址解析协议ARP用于将IP地址解析成MAC地址.当把数据包从一个计算机发送到另一个计算机的时候,计算机或路由器使用ARP请求来确定下一跳的MAC地址. MAC地址用于按跳发送数据包,直到达到最终目的 ...
- 9.3 js基础总结3
2.后增量/后减量运算符 ++,-- var i = 10; var a = i++; // i = i + 1; alert(a); 3.比较运算符(>,<,>=,<=,== ...
- linux 驱动学习笔记05--文件系统与设备文件系统
查看/proc/devices 文件可以获知系统中注册的设备,第 1 列为主设备号,第 2 列为设备名,如:
- 使用 Entity Framework Core 时,通过代码自动 Migration
一 介绍 在使用 Entity Framework Core (下面就叫 EF Core 吧)进行开发时,如果模型有变动,我们要在用 EF Core 提供的命令行工具进行手工迁移,然后再运行程序.但是 ...
- SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间
---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...
- apk添加系统签名
上一节,可以通过添加su的方式获取系统权限,但这种存在安全隐患,故不推荐,本文通过获取数字签名方式获取系统权限. 在我们的AndroidManifest.xml中添加 android:share ...