關于使用數據庫登錄名和數據庫用戶名的一些心得
本文我們介紹一些使用數據庫登錄名和數據庫用戶名的一些心得,接下來我們就開始介紹這一部分內容。
登錄名與用戶名的使用:
首先,要認清數據庫登錄名和數據庫用戶名之間的關系。數據庫登錄名和數據庫用戶名是有差別的,在一個數據庫中是一一相對應的關系。如果把數據庫比作一個大廈,那么數據庫登錄名就是進入大廈的通行證,而用戶名則是進入大廈房間的鑰匙,如果每個房間看做是Sql數據庫(大廈)的一個數據庫,那么每個登錄名可以在每一個數據庫中創(chuàng)建一個用戶,如果沒有創(chuàng)建用戶,則登錄名就只能純粹的登陸數據庫,什么事情都干不了。下面就是插入數據庫登錄名和用戶名的語句:
exec sp_addlogin '登錄名','密碼','選擇的數據庫'
exec sp_adduser '用戶名','登錄名'
然后,將光把登錄名和用戶名添加進入數據庫還不行,還要對你添加的用戶名進行賦權,此時你的數據庫的用戶名才有用。如下代碼:數據表名稱指的是用戶能操作的數據庫的一個表格名稱,
grant select,update,insert on 數據表名稱to用戶名
這樣,一個正確的用戶就創(chuàng)建好了,現在你可以用你的登錄名和用戶名操作數據庫中的數據了,當然,我還查到網上說的賦予登錄名的用戶角色問題,如下代碼:
--新增用戶
exec sp_addlogin 'test' --添加登錄
exec sp_grantdbaccess N'test' --使其成為當前數據庫的合法用戶
exec sp_addrolemember N'db_owner', N'test' --授予對自己數據庫的所有權限
這是網上搜索到的一個添加用戶的密碼,雖然自己沒有去試過,但感覺上面的那兩個存儲過程用起來還是比較簡單一點,而且賦予權限更清晰,下面的sp_addrolemember,我查過幫助文檔,確實有很多說明數據庫角色的,但總感覺沒有grant語句來的詳細。
數據庫用戶權限的語句:
--查看所有用戶
exec sp_helpuser
--查看某用戶的權限
exec sp_helprotect username='用戶名'
--查詢某數據庫中的所有表格
select name from sysobjects where xtype='u'
--刪除用戶名和登錄名的存儲過程
exec sp_droplogin '登錄名'
exec sp_dropuser '用戶名'
關于SQL Server數據庫登錄名和用戶名知識的總結就介紹到這里了,希望本次的介紹能夠對您有所幫助。
【編輯推薦】