如何确定我的 SqlServer 版本+版本是否支持分区



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

我可以查询版本和版本以及推断服务包编号。 但是,我不想将版本号硬编码到代码中。 我希望避免在为 2016 标准提供新的服务包时分发修补程序。

谢谢

下面的示例检查 1( 版本是否支持表分区或 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;

我看到您提到没有硬编码版本号,但此方法不需要更改代码,因为产品版本和内部版本号是增量的。

相关内容

最新更新