繁体   English   中英

SQL Server 2008日志大小管理问题

[英]SQL Server 2008 log size management problems

我正在尝试缩小数据库的日志 并将恢复设置为simple ,但是无论我尝试如何,总是会出现错误。

USE 4_o5;
GO
ALTER DATABASE 4_o5
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (4_o5_log, 10);
GO

sp_helpfile的输出表明该日志文件位于(托管解决方案)下:

I:\dataroot\4_o5_log.LDF

请帮助我执行此操作,因为导入大量数据时日志文件很大,现在不再需要此信息,此后具有多个(大量)备份。

执行上面的查询时,确切的错误消息是:

incorrect syntax near '4'.
RECOVERY is not a recognized SET option.
incorrect syntax near _5_log'.

我正在使用Visual Studio 2010(也在本地安装了SQL Server Express,在提供程序(共享)上已正确安装了SQL Server 2008)

非常感谢

做就是了

USE [4_o5] --need brackets with this DB name, as marc_s commented
GO
DBCC SHRINKFILE (2, 10)

DBCC还会获取内部文件ID号,我看到您在逻辑文件名和物理文件名的分离方面遇到了问题...这使我假设您没有多个日志文件或NDF等,并且日志文件始终为2

但是, 为什么仍然要缩小呢?

更改恢复模型: ALTER DATABASE [4_o5] SET RECOVERY SIMPLE

尝试这个:

USE [4_o5];
GO
ALTER DATABASE [4_o5] SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE ([4_o5_log], 10);
GO

您的数据库名称以数值开头有点不寻常-尝试将其放在方括号中。

更新:对于DBCC SHRINKFILE ,您需要日志文件的逻辑名称-这是sp_helpfile调用中的name属性。 并且您还需要将其放在方括号中:

USE [4_o5]
GO
DBCC SHRINKFILE ([4_o5_log], 10)
GO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM