Sql server 是否可以通过编程方式区分不同版本的SQL Server?
基本上,是否可以确定是否有人将我的程序连接到SQLServerCompact或ExpressEdition?我希望能够将不同版本的产品限制为不同版本的SQL Server。运行此SQL语句Sql server 是否可以通过编程方式区分不同版本的SQL Server?,sql-server,Sql Server,基本上,是否可以确定是否有人将我的程序连接到SQLServerCompact或ExpressEdition?我希望能够将不同版本的产品限制为不同版本的SQL Server。运行此SQL语句 SELECT @@VERSION 它将为您提供一个ReultSet(一列作为字符串),其版本如下 Microsoft SQL Server 2000-8.00.760 (英特尔X86)2002年12月17日14:22:05 版权所有(c)1988-2003 Microsoft 公司标准版 Windows N
SELECT @@VERSION
它将为您提供一个ReultSet(一列作为字符串),其版本如下
Microsoft SQL Server 2000-8.00.760
(英特尔X86)2002年12月17日14:22:05
版权所有(c)1988-2003 Microsoft
公司标准版
Windows NT 5.0(版本2195:服务
包装4)
连接到数据库后,您始终可以运行T-Sql:
SELECT SERVERPROPERTY ('edition')
这应该给你不同的版本
其他有用信息可能来自:
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel')
还有一个SERVERPROPERTY函数,它可以为您提供“edition”之类的功能:
SELECT SERVERPROPERTY ('edition')
描述如何识别当前的Microsoft SQL Server版本号以及相应的产品或服务包级别
它还描述了在使用Microsoft SQL Server 2000或Microsoft SQL Server 7.0时如何识别特定版本。SERVERPROPERTY在compact edition 4中不受支持。“错误:SQL Server Compact无法识别该函数。[函数名称=SERVERPROPERTY,数据类型(如果已知)=]”目前为止,没有发布任何其他方法。我很惊讶原来的海报接受了这个答案。可能它在SQL Server Compact Edition 3.x中起作用问题是关于SQL Server Compact Edition的(至少在版本4中)这不起作用:错误:“全局变量名@版本无效”他说Compact或express Edition。我敢肯定它在速成版中是有效的。至于compact,我认为这可能会起作用“var version=typeof(System.Data.SqlServerCe.SqlCeConnection).Assembly.GetName().version”;该链接根本不讨论compact edition,这是最初的问题。@JohnC另一方面,最后一句话“我希望能够将我的产品的不同版本限制为不同版本的SQL Server。”而标签“SQL Server”是误导性的,因为术语“SQL Server”“通常被称为服务器产品。既然他接受了答案,我想OP并不是指compact版本。compact edition不支持这一原始问题。您实际上是如何做到的,因为SQL Server compact edition不支持任何响应?(SQL CE 4)所有建议的解决方案都不适用于SQL Server Compact Edition(3.x和4.x)。。。