4

を使用してログ ファイルを圧縮しようとしていますDBCC SHRINKFILE(db_2.ldf)が、これはログ ファイルの名前です。

毎回エラーが発生します:

8985、レベル 16、状態 1、行 1 sys.database_files でデータベース db のファイル 'FIelD' が見つかりませんでした。ファイルが存在しないか、削除されました。

それを修正するために私ができることを教えてください。

4

5 に答える 5

12

ファイル名は、物理ファイル名ではなく、論理ファイル名にする必要があります。データベース プロパティの [ファイル] タブで、縮小しようとしているファイルの論理名を確認し、その名前を使用します。

于 2010-03-09T16:48:07.963 に答える
1

縮小しようとしているログがあるデータベースのコンテキストで実行していますか? USEDBCC コマンドを実行する前に、正しいステートメントがあることを確認してください

于 2010-03-09T16:35:58.423 に答える
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

2 つの変更の理由は、通常、各データベースに関連付けられた 2 つのファイル (データ ファイルとログ ファイル) があるためです。

于 2011-06-06T18:03:00.517 に答える
0

以下のコマンドは機能しました。しかし、私はそれがサイズを縮小しているとは思わない。実行後も実行前も同じサイズです。私が見逃しているかもしれないことを教えてください。

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

ありがとう

于 2010-03-09T17:40:57.750 に答える
0

SQL Management Studio からデータベース名を右クリックし、タスク、縮小、データベース Ctrl+Shift+N (または新しいクエリ ウィンドウへのスクリプト アクション)

以下を生成します。

USE [データベース名] GO DBCC SHRINKDATABASE(N'DataBaseName' ) GO

于 2014-02-10T19:41:32.567 に答える