2016-12-16 13 views
0

私は.mdfファイルと、同じmdfファイルの2つの.ndfファイルを持っています。これらのファイルを1つの.mdfファイルにマージすることはできますか?ndfファイルとmdfファイルを1つのmdfファイルにマージできますか?

+0

この質問を投稿する前に、あなたは何を研究していませんでしたか? – dfundako

+0

私はいくつかの検索をしましたが、私は答えを見つけられませんでした.2TBのデータベースを持っているので、私はいくつかのリスクを冒すことができません。 –

+2

まず、テスト環境でこれを行うことを計画してください。プロダクションは、あなたがインターネット上で見つけたものへのアプローチを試みる場所ではありません。 –

答えて

2

はい、あなたはEmptyオプション

From MSDNDBCC SHRINKFILEを..useことができます。

EMPTYFILE:(太字鉱山で強調)

はに指定されたファイルからすべてのデータを移行します同じファイルグループの中の他のファイル。つまり、EmptyFileは、指定されたファイルから同じファイルグループ内の他のファイルにデータを移行します。空のファイルは、新しいデータがファイルに追加されないことを保証します。

ファイルは、ALTER DATABASEステートメントを使用して削除できます。

例:答えを

DBCC SHRINKFILE (nameofdatafile, EMPTYFILE); 
GO 

-- Remove the data file from the database. 
ALTER DATABASE AdventureWorks2012 
REMOVE FILE Test1data; 
GO 
+0

ありがとうございます@TheGameiswar、私は例のfile1.mdf、file2.ndfとfile3.ndfを持っている場合私はちょうどクイッククエリを提供できますか?私は自分のデータを失うのを恐れるだけです –

+0

例では、データを失うことはなく、各ファイルをファイル名で置き換えます。 – TheGameiswar

+0

これで、サンプルデータベースで試してみましょう。 –

0

おかげ@TheGameiswar。

あなたは、例えばfile1.mdf、file2.ndfとfile3.ndf

一つのファイルにマージする方法を持っている場合:

DBCC SHRINKFILE(file2, EMPTYFILE); 
GO 

DBCC SHRINKFILE(file3, EMPTYFILE); 
GO 

をそして、あなたはそれらを安全に削除することができます。

ALTER DATABASE MyDB 
REMOVE FILE file2; 
GO 

ALTER DATABASE MyDB 
REMOVE FILE file3; 
GO 

file1にはそれ以降のデータがすべて含まれます。

関連する問題