を使用してログ ファイルを圧縮しようとしていますDBCC SHRINKFILE(db_2.ldf)
が、これはログ ファイルの名前です。
毎回エラーが発生します:
8985、レベル 16、状態 1、行 1 sys.database_files でデータベース db のファイル 'FIelD' が見つかりませんでした。ファイルが存在しないか、削除されました。
それを修正するために私ができることを教えてください。
を使用してログ ファイルを圧縮しようとしていますDBCC SHRINKFILE(db_2.ldf)
が、これはログ ファイルの名前です。
毎回エラーが発生します:
8985、レベル 16、状態 1、行 1 sys.database_files でデータベース db のファイル 'FIelD' が見つかりませんでした。ファイルが存在しないか、削除されました。
それを修正するために私ができることを教えてください。
ファイル名は、物理ファイル名ではなく、論理ファイル名にする必要があります。データベース プロパティの [ファイル] タブで、縮小しようとしているファイルの論理名を確認し、その名前を使用します。
縮小しようとしているログがあるデータベースのコンテキストで実行していますか? USE
DBCC コマンドを実行する前に、正しいステートメントがあることを確認してください
ここでも同じ問題がありました。解決策は、論理ファイルの名前をデータベース名と一致するように変更することでした。以下は、論理ファイル名を照会し、ファイルの名前変更を実行する例です。
-- 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
2 つの変更の理由は、通常、各データベースに関連付けられた 2 つのファイル (データ ファイルとログ ファイル) があるためです。
以下のコマンドは機能しました。しかし、私はそれがサイズを縮小しているとは思わない。実行後も実行前も同じサイズです。私が見逃しているかもしれないことを教えてください。
fileid groupid size maxsize growth status perf name filename
2 0 1048 268435456 10 1048642 0 PrimaryLogFileName
ありがとう
SQL Management Studio からデータベース名を右クリックし、タスク、縮小、データベース Ctrl+Shift+N (または新しいクエリ ウィンドウへのスクリプト アクション)
以下を生成します。
USE [データベース名] GO DBCC SHRINKDATABASE(N'DataBaseName' ) GO