Get hardware information from a database server
I want to get hardware information from 开发者_运维知识库a database server, which may not be in my private network, like the network card's MAC address, or the CPU ID. It has to work on MS SQL and MySQL.
It is needed for some kind of Licensing Model and needs to work over ANY network connection. Something like a Hardware ID of the database server or some kind of serial of the DB Server software, which identifies this server uniquely.
Thanks
Dirk
In general the MAC address is not a good choice for node-locking, as it can be set by a System Administrator on many systems. A combination of system parameters is more secure, but of course you need to provide a way to accommodate users who do minor upgrades to their system (perhaps causing one of these parameters to change), users who have a system crash and so need to get their license running on another system, and users who want to relocate their license to another system (if your license terms allow this).
mysql> STATUS;
--------------
./client/mysql Ver 14.12 Distrib 5.0.29, for pc-linux-gnu (i686) using readline 5.0
Connection id: 8
Current database:
Current user: mc@localhost
SSL: Not in use
Current pager: /usr/bin/less
Using outfile: ''
Using delimiter: ;
Server version: 5.0.27-standard MySQL Community Edition - Standard (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 1 day 3 hours 58 min 43 sec
Threads: 2 Questions: 17 Slow queries: 0 Opens: 11 Flush tables: 1 Open tables: 6 Queries per second avg: 0.000
--------------
mysql> SHOW VARIABLES LIKE "%version%";
+-------------------------+------------------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------------------+
| protocol_version | 10 |
| version | 5.0.27-standard |
| version_comment | MySQL Community Edition - Standard (GPL) |
| version_compile_machine | i686 |
| version_compile_os | pc-linux-gnu |
+-------------------------+------------------------------------------+
http://dev.mysql.com/doc/refman/5.0/en/installation-version.html
Found this on the internets. It may help you to think of / find other SQL information.
SELECT cpu_count, hyperthread_ratio, cpu_count/hyperthread_ratio,
physical_memory_in_bytes/1048576 AS 'RAM (MB)'
FROM sys.dm_os_sys_info;
See also this answer, which gets the IP address from a SQL database table.
精彩评论