请教有关SQLSERVER的用户权限问题(100分)

S

sunyb

Unregistered / Unconfirmed
GUEST, unregistred user!
我原来一直用SQLSERVER7的默认帐户即SA(密码空白)登录数据库,
现在想来可能不安全,因为可能被其他的人钻了空子;
现在这样操作不知道对不对:
1、把SA的密码改掉;
2、在SECURITY中增加一个NEW LOGIN,比如SUNYB,并设密码;
3、指定SUNYB用户的登录数据库为开发程序的数据库,语言为ENGLISH;
4、SERVER ROLES不设;
5、在DATABASE ACCESS中指定数据库为开发程序的数据库,并设权限为PUBLIC和DB_OWNER;
现在已经安装了5个远地的用户,我是不是需要跑到客户那里一个一个在服务器上修改,
或者怎么编程让客户执行以后达到修改的目的?
 
PRINT '<<< 创建脚色my_role,并给其赋权限 >>>'
GO
USE mydb
GO
EXEC sp_addrole 'my_role', 'dbo'
GO
USE mydb
GRANT DELETE, INSERT, UPDATE, SELECT, REFERENCES ON myTable TO my_role

GRANT EXECUTE ON myProcedure TO my_role
GO
-- 创建my用户
PRINT '<<< 创建my用户 >>>'
GO
USE master
GO
IF SUSER_ID('my') IS NULL
EXEC sp_addlogin 'my',
'my',
@defdb = 'mydb',
@deflanguage = 'us_english'
GO
USE mydb
GO
IF SUSER_ID('my') IS NULL
EXEC sp_addlogin 'my', 'my'
GO
EXEC sp_grantdbaccess 'my', 'my'
GO
EXEC sp_addrolemember 'my_role', 'my'
GO
 
同意Tophi
 
我也遇到这个问题,我想应该尽量把对数据表的操作写在存储过程或视图中,
再把权限给相应 的角色吧
 
顶部