最近的一次对mssql数据库迁移操作中发现一个有趣的事情,可以用一条语句判断MSSQL数据库版本(准确度不高):
select * from sys.servers
如果返回如下信息,应该是2000数据库:
消息 208,级别 16,状态 1,第 1 行
对象名 'sys.servers' 无效。
反之返回类似如下的信息,则可能为2005数据库
1 www-host SQL Server SQLNCLI www-host NULL NULL NULL 0
原因:sys.servers这个对象在2000中没有,在2005中有。