http://www.csdn.net/expert/topic/978/978608.xml?temp=.4410822

解决方案 »

  1.   

    The easiest way is to check the server for the relevant registry entries.For SQL 6.5 or SQL7.0 you can check :-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersionHowever, in the case of a clustered server it may not be there. In which case you could check :-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer\Performance\LibraryThe value of this will either be sqlctr60.dll, sqlctr70.dll or sqlctr80.dll. This location will always be there for a default instance. For a named (SQL 2000) instance called FRED then replace MSSQLServer with MSSQL$FRED.For SQL 2000 only you can also check :-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\InstalledInstanceswhich will list the instances on the machine.
      

  2.   

    版本信息:
    SELECT  CAST( SERVERPROPERTY( 'MachineName' ) AS varchar( 30 ) ) AS MachineName ,
            CAST( SERVERPROPERTY( 'InstanceName' ) AS varchar( 30 ) ) AS Instance ,
            CAST( SERVERPROPERTY( 'ProductVersion' ) AS varchar( 30 ) ) AS ProductVersion ,
            CAST( SERVERPROPERTY( 'ProductLevel' )  AS varchar( 30 ) ) AS ProductLevel ,
            CAST( SERVERPROPERTY( 'Edition' ) AS varchar( 30 ) ) AS Edition ,
     ( CASE SERVERPROPERTY( 'EngineEdition')
    WHEN 1 THEN 'Personal or Desktop'
    WHEN 2 THEN 'Standard'
    WHEN 3 THEN 'Enterprise'
     END ) AS EngineType ,
     CAST( SERVERPROPERTY( 'LicenseType' ) AS varchar( 30 ) ) AS LicenseType ,
             SERVERPROPERTY( 'NumLicenses' ) AS #Licenses;