我正在使用C#和SMO并尝试检测我正在连接的SQL Server版本(例如,企业,标准).我知道如何获取版本信息,但这只能告诉我SQL Server的版本(例如,SQL Server 2008 vs SQL Server 2005).
有谁知道如何获得实际的产品版本(例如,企业,标准)?
我需要此信息,因为某些SQL Server功能只是企业.因此,我可以尝试调用它们并捕获异常,但我更喜欢前期检测.
谢谢!
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
在我的系统上返回
9.00.1399.06, RTM, Express Edition
看来这种技术仅适用于SQL Server 2000或更高版本,如果您的任何数据库为7.0或更低,您将不得不使用@@版本并操纵其他人发布的结果
看起来您可以通过SMO和Server对象来完成它.像Information.Edition这样的属性看起来应该做你想要的.