主题:如何判断一个SQL服务器是本地还是远程的?
Lotus8265
[专家分:0] 发布于 2007-01-17 11:10:00
可否在知道SQL服务器名的情况下判断该服务器是本地还是远程的,不要根据IP地址判断的,因为IP地址可能会变动,当然,如果能根据SQL服务器名取得服务器所在计算机IP地址然后再与本机IP地址对比的方法也可以。因为我写的一个程序里有个数据库初始化模块,我想限制只有在SQL服务器上才可以运行该模块,所以想知道怎么判断服务器是否为本地。请高手赐教!
回复列表 (共7个回复)
沙发
Lotus8265 [专家分:0] 发布于 2007-01-29 13:53:00
没人知道吗?晕
板凳
233238447 [专家分:1350] 发布于 2007-01-31 00:09:00
LOACL 127.0.0.1 你的IP地址 还有 .
如果都有不是那么,你的服务器既使在局域网内也算是远程的!~
3 楼
Lotus8265 [专家分:0] 发布于 2007-01-31 09:14:00
这样行不通的,万一本机也是服务器,但不是我要初始化数据库的服务器呢?
4 楼
Leo64823900 [专家分:960] 发布于 2007-02-06 20:40:00
试着用 xp_cmdshell 在服务器做标记,然或用程序判断SQL服务器是在本机运行。
5 楼
Lotus8265 [专家分:0] 发布于 2007-02-07 09:55:00
谢谢楼上,不过还是不太清楚你说的思路,怎么用xp_cmdshell做标记呢?建一个文件?还是查IP然后和本机IP比较?还有,这个过程好象要求权限比较高呀,也有点麻烦。
6 楼
Leo64823900 [专家分:960] 发布于 2007-02-07 14:40:00
这个过程的权限要求有点高,但使用并不麻烦。这里有一个建文件标记的例子。
exec xp_cmdshell 'date /t >c:\temp\mark_y07.txt'
运行后,在 Server 的 c:\temp 目录下创建了文件 mark_y07.txt ,其内容为当天的日期:如 "wed 02/07/2007". 然后用程序检查此文件是否存在,来判断SQL服务器是否在本机运行。
7 楼
Lotus8265 [专家分:0] 发布于 2007-02-08 09:21:00
谢谢,我去试试先。
我来回复