如何判断我的SqlServer version+Edition是否支持分区

How to determine if my SqlServer version+Edition support partitioning

SqlServer Standard 从 2016SP1 开始提供分区功能。是否有查询可以运行 确定我当前安装的 SqlServer 是否支持分区?

我可以查询版本和版本以及推断 ServicePack 号。但是,我不想将版本号硬编码到代码中。如果为 2016-Standard 提供了新的服务包,我想避免必须分发修复程序。

谢谢

下面的示例检查 1) 版本是否支持 table 分区或 2) SQL 版本是 SQL 2016 SP1 或更高版本。

IF 
       CAST(SERVERPROPERTY('Edition') AS varchar(30)) LIKE 'Enterprise%'
    OR CAST(SERVERPROPERTY('Edition') AS varchar(30)) LIKE 'Developer%'
    OR CAST(PARSENAME(CAST(SERVERPROPERTY('ProductVersion') AS varchar(30)), 4) AS int) > 13 --SQL 2017 and later
    OR (
            CAST(PARSENAME(CAST(SERVERPROPERTY('ProductVersion') AS varchar(30)), 4) AS int) = 13 --SQL 2016
        AND CAST(PARSENAME(CAST(SERVERPROPERTY('ProductVersion') AS varchar(30)), 2) AS int) >= 4001) --SP1 or greater
BEGIN
    PRINT 'partitioning supported'
END;

我看到你提到的不是硬编码版本号,但这种方法不需要更改代码,因为产品版本和内部版本号是递增的。