SQL Server 2012 Enterprise vs Standard - 使用分区?

时间:2013-02-03 23:29:18

标签: sql-server-2012 partitioning

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

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

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

我刚刚运行了以下内容:

SELECT feature_name FROM sys.dm_db_persisted_sku_features ;

从这里

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

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

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

1 个答案:

答案 0 :(得分:1)

基于MSDN文章Features Supported by the Editions of SQL Server 2012

只有Enterprise版本支持对表和索引进行分区。这意味着如果任何表或索引被分区,则无法将其导入任何其他版本。但是,分区方案和分区结构可以存在而不被任何表或索引使用。在这种情况下,导入成功,因为没有分区表或索引。

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