▲▲一、SP_ADDLOGIN 創(chuàng)建新的 Microsoft SQL Server 登錄,使 用戶 得以連接使用 SQL Server 身份驗證的 SQL Server 實例。 語法 sp_addlogin [ @loginame = ] 'login' [ , [ @passwd = ] 'password' ] [ , [ @defdb = ] 'database' ] [ , [ @deflanguage =
▲▲一、SP_ADDLOGIN
創(chuàng)建新的 Microsoft SQL Server 登錄,使用戶得以連接使用 SQL Server 身份驗證的 SQL Server 實例。
語法
sp_addlogin [ @loginame = ] 'login'
[ , [ @passwd = ] 'password' ]
[ , [ @defdb = ] 'database' ]
[ , [ @deflanguage = ] 'language' ]
[ , [ @sid = ] sid ]
[ , [ @encryptopt = ] 'encryption_option' ]
參數(shù)
[@loginame =] 'login'
登錄的名稱。login 的數(shù)據(jù)類型為 sysname,沒有默認設(shè)置。
[@passwd =] 'password'
登錄密碼。password 的數(shù)據(jù)類型為 sysname,默認設(shè)置為 NULL。sp_addlogin 執(zhí)行后,password 被加密并存儲在系統(tǒng)表中。
[@defdb =] 'database'
登錄的默認數(shù)據(jù)庫(登錄后登錄所連接到的數(shù)據(jù)庫)。database 的數(shù)據(jù)類型為 sysname,默認設(shè)置為 master。
[@deflanguage =] 'language'
用戶登錄到 SQL Server 時系統(tǒng)指派的默認語言。language 的數(shù)據(jù)類型為 sysname,默認設(shè)置為 NULL。如果沒有指定 language,那么 language 被設(shè)置為服務(wù)器當前的默認語言(由 sp_configure 配置變量 default language 定義)。更改服務(wù)器的默認語言不會更改現(xiàn)有登錄的默認語言。language 保持與添加登錄時所使用的默認語言相同。
[@sid =] sid
安全標識號 (SID)。sid 的數(shù)據(jù)類型為 varbinary(16),默認設(shè)置為 NULL。如果 sid 為 NULL,則系統(tǒng)為新登錄生成 SID。盡管使用 varbinary 數(shù)據(jù)類型,非 NULL 的值也必須正好為 16 個字節(jié)長度,且不能事先存在。SID 很有用,例如,如果要編寫 SQL Server 登錄腳本,或要將 SQL Server 登錄從一臺服務(wù)器移動到另一臺,并且希望登錄在服務(wù)器間具有相同的 SID 時。
[@encryptopt =] 'encryption_option'
指定當密碼存儲在系統(tǒng)表中時,密碼是否要加密。encryption_option 的數(shù)據(jù)類型為 varchar(20),可以是下列值之一。
值 描述
------------------- ------------------------------------------------------------
NULL 加密密碼。這是默認設(shè)置。
skip_encryption 密碼已加密。SQL Server 應(yīng)該存儲值而且不用重新對其加密。
skip_encryption_old 已提供的密碼由 SQL Server 較早版本加密。SQL Server 應(yīng)該存儲值而且不用重新對其加密。此選項只供升級使用。
▲▲二、SP_GRANTDBACCESS
為 Microsoft SQL Server 登錄或 Microsoft Windows NT 用戶或組在當前數(shù)據(jù)庫中添加一個安全帳戶,并使其能夠被授予在數(shù)據(jù)庫中執(zhí)行活動的權(quán)限。
語法:
sp_grantdbaccess [@loginame =] 'login'
[,[@name_in_db =] 'name_in_db' [OUTPUT]]
參數(shù):
[@loginame =] 'login'
當前數(shù)據(jù)庫中新安全帳戶的登錄名稱。Windows NT 組和用戶必須用 Windows NT 域名限定,格式為"域/用戶",例如 LONDON/Joeb。登錄不能使用數(shù)據(jù)庫中已有的帳戶作為別名。login 的數(shù)據(jù)類型為 sysname,沒有默認值。
[@name_in_db =] 'name_in_db' [OUTPUT]
數(shù)據(jù)庫中帳戶的名稱。name_in_db 是 sysname 類型的 OUTPUT 變量,默認值為 NULL。如果沒有指定,則使用 login。如果將其指定為 NULL 值的 OUTPUT 變量,則設(shè)置 @name_in_db 為 login。當前數(shù)據(jù)庫不必存在 name_in_db。
▲▲三、SP_DROPLOGIN
刪除 Microsoft SQL Server 登錄,以阻止使用該登錄名訪問 SQL Server。
語法
sp_droplogin [ @loginame = ] 'login'
參數(shù)
[@loginame =] 'login'
將被刪除的登錄。login 的數(shù)據(jù)類型為 sysname,沒有默認值。login 必須已經(jīng)存在于 SQL Server 中。
▲▲四、SP_REVOKEDBACCESS
從當前數(shù)據(jù)庫中刪除安全帳戶。
語法
sp_revokedbaccess [ @name_in_db = ] 'name'
參數(shù)
[@name_in_db =] 'name'
是要刪除的帳戶名。name 的數(shù)據(jù)類型為 sysname,無默認值。name 可以是 Microsoft? SQL Server? 用戶名或 Microsoft Windows NT? 用戶名或組名,而且必須存在于當前數(shù)據(jù)庫中。當指定 Windows NT 用戶或組時,請指定該 Windows NT 用戶或組在數(shù)據(jù)庫中可被識別的名稱(即用 sp_grantdbaccess 添加的名稱)。
▲▲五、GRANT
在安全系統(tǒng)中創(chuàng)建項目,使當前數(shù)據(jù)庫中的用戶得以處理當前數(shù)據(jù)庫中的數(shù)據(jù)或執(zhí)行特定的 Transact-SQL 語句。
語法
語句權(quán)限:
GRANT { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]
對象權(quán)限:
GRANT
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ ( column [ ,...n ] ) ] ON { table | view }
| ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procedure | extended_procedure }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ WITH GRANT OPTION ]
[ AS { group | role } ]
▲▲六、REVOKE
刪除以前在當前數(shù)據(jù)庫內(nèi)的用戶上授予或拒絕的權(quán)限。
語法
語句權(quán)限:
REVOKE { ALL | statement [ ,...n ] }
FROM security_account [ ,...n ]
對象權(quán)限:
REVOKE [ GRANT OPTION FOR ]
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ ( column [ ,...n ] ) ] ON { table | view }
| ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procedure | extended_procedure }
| ON { user_defined_function }
}
{ TO | FROM }
security_account [ ,...n ]
[ CASCADE ]
[ AS { group | role } ]
▲▲SP_PASSWORD
添加或更改 Microsoft? SQL Server? 登錄的密碼。
語法
sp_password [ [ @old = ] 'old_password' , ]
{ [ @new =] 'new_password' }
[ , [ @loginame = ] 'login' ]
參數(shù)
[@old =] 'old_password'
是舊密碼。old_password 為 sysname 類型,其默認值為 NULL。
[@new =] 'new_password'
是新密碼。new_password 為 sysname 類型,無默認值。如果沒有使用命名參數(shù),就必須指定 old_password。
[@loginame =] 'login'
是受密碼更改影響的登錄名。login 為 sysname 類型,其默認值為 NULL。login 必須已經(jīng)存在,并且只能由 sysadmin 固定服務(wù)器角色的成員指定。
=============================================================================
應(yīng)用實例:
--添加
--添加用戶:
exec sp_addlogin '用戶名','密碼','默認數(shù)據(jù)庫名'
--添加到數(shù)據(jù)庫
exec sp_grantdbaccess '用戶名','數(shù)據(jù)庫名'
--分本權(quán)限
grant insert,select,update,delete on table1 to public
--刪除
--刪除權(quán)限
revoke insert,delete on table1 from public
--刪除數(shù)據(jù)庫中的用戶
exec sp_revokedbaccess '用戶名'
--刪除用戶
exec sp_droplogin '用戶名'
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com