SQL Server的ldf和mdf文件转移,释放C盘空间

原创 2014年03月28日 11:40:16
最近公司的电脑越来越卡,因为忙一直也没太顾上。昨天晚上上完线,今天闲了,仔细查了一下,发现C盘居然剩下4G不到了……简直震惊。翻来翻去,发现SQL Server居然就占了30多G……

再仔细检查一下,发现是MSSQL\DATA文件夹下,有太多的mdf和ldf文件了,而且有几个是好几G大小的。其实就是这两个文件。


平时各种还原库,也不太注意这个,没想到后果这么严重,于是在网上搜索研究了一下怎么把这些文件转移。总结一下:

比如我这个库test_db

/*设置脱机*/
alter database [test_db] set offline
/*逻辑移动*/
use master;
go
alter database test_db
modify file
(
 name = test_db,
 filename = N'F:\MSSQLdata\test_db.mdf'
);
go
alter database test_db
modify file
(
 name = test_db_log,
 filename = N'F:\MSSQLdata\test_db_log.ldf'
);
go

首先让数据库脱机,这样才可以动这两个文件。
先进行逻辑移动,说白了就是改刚才属性页面里后面的那两个路径,会发现这两个路径是没办法在属性里直接手改的……所以得用这语句来改。
name=后面接的是两者的逻辑名称,也就是刚才属性页面里的。一般是数据库名和数据库名_log,不过如果是还原的库,可能名字会千奇百怪,注意执行语句前将逻辑名称改一下。逻辑名称倒是可以直接在属性页面里修改。
filename =后面接的就是打算移动到的路径了。
上面的语句执行完毕后,去MSSQL\DATA文件夹下把对应的两个文件找到,剪切到之前修改的路径下。注意文件名也要能对应上才可以。
最后一步再取消脱机,执行:

alter database [testdb] set online;

如果之前的名称修改正确、路径正确、文件名正确、文件正确,那么就可以顺利取消脱机,然后继续使用这个库了。



深入VCL 理解BCB的消息机制 (一)

   
  • cker
  • cker
  • 2001-06-09 15:53:00
  • 3350

SQL Server 2008 R2 清空数据库中ldf日志文件

/************************************************************  * Sql Server 2008 R2 清空数据库中ldf日志文件...
  • a497785609
  • a497785609
  • 2015-09-29 13:05:28
  • 5688

SQL 2008在还原时如何重建LDF文件

1). RESTORE DATABASE [baktest_data]     FROM DISK='你的备份'     WITH MOVE '数据文件名' TO '某路径',NO_LOG   2...
  • wozengcong
  • wozengcong
  • 2015-12-18 21:29:58
  • 974

如何清理sqlserver日志LDF文件

如何清理LDF文件 LDF文件太大了,在网上找一下,有很多方法,但好多在SQL 2005下,没有成功。 最后用这个SQL搞定了。 脚本如下: declare @db nvar...
  • jwxkk
  • jwxkk
  • 2015-07-20 16:08:34
  • 614

sqlserver2008 压缩、清空ldf日志文件

USE sqqhxxdata--数据库名称 GO ALTER DATABASE sqqhxxdata SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABAS...
  • moniteryao
  • moniteryao
  • 2015-01-30 17:33:57
  • 1289

Sql Server 2008 R2 清空数据库中ldf日志文件

************************************************************  * Sql Server 2008 R2 清空数据库中ldf日志文件 ...
  • fathing
  • fathing
  • 2016-07-25 18:45:18
  • 200

sql2008中 数据库.ldf文件太大的解决方法

sql2008中 数据库.ldf文件太大的解决方法 2011-04-06 09:191.分离数据库2.删除ldf文件3.重新附加数据库(注:附加数据库时,选中数据库详细信息中的...
  • liehuo123
  • liehuo123
  • 2011-05-25 13:26:00
  • 5573

sql server 2008 ldf 文件太大

压缩日志文件 http://blog.csdn.net/u014617263/article/details/49640413
  • chenhao4580
  • chenhao4580
  • 2017-10-30 17:36:51
  • 377

如何清理LDF文件

如何清理LDF文件LDF文件太大了,在网上找一下,有很多方法,但好多在SQL 2005下,没有成功。最后用这个SQL搞定了。脚本如下: declare @db nvarchar(20)set @db=...
  • metababy
  • metababy
  • 2010-10-10 13:39:00
  • 2783

SQL SERVER LDF日志文件太大的解决方法

如何压缩日志及数据库文件大小 /*--特别注意 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可能损坏你的数据库. 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步...
  • jiutao_tang
  • jiutao_tang
  • 2011-07-08 10:01:36
  • 13277
收藏助手
不良信息举报
您举报文章:SQL Server的ldf和mdf文件转移,释放C盘空间
举报原因:
原因补充:

(最多只允许输入30个字)