转载自:https://www.cnblogs.com/accumulater/p/6158387.html
--创建一个简单的登录,登录名为:newlogin;登录密码:123456;默认数据库:master,默认数据库也可以不指定。
EXEC sp_addlogin 'newlogin','123456','master'
--创建用户
--创建一个简单的用户,如果不指定用户名,则添加到当前数据库登录名中,如果不指定角色,则该用户默认属于public角色。下为添加newlogin登录名。
EXEC sp_adduser 'newlogin'
--创建一个带用户名的用户,用户可以与登录名相同(同上一种类似),也可以不同,但要设定当前登录名,用户角色可选,默认为public。下为将用户newuser添加到newlogin登录名中。
EXEC sp_adduser 'newlogin','newuser'
--创建角色
EXEC sp_addrole 'newrole'
--下为将用户下为将用户newuser添加到newlogin登录名中。并指定newrole角色。
EXEC sp_adduser 'newlogin','newuser','newrole'
--为角色newrole赋予jobs表的所有权限
GRANT ALL ON jobs TO newrole
--为角色newrole赋予sales表的查、改权限
GRANT SELECT,UPDATE ON sales TO newrole
--禁止角色newrole使用employees表的插入权限
DENY INSERT ON employees TO newrole
另一种创建用户和赋予角色的方式
--为登录newlogin在数据库中添加安全账户newuser
EXEC sp_grantdbaccess 'newlogin','newuser'
--添加newuser为角色newrole的成员
EXEC sp_addrolemember 'newrole','newuser'
--数据库用户、角色、登录的删除操作
--删除当前数据库用户
EXEC sp_revokedbaccess 'newuser';
--删除数据库登录
EXEC sp_droplogin 'newlogin'
--删除数据库角色
EXEC sp_droprole 'newrole'
--从数据库角色(newrole)中删除用户(newuser)
EXEC sp_droprolemember 'newrole', 'newuser'
--用SQL代码新建登录、用户
--创建带密码的mylogin登录名,MUST_CHANGE 选项需要用户首次连接服务器时更改此密码。
CREATE LOGIN mylogin WITH PASSWORD = '123456' MUST_CHANGE;
--创建映射到凭据的登录名。
--以下示例将创建mylogin登录名。此登录名将映射到mycredential凭据。
CREATE LOGIN mylogin WITH PASSWORD = '123456',
CREDENTIAL = mycredential;
--从Windows 域帐户创建登录名
--如果从Windows 域帐户映射登录名,则登录名必须用方括号([ ]) 括起来。
CREATE LOGIN [jackxiangzhao] FROM WINDOWS;
--如果指定用户名,则不使用默认登录名作为该数据库用户
CREATE USER myuser FOR LOGIN mylogin
--以下示例将创建用户myuser拥有的数据库角色myrole
CREATE ROLE myrole AUTHORIZATION myuser;
--以下示例将创建db_role固定数据库角色拥有的数据库角色myrole
CREATE ROLE myrole AUTHORIZATION db_role