我在MSSQL2008中对数据库进行了完整备份,然后对日志进行了备份。 我希望事务日志文件的大小可以更改,但是当我检查磁盘上的文件时,它保持不变。 注意:数据库处于完全恢复模式。 我究竟做错了什么? ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在尝试缩小数据库的日志 并将恢复设置为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.