SQL Server 2008 企业版
我继承了一个配置为使用两个事务日志文件的 SQL 数据库。我想删除其中一个日志文件,因为这实际上不是最佳实践,而且只会产生额外的维护要求。我提取了完整备份并将其还原到测试服务器,并尝试使用 SSMS 删除第二个日志文件。
“删除”似乎有效,但当我稍后返回数据库时,第二个文件又出现了(大小为 1 MB)。此时,我根本无法再次删除它,并收到来自 SSMS 工具的错误。
答案1
在相关数据库的上下文中查看 sys.database_files。具体来说,查看 state_desc 和 drop_lsn 列。删除文件后,您可能需要备份数据库,才能使其从系统中完全消失。
答案2
对日志文件进行 SQL 备份,然后从数据库中删除日志文件。您执行的备份将取决于数据库所处的恢复模型。
ALTER DATABASE
一旦日志文件中没有活动数据,您就可以删除该日志文件。
ALTER DATABASE MyDataBase
REMOVE FILE MyDataBaseLog
MyDataBaseLog
您的日志文件的逻辑文件名在哪里。
您可以使用以下命令获取日志文件的逻辑名称sp_helpdb
:
sp_helpdb MyDataBase
文件信息位于返回的第二个结果集中sp_helpdb