私は、ネットワーク上のデータベースログファイルを縮小するプログラムを設計しています。ファイルパス/を介してSQLデータベースログファイルを縮小することはできますか?
ログファイルは常に同じ形式であるとは限りませんので、パス名を使って縮小します。ログファイルを縮小する
select top 2 physical_name as current_file_location FROM sys.master_files where physical_name like '%adventureworks%'
私のスクリプトは、次のとおりです:
ALTER DATABASE adventureworks2012 SET RECOVERY SIMPLE DBCC
SHRINKFILE ('c:\Program Files (x86)\Microsoft SQL Server\MSSQL10.50\MSSQL\DATA\adventureworks2012_log.ldf', 1)
ALTER DATABASE adventureworks2012 SET RECOVERY FULL
これはエラーを返します:
Could not locate file 'c:\Program Files (x86)\Microsoft SQL Server\MSSQL10.50\MSSQL\DATA\AdventureWorksLog.ldf' for database 'AdventureWorks' in sys.database_files. The file either does not exist, or was dropped.
があり、私が書いている現時点では、パス名を取得するには私はそれに関係なく、ログファイルの命名規則を選択することができますか?
は、SQL Server 2012以上でログファイル縮小することができるようになります。 –
これはログファイルを縮小するだけでしょうか? – SCramphorn
@SCramphornいいえ、 'SHRINKFILE'ではなく' SHRINKDATABASE'への呼び出しです。 – stuartd