2010-03-09 58 views
4

我試圖縮小使用DBCC SHRINKFILE(db_2.ldf)我的日誌文件,該文件是爲日誌文件名DBCC SHRINKFILE給出錯誤

它給了我錯誤每次:

8985,級別16,狀態1,第1行 無法在sys.database_files中找到數據庫數據庫的文件「FIelD」。該文件或者不存在,或者被丟棄。

您能否建議我能做些什麼來解決它。

回答

12

文件名應該是邏輯文件名,而不是物理文件名。查看數據庫屬性,在文件選項卡上查找您要縮小的文件的邏輯名稱,然後使用該名稱。

1

您是否在擁有您正在嘗試縮小的日誌的數據庫環境中運行它?在運行DBCC命令之前,請確保您擁有正確的USE聲明

+0

謝謝,是的我正在使用我正在收縮的數據庫。 – user70636 2010-03-09 16:56:10

0

下面的命令工作。但是我不認爲它會縮小尺寸。在運行之後,我會看到相同的大小。你可以讓我知道我可能錯過了什麼。

fileid groupid size maxsize  growth status perf name filename 
2   0 1048 268435456  10 1048642 0   PrimaryLogFileName 

感謝

+0

下面的命令? – influent 2014-05-22 18:19:14

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 

原因兩個變造的是,通常有與每個數據庫,數據文件和日誌相關的兩個文件文件。

0

從SQL Management Studio中 右鍵單擊數據庫名稱,任務,收縮,數據庫 按Ctrl + Shift + N(或操作腳本保存到新的查詢窗口)

生成以下內容:

使用[DATABASENAME ] GO DBCC SHRINKDATABASE(N'DataBaseName') GO