2

我一直在针对 SQL Server 2012 Enterprise 进行开发,并开始迁移到生产环境,我发现我们的托管服务提供商已经安装了 Standard。我不认为这应该是一个问题,因为我没有实现任何企业特定的功能。但是,当我恢复数据库时,它无法激活,并且在事件日志中,我发现一条消息表明数据库无法激活,因为它包含版本不支持的功能。当我深入挖掘时,我发现似乎 FTS 或其他一些函数自动创建了 5 个分区函数和方案。

然后我经历了一个耗时的过程来删除分区功能和方案,并且可以成功地恢复标准版上的数据库。

过了一会儿,我备份了数据库(没有 PF 或 PS),将它转移到我的开发环境,恢复它(在 SQL Enterprise 上),过了一段时间我发现已经创建了一个分区函数和方案。当我接下来备份和恢复到 prod 时,这一次数据库激活正常,没有错误 - 即使有分区功能和方案。

我刚刚运行了以下命令:

SELECT feature_name FROM sys.dm_db_persisted_sku_features ;

从这里

http://msdn.microsoft.com/en-us/library/cc280724.aspx

并发现对于具有 5 个分区功能/方案的数据库,分区被列为特定于版本的功能。当对具有 1 个功能/方案的数据库运行相同的操作时,它没有列出。

这里有什么事情是自动创建的,FTS 相关的分区方案在标准版上是可以的,但不是手动创建/其他类型的?(请记住,我从未手动实现分区)

4

1 回答 1

1

基于 MSDN 文章SQL Server 2012 版本支持的功能

只有企业版支持表和索引的分区。这意味着如果任何表或索引被分区,则不能将其导入任何其他版本。但是,分区方案和分区函数可以存在而不被任何表或索引使用。在这种情况下导入成功,因为没有分区表或索引。

此外,RDBMS 可管理性部分告诉我们,所有版本都在一定程度上支持分布式分区视图。因此允许分区方案和功能作为定义存在于所有版本中。

于 2013-05-29T12:37:01.340 回答