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


2010-06-23 09:23:56




