MSSQL2000安全设置图文教程
MSSQL2000安全设置
Sql server 2000建立独立帐号数据库方法
首先我们启动Sql server 2000数据库,并打开企业管理器连接我们使用的数据库并找到数据库选项,在上面点击 鼠标右键选择新建数据库如下图所示。建立数据库时可以在数据文件,和事件日志中设置数据文件的物理存放位置
然后我们在安全性中找登录项,在上面点击鼠标右键如下图所示。我们将他的默认数据库设置为我们刚刚建立的数据库。如果 系统为英文请将sql server的字符集设置为Chinese_PRC_CI_AS。
然后再将这个帐号映射到数据库中,以限定数据库帐号的范围。
警告:我们不要给数据库分配服务器角色,只需要如图所示赋予public,db_owner。
到这数据库就建立完成了,记住您设置的帐号和密码并填写在程序配置文件中。存储过程有安全问题,全部复制到"SQL查询分析器" 点击菜单上的--"查询"--"执行",就会将有安全问题的SQL过程删除
代码如下:
use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask
更改默认SA空密码.数据库链接不要使用SA帐户.单数据库单独设使用帐户.只给public和db_owner权限.数据库的自动备份点击“开始”中的“程序”,点击“Microsorft SQL Server”打开“企业管理器”,并打开如图所示的界面,鼠标右击“zbintel117_all”,选“所有任务”,再选“维护计划”。
如果点击“完成”按钮,出现下图界面,说明SQL Server Agent服务停止,应该启用SQL Server Agent服务。
启用“SQL Server Agent”服务
下面内容来自网络仅作为参考,其中
exec sp_dropextendedproc 'Xp_regdelete'
exec sp_dropextendedproc 'Xp_regenums'
内容与上文不同,实际使用以上文为准。
命令删除SQL的扩展
use master
exec sp_dropextendedproc 'xp_cmdshell'
exec sp_dropextendedproc 'xp_dirtree'
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'Sp_OACreate'
exec sp_dropextendedproc 'Sp_OADestroy'
exec sp_dropextendedproc 'Sp_OAGetErrorInfo'
exec sp_dropextendedproc 'Sp_OAGetProperty'
exec sp_dropextendedproc 'Sp_OAMethod'
exec sp_dropextendedproc 'Sp_OASetProperty'
exec sp_dropextendedproc 'Sp_OAStop'
exec sp_dropextendedproc 'Xp_regaddmultistring'
exec sp_dropextendedproc 'Xp_regdeletekey'
exec sp_dropextendedproc 'Xp_regdelete'
exec sp_dropextendedproc 'Xp_regenums'
exec sp_dropextendedproc 'Xp_regread'
exec sp_dropextendedproc 'Xp_regremovemultistring'
exec sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask
go
恢复扩展存储过程,执行以下语句。
至于sp_makewebtask 这个存储过程你可以从别人那拷贝过来一个脚本,
执行以后生成的存储过程一样可以用。
use master
exec sp_addextendedproc xp_cmdshell,'xp_cmdshell.dll'
exec sp_addextendedproc xp_dirtree,'xpstar.dll'
exec sp_addextendedproc xp_enumgroups,'xplog70.dll'
exec sp_addextendedproc xp_fixeddrives,'xpstar.dll'
exec sp_addextendedproc xp_loginconfig,'xplog70.dll'
exec sp_addextendedproc xp_enumerrorlogs,'xpstar.dll'
exec sp_addextendedproc xp_getfiledetails,'xpstar.dll'
exec sp_addextendedproc sp_OACreate,'odsole70.dll'
exec sp_addextendedproc sp_OADestroy,'odsole70.dll'
exec sp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll'
exec sp_addextendedproc sp_OAGetProperty,'odsole70.dll'
exec sp_addextendedproc sp_OAMethod,'odsole70.dll'
exec sp_addextendedproc sp_OASetProperty,'odsole70.dll'
exec sp_addextendedproc sp_OAStop,'odsole70.dll'
exec sp_addextendedproc xp_regaddmultistring,'xpstar.dll'
exec sp_addextendedproc xp_regdeletekey,'xpstar.dll'
exec sp_addextendedproc xp_regdelete,'xpstar.dll'
exec sp_addextendedproc xp_regenums,'xpstar.dll'
exec sp_addextendedproc xp_regread,'xpstar.dll'
exec sp_addextendedproc xp_regremovemultistring,'xpstar.dll'
exec sp_addextendedproc xp_regwrite,'xpstar.dll'
以上语句是自动生成的。
感兴趣你可以看一下以下语句,上边的语句就是这么生成的。
由于我机器上的扩展存储过程没有drop掉,所以可以生成上边的语句。
create table #temp( name varchar(100),dll varchar(100))
truncate table #temp
insert into #temp
exec sp_helpextendedproc 'xp_cmdshell'
insert into #temp
exec sp_helpextendedproc 'xp_dirtree'
insert into #temp
exec sp_helpextendedproc 'xp_enumgroups'
insert into #temp
exec sp_helpextendedproc 'xp_fixeddrives'
insert into #temp
exec sp_helpextendedproc 'xp_loginconfig'
insert into #temp
exec sp_helpextendedproc 'xp_enumerrorlogs'
insert into #temp
exec sp_helpextendedproc 'xp_getfiledetails'
insert into #temp
exec sp_helpextendedproc 'Sp_OACreate'
insert into #temp
exec sp_helpextendedproc 'Sp_OADestroy'
insert into #temp
exec sp_helpextendedproc 'Sp_OAGetErrorInfo'
insert into #temp
exec sp_helpextendedproc 'Sp_OAGetProperty'
insert into #temp
exec sp_helpextendedproc 'Sp_OAMethod'
insert into #temp
exec sp_helpextendedproc 'Sp_OASetProperty'
insert into #temp
exec sp_helpextendedproc 'Sp_OAStop'
insert into #temp
exec sp_helpextendedproc 'Xp_regaddmultistring'
insert into #temp
exec sp_helpextendedproc 'Xp_regdeletekey'
insert into #temp
exec sp_helpextendedproc 'Xp_regdelete'
insert into #temp
exec sp_helpextendedproc 'Xp_regenums'
insert into #temp
exec sp_helpextendedproc 'Xp_regread'
insert into #temp
exec sp_helpextendedproc 'Xp_regremovemultistring'
insert into #temp
exec sp_helpextendedproc 'Xp_regwrite'
select 'exec sp_addextendedproc '+name+','''+dll+''''
from #temp