十二
10
2009
10
2009
给MSSQL数据库创建安全用户,MSSQL数据库中登录名与用户名的区别
实施步骤:创建数据库 –> 创建登录 –> 在相应数据库下创建用户并关联登录 –> 授权用户相应权限;应用程序中数据库链接串使用的是登录名,用于连接数据库服务器的实例。
执行语句如下:
USE master
GO
–创建一个登录
Create LOGIN 登录名 WITH PASSWORD = 'xx'
GO
USE 你要授权的数据库
GO
–创建一个数据库的用户
Create USER 用户名 FOR LOGIN 登录名
GO
–授予db_owner权限
EXEC SP_ADDROLEMEMBER 'db_owner','用户名'
GO
–这样,该用户就只能在该数据库下操作,包括添加,删除,修改等
数据库用户名和登录名的关系
登录:服务器方的一个实体,使用一个登录名只能进入服务器,但是不能让用户访问服务器中的数据库资源。每个登录名的定义存放在master数据库的syslogins表中
用户:一个或多个登录对象在数据库中的映射,可以对用户对象进行授权,以便为登录对象提供对数据库的访问权限。用户定义信息存放在每个数据库的sysusers表中。
一个登录名可以被授权访问多个数据库,但一个登录名在每个数据库中只能映射一次。即一个登录可对应多个用户,一个用户也可以被多个登录使用。
可以把登录对象比作是驾驶证,把用户对象比作是汽车钥匙来帮助理解。
如果没有为一个登录指定数据库用户,则登录时系统将试图将该登录名映射成guest用户(如果当前的数据库中有guest用户的话)。如果还是失败的话,这个用户将无法访问数据库。

作者:Yoft
2 次浏览








