本番DBからいくつかの古いファイルを削除する必要があります。これらのファイルはパーティションテーブルの一部です。したがって、手順は次のとおりです。理論的にはパーティション関数によってそこに保持されているデータ(2007年のすべてのデータ)を削除しました。
次に、その年のパーティション関数をマージします。
ALTER PARTITION FUNCTION pfPeriod() MERGE RANGE (2007);
次に、ファイルとファイルグループを削除したいと思いました。
ALTER DATABASE mydatabase REMOVE FILE tbProperty2007
ALTER DATABASE mydatabase REMOVE FILEGROUP fgProperty2007
- すべて本によって。
エラーが発生しました:
ファイル'tbProperty2007'は空ではないため、削除できません。
ファイルグループ'fgProperty2007'は空ではないため、削除できません。
私は以前に(2005、2006の場合)この手順を実行しましたが、ファイルが(別のテーブルの場合)削除されない理由はインデックスでした-ファイルの1つに保持されていました(誤ってテーブルのパーティションにインデックスを作成しました) )。別のファイルグループにインデックスを再作成した後、問題なくファイルとファイルグループを削除できました。
とにかく、今回は別のファイルグループにインデックスを再作成しましたが、それでもファイルとファイルグループを削除できません。
では、*。ndfファイルの内容をどのように確認できるのか、またはファイルが削除されないのはなぜか、誰かに教えてもらえますか?お願いします )
PS SQL Server2012のバグである可能性があります-SQLServer2005でファイルを削除できましたが、2012では削除できません。