sqlserver之压缩对应库的日志,释放磁盘空间

脚本如下:(注意:DATABASENAME是对应的库名;DATABASENAME_Log是对应库的日志文件名称)

--选择需要使用的数据库

USE DATABASENAME;

GO


--将数据库模式设置为SIMPLE

ALTER DATABASE DATABASENAME SET RECOVERY SIMPLE;

GO


-- 将日志文件收缩到1M

DBCC SHRINKFILE (DATABASENAME_Log, 1);

GO


-- 还原数据库

ALTER DATABASE DATABASENAME SET RECOVERY FULL;

GO

select * from sys.database_files

注意:可协助查询库名,库日志名称和对应的路劲地址(select * from sys.database_files)

  1. --修改文件的存放位置下次启动生效  
  2. --testDb为数据库名,  
  3. alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径');  
  4. alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径');  
  5. eg.  
  6.     alter database testDb modify file ( name = testDb, filename = 'G:SQL_DATA estDb estDb.mdf');  
  7.     alter database testDb modify file ( name = testDb_log, filename = 'G:SQL_DATA estDb estdb_log.ldf');  

注意:修改文件物理路径后-》关掉数据库-》将物理文件copy到对应的修改的路劲下-》重启数据库【一定要注意顺序,否者会导致数据库被挂起】

原文地址:https://www.cnblogs.com/fengyiru6369/p/13389484.html