我正在尝试使用DBCC SHRINKFILE(db_2.ldf)
缩小我的日志文件,这是日志文件的名称
每次都给我错误:
8985,Level 16,State 1,Line 1 无法在sys.database_files中找到数据库db的文件'FIelD'。该文件不存在或被删除。
您能否建议我该怎么做才能解决问题。
答案 0 :(得分:12)
文件名应该是逻辑文件名,而不是物理文件名。查看数据库属性,在“文件”选项卡上查找要缩小的文件的逻辑名称,并使用该名称。
答案 1 :(得分:1)
您是否在包含您尝试缩小的日志的数据库的上下文中运行它?在运行DBCC命令之前,请确保您具有正确的USE
语句
答案 2 :(得分:1)
这里有同样的问题,解决方案是重命名逻辑文件以匹配数据库名称。下面是查询逻辑文件名然后执行文件重命名的示例:
-- retrieve the logical files for the current db
SELECT [name] AS logical_file FROM sys.database_files df
-- rename the logical file (to match the database name)
ALTER DATABASE YourDB
MODIFY FILE (NAME = 'LogicalFile1', NEWNAME='NewLogicalFile1')
GO
ALTER DATABASE YourDB
MODIFY FILE (NAME = 'LogicalFile2', NEWNAME='NewLogicalFile2')
GO
两个更改的原因是通常有两个文件与每个数据库,数据文件和日志文件相关联。
答案 3 :(得分:0)
以下命令有效。但是我没有看到它减小尺寸。在运行之前和之后我看到相同的大小。能告诉我可能错过的内容吗?
fileid groupid size maxsize growth status perf name filename
2 0 1048 268435456 10 1048642 0 PrimaryLogFileName
由于
答案 4 :(得分:0)
来自SQL Management Studio 右键单击数据库名称,Tasks,Shrink,Database Ctrl + Shift + N(或脚本操作到新查询窗口)
生成以下内容:
USE [DataBaseName] 走 DBCC SHRINKDATABASE(N'DataBaseName') GO