SQL Server安装勿偷懒

技巧与实践

很多初学者在安装SQL Server时为了省事,按照安装程序的默认值不给sa设置口令,他们可能没想到这样做的后果很严重。

不设密码有隐患:

在别的装有SQL Server的机器上点击SQL Server的“企业管理器→工具→SQL查询分析器”,出现“连接到SQL Server”对话框,输入要连接的SQL Server的IP地址或主机名,即你自己的机器的IP地址或机器名,单击“确定”按钮后进入查询分析器界面,在工具栏右侧的下拉列表框中选择master数据库。在查询窗口中输入:exec xp_cmdshell 'net user user1 /add'(表示增加一个用户名为user1的用户),然后按F5键执行,出现“命令成功完成”的提示说明。接着输入:exec xp_cmdshell 'net localgroup administrators user1 /add'(表示将user1用户加到管理员组中),按F5键执行,同样出现“命令成功完成”的提示说明。回到自己的机器,看一看,是不是多了一个属于管理员组的名为user1的用户,害怕吧?上面只是举了一个普通的例子,通过调用xp_cmdshell这个扩展存储过程执行Windows下的增加用户命令,实际上,你的数据库已在别人掌控中了。

解决方法:

这个问题可以用SQL语句:sp_drope xtendedproc 'xp_cmdshell'来去除sa的xp_cmdshell权限,然后将xpsql70.dll文件删除来解决,可是这毕竟是“亡羊补牢”,最好的办法是在安装SQL Server时给sa设置复杂的口令,在安装时忘了设置口令也没关系,可以重新设置sa的口令。

重新设置sa的口令的步骤如下:在企业管理器中,依次展开“控制台根目录→Microsoft SQL Servers→SQL Server组→(local)(Windows NT)→安全性→登录”,在右边窗口中找到sa,双击它,出现“SQL Server登录属性―sa”对话框,在“常规”选项卡的“密码”输入框中输入你需要设置的密码,点“确定”按钮后出现“确认密码”对话框,在“确认新密码”输入框中输入刚才输入的密码,点“确认”按钮即可。