SQL2008备份后恢复设定用户权限的时候提示用户、组或角色在当前数据库中已存在:
原因SQL数据库中包含一组用户和权限,使用存储过程sp_change_users_login更新用户数据库权限:
Use [dbname]
go
sp_change_users_login 'update_one', 'user', 'user'
发布时间:November 16, 2012 // 分类:数据库 // No Comments
发布时间:April 24, 2012 // 分类:数据库 // No Comments
SQL如果在安装时未指定用户默认以system权限运行,这给服务器带来很大的安全隐患,可以更改运行账户为普通用户。
在CMD下新建运行SQL的用户,或在用户管理新建。
net user newuser password /add
SQL2000下,打开SQL企业管理器,选择local——右键——属性——安全性——启动服务用户
更改后确定重启SQL服务,要保证SQL安装目录、数据库目录新用户有读写权限,一般经过上述步骤后系统会自动更改相应权限。
SQL2008下,打开SQL server配置管理器,SQL server服务——SQL server——右键——属性。
SQL2000删除危险的扩展,包括xp_cmdshell。
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