对于不同的SQL Server版本,处理对象是不同的

时间:2019-05-02 16:05:59

标签: sql-server visual-studio-2015 sql-server-2014 sql-server-2016

我已经在Visual Studio中创建了一个新的数据库项目,并已向其中添加了我先前存在的对象。这是一个数据库,我们将使用至少两个不同版本的sql server将该数据库部署到多个不同的服务器。

我有一个查看可用性组的视图,如果服务器是2016,则拉出Is_Distributed列。我需要此项目中的一种方法来本质上保存2014和2016两个版本,并能够潜在地部署正确的版本取决于我要部署到的服务器。

这可以在Visual Studios的数据库项目中完成吗?

1 个答案:

答案 0 :(得分:1)

一种解决方案是创建一个兼容视图,然后对该视图进行引用,而不是引用sys.availability_groups

在下面的2016年中,is_distributed将从DMV中拉出,但在2014年,由于DMV中没有这样的列,它将在外部范围中从OptionalColumns中拉出,并{ 1}}。

NULL