+ -
当前位置:首页 → 问答吧 → SQL2008压缩日志文件

SQL2008压缩日志文件

时间:2011-11-11

来源:互联网

这么操作为何不行呢?
USE DBNAME
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DBNAME
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (DBNAME_Log, 1,TRUNCATEONLY);
GO
-- Reset the database recovery model.
ALTER DATABASE DBNAME
SET RECOVERY FULL;
GO

会报错:Msg 8985, Level 16, State 1, Line 2
Could not locate file 'DBNAME_Log' for database 'DBNAME' in sys.database_files. The file either does not exist, or was dropped.

作者: kevinjay567   发布时间: 2011-11-11

貌似是log的名称写错了。查一下sys.database_files
我执行的语句,没有问题。

SQL code
CREATE DATABASE DBT 
go

USE DBT
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DBT
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (DBT_Log, 1,TRUNCATEONLY);
GO
-- Reset the database recovery model.
ALTER DATABASE DBT
SET RECOVERY FULL;
GO

作者: OrchidCat   发布时间: 2011-11-11

The file either does not exist, or was dropped. 

文件不存在或者被删除了。

作者: fredrickhu   发布时间: 2011-11-11

文件不存在或被删除。

作者: lzd_83   发布时间: 2011-11-11

引用 1 楼 orchidcat 的回复:

貌似是log的名称写错了。查一下sys.database_files
我执行的语句,没有问题。

SQL code
CREATE DATABASE DBT
go

USE DBT
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DBT
SET RECOVER……

执行了,怎么还是很大啊

作者: kevinjay567   发布时间: 2011-11-11

引用 4 楼 kevinjay567 的回复:

引用 1 楼 orchidcat 的回复:

貌似是log的名称写错了。查一下sys.database_files
我执行的语句,没有问题。

SQL code
CREATE DATABASE DBT
go

USE DBT
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
……


因为日志文件只能收缩到虚拟日志文件边界,所以不可能将日志文件收缩到比虚拟日志文件更小(即使现在没有使用该文件)。虚拟日志文件的大小在创建或扩展这些日志文件时由数据库引擎动态选择。
参考http://msdn.microsoft.com/zh-cn/library/ms179355.aspx

作者: OrchidCat   发布时间: 2011-11-11

热门下载

更多