我有一个创建SQL表并启用DATA_COMPRESSION = Page的应用程序。但是,该功能仅在使用企业版SQLServer时可用。有时我想在SQLLocalDB SKU上使用相同的代码。对于这些情况,我想跳过DATA_COMPRESSION设置,因为它不受支持并引发错误。
我是否有可能检测到此功能是否可用(或次佳),检测到正在使用SQLLocalDB?
我使用ADO.net连接数据库。
答案 0 :(得分:2)
您可以打开SqlConnection
数据库并查看ServerVersion
using (var con = new SqlConnection(connectionString))
{
connection.Open();
// use con.ServerVersion
}
如果您想了解更多详细信息,可以使用SERVERPROPERTY
查询属性SELECT SERVERPROPERTY('Edition')
或者
SELECT SERVERPROPERTY('EngineEdition')
安装在SQL Server实例上的数据库引擎版本 服务器
1 =个人或桌面引擎(在SQL Server 2005和 以后的版本。)
2 =标准(此标准,Web和Business返回 情报。)
3 = Enterprise(评估,开发人员和两者都返回此项 企业版。)
4 = Express(这是Express,Express返回的工具和 快递与高级服务)
5 = SQL数据库
6 - SQL数据仓库
基础数据类型:int