我需要从生产数据库中删除一些旧文件,这些文件是分区表的一部分.因此,步骤如下 - 我删除了理论上通过分区功能保存的数据(2007年的所有数据).
然后我合并那一年的分区功能:
ALTER PARTITION FUNCTION pfPeriod() MERGE RANGE (2007);
Run Code Online (Sandbox Code Playgroud)
然后,我想删除文件和文件组:
ALTER DATABASE mydatabase REMOVE FILE tbProperty2007
ALTER DATABASE mydatabase REMOVE FILEGROUP fgProperty2007
Run Code Online (Sandbox Code Playgroud)
我收到错误:
无法删除文件'tbProperty2007',因为它不为空.
无法删除文件组"fgProperty2007",因为它不为空.
我之前(2005年,2006年)已完成此程序,文件不会删除(另一个表)的原因是索引 - 它保存在其中一个文件中(我不小心在表的分区中创建了索引) ).在我在另一个文件组中重新创建索引后 - 我可以毫无困难地删除文件和文件组.
无论如何,这次我在另一个文件组中重新创建了索引,但仍然 - 我无法删除文件和文件组.
那么,任何人都可以告诉我如何查看*.ndf文件的内容,或者文件为什么不删除?请 )
PS可能是sql server 2012的一个错误 - 我能够删除sql server 2005上的文件,但我无法在2012年完成.