記得自己從開始編寫與sql資料庫相關的程式起,就一直採用sa登陸,也沒有聽人說過使用者名稱和登陸名之間有什麼關係,甚至都不知道這些東西,只知道sa許可權很大,可以執行資料庫中的所有東西,直至暑假,在看到某一專案在**關於資料庫登陸許可權保護時,自己才重視到了這一點。在網上查了很多資料,自己也總結了一些東西。
首先,要認清資料庫登陸名和資料庫使用者名稱之間的關係。資料庫登陸名和資料庫使用者名稱是有差別的,在乙個資料庫中是一一相對應的關係。如果把資料庫比作乙個大廈,那麼資料庫登入名就是進入大廈的通行證,而使用者名稱則是進入大廈房間的鑰匙,如果每個房間看做是sql資料庫(大廈)的乙個資料庫,那麼每個登陸名可以在每乙個資料庫中建立乙個使用者,如果沒有建立使用者,則登陸名就只能純粹的登陸資料庫,什麼事情都幹不了。下面就是插入資料庫登入名和使用者名稱的語句:
execsp_addlogin
'登入名',
'密碼'
,'選擇的資料庫
'exec
sp_adduser
'使用者名稱',
'登入名
'
然後,將光把登入名和使用者名稱新增進入資料庫還不行,還要對你新增的使用者名稱進行賦權,此時你的資料庫的使用者名稱才有用。如下**:資料表名稱指的是使用者能操作的資料庫的乙個**名稱,
grantselect
,update
,insert
on資料表名稱
to使用者名稱
這樣,乙個正確的使用者就建立好了,現在你可以用你的登陸名和使用者名稱運算元據庫中的資料了,當然,我還查到網上說的賦予登入名的使用者角色問題,如下**:
--新增使用者
exec
sp_addlogin
'test'--
新增登入
exec
sp_grantdbaccess n
'test'--
使其成為當前資料庫的合法使用者
exec
sp_addrolemember n
'db_owner
', n
'test'--
授予對自己資料庫的所有許可權
--檢視所有使用者
exec
sp_helpuser
--檢視某使用者的許可權
exec
sp_helprotect
@username='
使用者名稱'
--查詢某資料庫中的所有**
select
name
from
sysobjects
where
xtype='
u'--刪除使用者名稱和登陸名的儲存過程
exec
sp_droplogin
'登入名
'exec
sp_dropuser
'使用者名稱
'
postgresql資料庫使用者名稱密碼驗證失敗
問題分析 1 檢查環境變數中是否指定了相關引數,比如 export pguser highgo export pgdatabase highgo export pghost localhost export pgport 5866 export pgpassword 1234512 345 2 pg...
mongoDB資料庫設定使用者名稱及密碼
mongodb資料庫在預設是沒有使用者名稱及密碼,不用安全驗證的,只要連線上服務就可以進行crud操作。第一部 開啟安全性驗證 如果需要給mongodb資料庫使用安全驗證,則需要用 auth開啟安全性檢查,則只有資料庫認證的使用者才能執行讀寫操作,開戶安全性檢查,有兩種方式 第一種 重新建立wind...
Openstack各模組資料庫使用者名稱密碼查詢
openstack各模組資料庫使用者名稱密碼查詢 適用於kolla部署的openstack 1.docker ps grep neutron 2.docker exec it neutron server bin bash docker exec it c91619f92404 bin bash 注...