Sql server 支持SQL Server 2012&;2016

Sql server 支持SQL Server 2012&;2016,sql-server,Sql Server,我正在开发的产品需要支持一个可以存在SQL Server 2012或2016版本的环境 因此,为了向后兼容,应确保不使用2016年特有的功能 例如: FOR JSON PATH 是否有工具\编译器确保SQL脚本根据SQL Server 2012语言规范有效 如果使用2016年引入的构造,则应显示一个错误。所有版本的SQL Server都已提供了该错误。只需将SQL Server 2016数据库的兼容性级别更改为11。SSDT项目也有一个目标版本,因此您不能使用目标版本不支持的功能。不幸的是,我

我正在开发的产品需要支持一个可以存在SQL Server 2012或2016版本的环境

因此,为了向后兼容,应确保不使用2016年特有的功能

例如:

FOR JSON PATH
是否有工具\编译器确保SQL脚本根据SQL Server 2012语言规范有效


如果使用2016年引入的构造,则应显示一个错误。

所有版本的SQL Server都已提供了该错误。只需将SQL Server 2016数据库的兼容性级别更改为11。SSDT项目也有一个目标版本,因此您不能使用目标版本不支持的功能。不幸的是,我不知道有任何类似的工具。@PanagiotisKanavos的想法并不可靠:如果您在脚本中更改了SQL Server 2016数据库的兼容级别:
ALTER database mydb SET compatibility level=110
,然后对JSON AUTO执行了
SELECT*操作,
SELECT
仍然有效。兼容性级别无法解决任何问题,例如,在SQL Server 2012上尝试使用超前/滞后函数,但在兼容性级别为90(或100)的数据库中,它将成功。请参阅描述此内容的类似主题: