欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

編程管理SQL SERVER的帳號.sql

系統(tǒng) 1905 0

編程管理SQL SERVER的帳號?
?
每個人都關(guān)心數(shù)據(jù)安全。
如果不關(guān)心的話,可能沒有意識到訪問服務(wù)器中的敏感數(shù)據(jù)是非常容易的。
因為SQL SERVER在這方面已經(jīng)替我們考慮過了,
所以在我們開發(fā)應(yīng)用程序就可以直接使用SQL SERVER的安全策略。

?在SQL SERVER中,我們可以在ENTERPRISE MANAGER中創(chuàng)建一個登錄帳號,
并且賦予一定的權(quán)限,如果要做到我們的應(yīng)用程序中呢?


==============================================================================
SQL SERVER提供了如下系統(tǒng)過程


▲▲一、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,沒有默認(rèn)設(shè)置。

[@passwd =] 'password'
登錄密碼。password 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。sp_addlogin 執(zhí)行后,password 被加密并存儲在系統(tǒng)表中。

[@defdb =] 'database'
登錄的默認(rèn)數(shù)據(jù)庫(登錄后登錄所連接到的數(shù)據(jù)庫)。database 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 master。

[@deflanguage =] 'language'
用戶登錄到 SQL Server 時系統(tǒng)指派的默認(rèn)語言。language 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。如果沒有指定 language,那么 language 被設(shè)置為服務(wù)器當(dāng)前的默認(rèn)語言(由 sp_configure 配置變量 default language 定義)。更改服務(wù)器的默認(rèn)語言不會更改現(xiàn)有登錄的默認(rèn)語言。language 保持與添加登錄時所使用的默認(rèn)語言相同。

[@sid =] sid
安全標(biāo)識號 (SID)。sid 的數(shù)據(jù)類型為 varbinary(16),默認(rèn)設(shè)置為 NULL。如果 sid 為 NULL,則系統(tǒng)為新登錄生成 SID。盡管使用 varbinary 數(shù)據(jù)類型,非 NULL 的值也必須正好為 16 個字節(jié)長度,且不能事先存在。SID 很有用,例如,如果要編寫 SQL Server 登錄腳本,或要將 SQL Server 登錄從一臺服務(wù)器移動到另一臺,并且希望登錄在服務(wù)器間具有相同的 SID 時。

[@encryptopt =] 'encryption_option'
指定當(dāng)密碼存儲在系統(tǒng)表中時,密碼是否要加密。encryption_option 的數(shù)據(jù)類型為 varchar(20),可以是下列值之一。
值?????描述
------------------- ------------------------------------------------------------
NULL????加密密碼。這是默認(rèn)設(shè)置。
skip_encryption??密碼已加密。SQL Server 應(yīng)該存儲值而且不用重新對其加密。
skip_encryption_old?已提供的密碼由 SQL Server 較早版本加密。SQL Server 應(yīng)該存儲值而且不用重新對其加密。此選項只供升級使用。


▲▲二、SP_GRANTDBACCESS
為 Microsoft SQL Server 登錄或 Microsoft Windows NT 用戶或組在當(dāng)前數(shù)據(jù)庫中添加一個安全帳戶,并使其能夠被授予在數(shù)據(jù)庫中執(zhí)行活動的權(quán)限。

語法:
sp_grantdbaccess [@loginame =] 'login'
??? [,[@name_in_db =] 'name_in_db' [OUTPUT]]

參數(shù):
[@loginame =] 'login'
當(dāng)前數(shù)據(jù)庫中新安全帳戶的登錄名稱。Windows NT 組和用戶必須用 Windows NT 域名限定,格式為"域\用戶",例如 LONDON\Joeb。登錄不能使用數(shù)據(jù)庫中已有的帳戶作為別名。login 的數(shù)據(jù)類型為 sysname,沒有默認(rèn)值。

[@name_in_db =] 'name_in_db' [OUTPUT]
數(shù)據(jù)庫中帳戶的名稱。name_in_db 是 sysname 類型的 OUTPUT 變量,默認(rèn)值為 NULL。如果沒有指定,則使用 login。如果將其指定為 NULL 值的 OUTPUT 變量,則設(shè)置 @name_in_db 為 login。當(dāng)前數(shù)據(jù)庫不必存在 name_in_db。


▲▲三、SP_DROPLOGIN
刪除 Microsoft SQL Server 登錄,以阻止使用該登錄名訪問 SQL Server。

語法
sp_droplogin [ @loginame = ] 'login'

參數(shù)
[@loginame =] 'login'
將被刪除的登錄。login 的數(shù)據(jù)類型為 sysname,沒有默認(rèn)值。login 必須已經(jīng)存在于 SQL Server 中。


▲▲四、SP_REVOKEDBACCESS
從當(dāng)前數(shù)據(jù)庫中刪除安全帳戶。

語法
sp_revokedbaccess [ @name_in_db = ] 'name'

參數(shù)
[@name_in_db =] 'name'
是要刪除的帳戶名。name 的數(shù)據(jù)類型為 sysname,無默認(rèn)值。name 可以是 Microsoft? SQL Server? 用戶名或 Microsoft Windows NT? 用戶名或組名,而且必須存在于當(dāng)前數(shù)據(jù)庫中。當(dāng)指定 Windows NT 用戶或組時,請指定該 Windows NT 用戶或組在數(shù)據(jù)庫中可被識別的名稱(即用 sp_grantdbaccess 添加的名稱)。


▲▲五、GRANT
在安全系統(tǒng)中創(chuàng)建項目,使當(dāng)前數(shù)據(jù)庫中的用戶得以處理當(dāng)前數(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
刪除以前在當(dāng)前數(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 類型,其默認(rèn)值為 NULL。

[@new =] 'new_password'
是新密碼。new_password 為 sysname 類型,無默認(rèn)值。如果沒有使用命名參數(shù),就必須指定 old_password。

[@loginame =] 'login'
是受密碼更改影響的登錄名。login 為 sysname 類型,其默認(rèn)值為 NULL。login 必須已經(jīng)存在,并且只能由 sysadmin 固定服務(wù)器角色的成員指定。


=============================================================================
應(yīng)用實例:

--添加
--添加用戶:
exec sp_addlogin '用戶名','密碼','默認(rèn)數(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 '用戶名'


--示例2

--創(chuàng)建僅對某個數(shù)據(jù)庫具有所有權(quán)限的用戶
--切換到你新增的用戶要控制的數(shù)據(jù)庫
use 你的庫名
go

--新增用戶
exec sp_addlogin 'test'?--添加登錄
exec sp_grantdbaccess N'test'?--使其成為當(dāng)前數(shù)據(jù)庫的合法用戶
exec sp_addrolemember N'db_owner', N'test'?--授予對自己數(shù)據(jù)庫的所有權(quán)限

--這樣創(chuàng)建的用戶就只能訪問自己的數(shù)據(jù)庫,及數(shù)據(jù)庫中包含了guest用戶的公共表
go

--刪除測試用戶
exec sp_revokedbaccess N'test'?--移除對數(shù)據(jù)庫的訪問權(quán)限
exec sp_droplogin N'test'?--刪除登錄

編程管理SQL SERVER的帳號.sql


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲影院一区 | 精品久久亚洲 | 婷婷激情电影 | 国产精品影视 | av影音资源 | 欧美精品一区二区三区四区 | 欧美猛妇色xxxxxbbbb | 啪啪大片| 久久国产精品免费一区二区三区 | 久久国产婷婷国产香蕉 | 午夜爽爽性刺激一区二区视频 | 夜夜爽日日澡人人 | 97精品久久| 亚洲午夜在线 | 黄色视频a级毛片 | 亚洲综合色视频在线观看 | 欧美日韩免费在线观看视频 | 九九爱精品 | 中文线码中文高清播放中 | 久久成人一区二区 | 79thz.com | 欧美aaaaaaaaa| 欧美屁股| 很黄很粗很湿很刺激的视频 | 女猛烈无遮挡性视频免费 | 今井夏帆av一区二区 | 亚洲国产成人精品女人 | 狠狠干2020 | 精品欧美一区二区在线观看欧美熟 | 天天操夜夜艹 | 一区二区日韩 | 亚洲一区二区av | 久久这里只有精品视频9 | 久久精品二 | 国产亚洲精品xxx | 色综合激情 | 国产在线综合一区二区三区 | 亚洲欧美国产日产综合不卡 | 亚洲成人精品在线 | 欧美大片在线看免费观看 | 国产网站在线播放 |