Sql Server每日一練 資料庫的角色

2021-05-23 02:24:38 字數 1130 閱讀 1586

在sql server 中,角色是乙個新概念。使用資料庫角色有什麼意義呢?

我們新增了7個固定的伺服器角色和9個固定的資料庫角色。伺服器角色是分散系統管理員工作的乙個辦法。在sql server 6.5和更早的版本中,有乙個叫做「sa」的帳號,這個帳號可以在資料庫伺服器上做任何事情。在那時,你可以有10個windows nt使用者被對映成「sa」,這意味著這10個使用者都可以在任何時間做任何事情,然而伺服器審計工具只會記錄成「sa」的操作。你沒有任何辦法來確認到底是誰做了什麼操作。

sql server 7.0改進了這一點。不是像以前那樣使「sa」具有所有的特權,許可權是通過角色成員來獲得的。我們還把系統管理員的特權劃分成了多個角色。例如,為了在sql server 7.0中讓某人獲得系統管理員許可權,你只需要把他加入到「sysadmin」這個固定伺服器角色中即可。

還有其它角色,例如「dbcreator」是用來建立和更改資料庫的;「securityadmin」是用來增加新的登入或者重置預設資料庫的。「sa」登入仍然存在,是為了保持向後相容性。 但該許可權是通過成為「sysadmin」角色中的成員來獲得的。伺服器的審計追蹤功能將根據你的windows nt或者sql server登入名來跟蹤所做的改變,而不管分配給該帳號的安全特權。

在單個資料庫這一級別上情況也非常相似。在以前版本中,人們會把自己化名為「dbo」來獲得對資料庫的所有許可權。現在使用者可以被分配成「db_owner」角色,同樣可以擁有對單個資料庫的完全控制許可權。而且,還有更具體的角色,比如「db_acessadmin」用來控制對資料庫的訪問,「db_securityadmin」用來給予其他使用者訪問許可權,「db_backupoperator」用於備份資料。我們還增加了使用者自定義的和應用程式角色,而且允許使用者可以同時成為多個資料庫角色的成員。

應用程式角色是如何工作的?

可能解釋應用程式角色的最好方式是在實際情況中說明。比方說你想做乙個職工工資單的應用程式,可以允許使用者更新工資。當然你不希望允許使用者簡單地登入到sql server中然後更改工資。如果雇員能夠那樣做的話,他就可能試圖去更改他自己的工資了。更合適的方法是使用乙個工資單應用程式,它能夠執行特定的安全檢查,例如,不允許使用者更新他們自己的工資。

一旦啟動了應用程式角色,使用者現有的許可權被關閉,應用程式角色的安全許可權被相應開啟。你的應用程式現在就可以使用應用程式角色來執行修改資料庫的操作了。

每日一練4

員工表emp 員工編號eid,姓名ename,工作職位title,僱傭日期hiretime,工資salary,獎金bonus,部門depart 部門表dept 部門編號did,名稱dname,部門領導leader 員工資料 1001,張三 銷售 1999 12 1 3000.0,1100.0,102...

每日一練25

請描述 mysql 從安裝到配置的全部詳細過程 確保一台新電腦可以順利使用 mysql mysql安裝嚮導啟動,按 next 繼續 選擇安裝型別,有 typical 預設 complete 完全 custom 使用者自定義 三個選項,我們選擇 custom 有更多的選項,也方便熟悉安裝過程 選擇配置...

每日一練 13

談談你對ajax 的理解?概念 特點 作用 select 教師號,sum case when 星期號 1 and 是否有課 有 then 1 else 0 end as 星期一,sum case when 星期號 2 and 是否有課 有 then 1 else 0 end as 星期二,sum c...