最近的一次对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中有。