想以服务器的硬件ID号作为原ID,算出注册ID,但不知到怎么取得当前连接数据库所在服务器的硬件ID号(如硬盘的ID号),请指教!

解决方案 »

  1.   

    数据库程序注册用;不想用加密狗(以服务器的硬件ID号作为原ID,算出注册ID)有注册ID的即升为正式版,本机的硬盘的ID号很容易取,但为每一个客户机提供一个注册ID太不方便了
      

  2.   

    不知道楼主是否已经找到方法了 ?
    我也是和你有同样的想法,找了一天了,都没有找到可以获取sql server数据库服务器硬件信息的方法。
    请高手指教啊 !
      

  3.   


    可以用WMI获得一些系统信息获得硬盘ID(不知道是不是楼主所说的ID,不明白楼主为什么要用SQL获得.....)如果是win2003系统,试试:
    exec master..xp_cmdshell 'WMIC DISKDRIVE get Caption,DeviceID,PNPDeviceID'
    如果其他系统
    在服务器c:\下建一个aaa.vbs文件,把以下内容粘贴进去On Error Resume Next
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive",,48)For Each objItem in colItems WScript.Echo "Caption: " & objItem.Caption
    WScript.Echo "DeviceID: " & objItem.DeviceID
    WScript.Echo "PNPDeviceID: " & objItem.PNPDeviceID

    Next
    然后执行
    exec master..xp_cmdshell 'cscript c:\aaa.vbs //nologo'
      

  4.   

    系統底層調用..?SQL里面應該完成不了這樣的功能...
    樓上的好像是用的程序調用的,怎麼我看著跟VB語法跟熟呢?
      

  5.   

    jixiaojie(太多借口) :
    试了一下,不是2003系统的,得到的结果:Caption: FUJITSU MHT2040AT
    DeviceID: \\.\PHYSICALDRIVE0
    PNPDeviceID: IDE\DISKFUJITSU_MHT2040AT_______________________0013____\3&9275452&0&0.0.0
    NULL
      

  6.   

    SQL SERVER 本身真的没有什么函数之类的可以取得一些硬件信息吗 ?