2つのmdfファイルと2つのldfファイルを含む.bakファイル(SQL Server 2008)があります。
そこからデータベースを復元しようとすると、4つすべてのファイルが作成されます。
私はこれまでこれを見たことがなく、古き良き1ファイルペアシステム(1 mdf / 1 ldf)にどうやって行くのか疑問に思っていましたか?
バックアップにある2つのファイルペアに関する洞察も役立ちます。
ps:私のセットアップにはNdfファイルがありません。どちらもMdfです。
2つのmdfファイルと2つのldfファイルを含む.bakファイル(SQL Server 2008)があります。
そこからデータベースを復元しようとすると、4つすべてのファイルが作成されます。
私はこれまでこれを見たことがなく、古き良き1ファイルペアシステム(1 mdf / 1 ldf)にどうやって行くのか疑問に思っていましたか?
バックアップにある2つのファイルペアに関する洞察も役立ちます。
ps:私のセットアップにはNdfファイルがありません。どちらもMdfです。
データをセカンダリmdf(ndfではないですか?)から最初のmdfに移動する必要があるようです。これはすべて、復元が完了したことを前提としています。
m1
2つのファイルがとであるとしましょうm2
。
ndfDBCC SHRINKFILE
を移動して空にするために使用します。
--move all data out of this file
DBCC SHRINKFILE ('m2', EMPTYFILE )
SQLServerをシングルユーザーモードで再起動する必要がある可能性があります。(ソース)
--if trying to delete LDF file, do a Transaction log backup of your DB now
--remove this file from the
ALTER DATABASE DB_NAME_HERE_NO_QUOTES REMOVE FILE m2
データベースで複数のファイルを使用すると、データベースを複数のディスクドライブに分散させるのに役立ちます。
データベースの復元時にファイルの数を変更することはできませんが、ファイルが復元される場所を指定することはできます。RESTOREDATABASEコマンドのMOVEオプションを確認してください。
データベースの復元後、データベースファイルを削除できます。ファイルを空にするオプションを使用してファイルを縮小する必要があります。次に、ALTERDATABASEコマンドを使用してファイルをドロップできます。