2017-09-27 12 views
1

データベースのログファイルの初期サイズを再設定する必要があります。これは、データベースを設定するときに非常に大きな値(40G)に設定されています。それを縮小したいときは、初期サイズと同じサイズになります。SQLServer alter database modify file questions

私が設定しSIZEパラメータを指定して、このSQLを使用しようとしました:

MODIFY FILEに失敗しました:

ALTER DATABASE [DBNAME] MODIFY FILE (NAME = N'DBNAME_log', SIZE=1MB, MAXSIZE = 2048GB) 
GO 

は残念ながら、唯一のエラーメッセージが表示されました。指定されたサイズは現在の サイズ以下です。

現在のサイズよりも大きなサイズのパラメータが必要です。データベースのファイルの初期サイズを再設定する方法

  1. :ここ

    がまとめた質問ですか?現在のファイルサイズに関係なく、十分に小さくする必要があります。

  2. 私は[DBNAME]私のデータベース名を知っているし、SQLを使用して、関連するログファイル名を取得できます。

    DECLARE @logname NVARCHAR(100); SELECT @logname = name FROM sys.database_files WHERE type_desc = 'LOG'

が、なぜ結果@lognameを使用してませ入力データベース名可能性、のような:

ALTER DATABASE [OrderTracker] MODIFY FILE (*NAME = @logname*, size=1MB, MAXSIZE = 2048GB) 
+0

上で実行する必要があります

を縮小することができます前にバックアップを作成しましたか?バックアップはログを空にすることになっています。 (種類の) –

+0

これを見ましたか? https://docs.microsoft.com/en-us/sql/relational-databases/logs/manage-the-size-of-the-transaction-log-file –

+0

データベースをSIMPLEモードに設定し、SQLを使用してシュリンク:DBCC SHRINKFILE(@logname、TRUNCATEONLY);それは実際にはより小さくなりますが、最初のサイズよりも大きかったり少し大きかったりします。 –

答えて

0

どのようにデータベースのファイルの初期サイズを再設定しますか?それは十分に小さいに関係なく、現在のファイルサイズに

を必要とMODIFY FILEコマンドでのALTER DATABASEは、ファイルサイズが大きくすることができますので、あなたは、ファイルサイズを小さくする必要がある場合には、DBCC SHRINKFILEを使用する必要があります。

私は縮小お勧めしませんが、方法がない場合、あなたはバックアップを取った場合

dbcc shrinkfile('test_log_log',1)--we are asking to shrink log to 1 mb 

以下のようなコマンドを使用して、ログファイルをすることができますが空になっていると、ログの最後に位置VLFですアクティブでない(2 0がアクティブで、アクティブである)..その後、あなたはVLFの状況を知るためにdbcc loginfoを使用することができ、これは、同じデータベース

+0

ありがとうございます。私は、DBCC SHRINKFILE(@logname、TRUNCATEONLY)のいずれかを試みました。 DBCC SHRINKFILE(@logname、1MB)もありません。働いた! GUIのVIAの初期サイズを変更するだけですが、SQL経由で変更する方法はありますか?手作業で1つずつ再設定できるのは私にとって恐ろしいことです。 –