欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL Server的ldf和mdf文件转移

程序员文章站 2024-01-13 17:00:34
...

再仔细检查一下,发现是MSSQLDATA文件夹下,有太多的mdf和ldf文件了,而且有几个是好几G大小的。其实就是这两个文件。 平时各种还原库,也不太注意这个,没想到后果这么严重,于是在网上搜索研究了一下怎么把这些文件转移。总结一下: 比如我这个库test_db /

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

SQL Server的ldf和mdf文件转移

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

  比如我这个库test_db

  /*设置脱机*/

  alter database [test_db] set offline

  /*逻辑移动*/

  use master;

  go

  alter database test_db

  modify file

  (

  name = test_db,

  filename = N'F:MSSQLdatatest_db.mdf'

  );

  go

  alter database test_db

  modify file

  (

  name = test_db_log,

  filename = N'F:MSSQLdatatest_db_log.ldf'

  );

  go

  首先让数据库脱机,这样才可以动这两个文件。

  先进行逻辑移动,说白了就是改刚才属性页面里后面的那两个路径,会发现这两个路径是没办法在属性里直接手改的……所以得用这语句来改。

  name=后面接的是两者的逻辑名称,也就是刚才属性页面里的。一般是数据库名和数据库名_log,不过如果是还原的库,可能名字会千奇百怪,注意执行语句前将逻辑名称改一下。逻辑名称倒是可以直接在属性页面里修改。

  filename =后面接的就是打算移动到的路径了。

  上面的语句执行完毕后,去MSSQLDATA文件夹下把对应的两个文件找到,,剪切到之前修改的路径下。注意文件名也要能对应上才可以。

  最后一步再取消脱机,执行:

  alter database [testdb] set online;

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