1.需要登錄到sql系統,即需要登錄賬戶。
2.需要訪問某個數據庫,即需要成爲該數據庫的用戶。
3.需要訪問數據庫中的表,即需要數據庫管理員DBA給自己授權,如增、刪、改、查的權限。
創建登錄賬戶:
創建登錄賬戶:
1.Windows身份驗證:適合於windows平臺的用戶不需要密碼,和windows集成驗證。
創建windows賬戶需要調用SQL server內置的系統存儲過程sp_grantlogin,調用語法如下:
EXEC sp_grantlogin 'windows域名\域賬戶'
EXEC表示調用執行
如果是本機可以用計算機名代替windows域名
例:
/*--添加windows登錄賬戶--*/
EXEC sp_grantlogin 'jbtraining\s26301'
--windows用戶爲jbtraining\ s26301,jbtraining表示域
GO
2.SQL身份驗證:適合於非windows的用戶或Internet的用戶,需要提供賬戶和密碼。
/*--添加SQL登錄賬戶--*/
EXEC sp_addlogin 'zhangsan','123'
--賬戶名zhangsan,密碼123
GO
創建數據庫用戶:
需要調用存儲過程sp_grantdbaccess,調用語法如下:
EXEC sp_grantdbaccess '登錄賬戶','數據庫用戶'
其中數據庫用戶爲可選參數,默認爲數據庫用戶和登錄賬戶同名。
例:
/*--在sdb_DB數據庫中增加兩個用戶--*/
USE stu_DB
GO
EXEC sp_grantdbaccess 'jbtraining\s26301','s26301DBUser'
--s26301DBUser 爲數據庫用戶名
EXEC sp_grantdbaccess 'zhangsan','zhangsanDBUser'
dbo用戶是具有在數據庫中執行所有活動的權限的用戶,表示數據庫的所有者(ower),創建某個數據庫就是某個數據庫的所有者,即dbo用戶,該用戶無法刪除,且出現在每個數據庫中。
DBA給數據庫用戶授權:
進行了創建數據庫用戶後,該用戶便允許訪問數據庫了!但數據庫中有很多表,所以必須讓DBA給你授權,指定你對那些表格具有哪些權限,常用的權限有增insert,刪delete,改update,查select和創建表create table。
授權語法如下:
CREATE 權限 [ON 表名] TO 數據庫用戶
例:
USE stuDB
GO
/*--爲張三分配對錶stuInfo的select、insert、update權限--*/
GRANT select,insert,update ON stuInfo TO zhangsanDBUser
/*--爲s26301DBUser分配建表權限--*/
GRANT create table TO s26301DBUser