我正在 AdventureWorks 上进行一些文件平衡练习/实验,页面停止写入 ndf 文件 (AdventureWorks2014_Data2.ndf)。
早期测试按预期进行。 按比例填充,将新页面分布在文件组中的多个文件中。
我正在运行的几个测试应该将页面写入 *Data2.ndf 但没有。
变得非常沮丧,我试图将 mdf 缩小到 ndf,如果失败了。
消息 2556,级别 16,状态 1,第 3 行文件组中没有足够的空间来完成空文件操作。
mdf 和 ndf 都分配了 300MB,这没有意义。mdf 使用了 187mB,ndf 使用了 0MB,
在时间跨度内进行了多次 t-log 备份。
我创建了 *Data3.ndf,并从 mdf 缩小,所有内容(excpet 元数据)都移动到 Data3.ndf,没有任何内容到 *Data2.ndf。
消息 2555,级别 16,状态 1,第 3 行无法将文件“AdventureWorks2014_Data”的所有内容移动到其他位置以完成空文件操作。
*Data2.mdf 有什么问题?
我学到的是,
我将空文件收缩回 .mdf 没问题,但是当我尝试将空文件收缩回 Data3.ndf 时出现同样的错误。
似乎一旦你从 .ndf 中缩小了空文件,你就必须删除(删除)它,你不能再次写入。
此外,如果您尝试使用相同的名称重新创建 ndf,则在运行 t-log 备份之前,您将无法这样做。
最佳,不要指望在缩小空文件后重用 ndf。如果您需要写回 ndf,请使用不同的名称。
如果您确实需要(或想要)写入相同的 ndf 名称: