--創建一個簡單的登錄,登錄名為: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 [jack\xiangzhao] FROM WINDOWS;
--如果指定用戶名,則不使用默認登錄名作為該數據庫用戶
CREATE USER myuser FOR LOGIN mylogin
--以下示例將創建用戶myuser擁有的數據庫角色myrole
CREATE ROLE myrole AUTHORIZATION myuser;
--以下示例將創建db_role固定數據庫角色擁有的數據庫角色myrole
CREATE ROLE myrole AUTHORIZATION db_role