SQL Server 2008 R2で次のコマンドを実行しようとしています。
DBCC SHRINKFILE('filename')
このコマンドを実行しようとすると、次のエラーが発生します。
Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
このエラーが発生する理由とこの問題の解決方法を誰かに教えてもらえますか?
ありがとう!
ファイル名とターゲットサイズの両方をMBで指定してみましたか。
DBCC SHRINKFILE('filename', 20);
または、TRUNCATEONLYオプションを使用して、すべての物理データを再編成するなどの厄介なことを試みません。
DBCC SHRINKFILE('filename', TRUNCATEONLY);
また、最初にデータベースがシングルユーザーモードであることを確認することもできます。
ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
...そして、縮小操作と競合する可能性のあるバックアップ/ログバックアップまたはその他のメンテナンスジョブをオフにします。それでも発生する場合は、このデータベースに対してCHECKDBを実行し、結果をお知らせください。
DBCC CHECKDB (db) WITH NO_INFOMSGS, ALL_ERRORMSGS;
しかし、余談ですが、縮小は悪いことであり、通常は異常なイベントや状況に備えておくべきですよね?