关闭

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

标签: sql server数据库
903人阅读 评论(0) 收藏 举报
分类:
最近公司的电脑越来越卡,因为忙一直也没太顾上。昨天晚上上完线,今天闲了,仔细查了一下,发现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;

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



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:29968次
    • 积分:701
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:28篇
    • 评论:1条
    文章分类
    最新评论