在SQL Server中,數(shù)據(jù)庫(kù)架構(gòu)簡(jiǎn)化安全管理。模式有助于確定誰(shuí)可以訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)對(duì)象。
數(shù)據(jù)庫(kù)模式也可以作為一個(gè)命名空間。這可以防止來(lái)自不同模式的對(duì)象名稱(chēng)沖突。
什么是數(shù)據(jù)庫(kù)模式?
數(shù)據(jù)庫(kù)模式是一種邏輯分組對(duì)象,如表,視圖,存儲(chǔ)過(guò)程等。想想一個(gè)模式作為對(duì)象的容器。
可以指定一個(gè)用戶(hù)登錄權(quán)限的單一模式,以便用戶(hù)只能訪(fǎng)問(wèn)他們被授權(quán)訪(fǎng)問(wèn)的對(duì)象。
模式可以創(chuàng)建和改變?cè)跀?shù)據(jù)庫(kù)中,并且用戶(hù)可以被允許訪(fǎng)問(wèn)的模式。 一個(gè)模式可以被任何用戶(hù)所擁有,并且架構(gòu)所有權(quán)轉(zhuǎn)讓。
創(chuàng)建數(shù)據(jù)庫(kù)模式
要?jiǎng)?chuàng)建在SQL Server 2014數(shù)據(jù)庫(kù)模式:
-
從對(duì)象資源管理器,瀏覽到安全性和打開(kāi)模式節(jié)點(diǎn)。
-
右鍵單擊架構(gòu)并選擇新建模式....就像這樣:

-
完成常規(guī)選項(xiàng)卡的詳細(xì)信息的新模式。在這個(gè)例子中,模式名稱(chēng)就是維護(hù)和架構(gòu)所有者的db_owner(也可以使用搜索功能找到一個(gè)所有者)。

-
點(diǎn)擊權(quán)限將用戶(hù)添加到架構(gòu)
-
要添加用戶(hù),使用搜索...按鈕,然后瀏覽...:

-
選擇用戶(hù)并單擊OK:

-
當(dāng)用戶(hù)被添加,設(shè)置他們的權(quán)限。在我的例子,我授予Zoidberg用戶(hù)更改,刪除,插入,選擇和更新權(quán)限:

-
通過(guò)擴(kuò)展屬性選項(xiàng)卡中添加任何擴(kuò)展屬性(我保留這個(gè)空白)
-
點(diǎn)擊OK.
添加一個(gè)表的新模式
現(xiàn)在我們有一個(gè)新的模式,我們可以添加對(duì)象,如表,視圖和存儲(chǔ)過(guò)程。例如,我們可以轉(zhuǎn)移,我們?cè)谇懊娴慕逃?xùn),以新的模式中創(chuàng)建一個(gè)或多個(gè)表。
當(dāng)我們創(chuàng)建了一個(gè)表(稱(chēng)為“Tasks”),它在默認(rèn)數(shù)據(jù)庫(kù)模式(“dbo”)建立。我們知道這是因?yàn)樗霈F(xiàn)在我們的對(duì)象瀏覽器為dbo.Tasks。
將“Tasks”表轉(zhuǎn)移到“Maintenance”模式,做到以下幾點(diǎn):
-
在對(duì)象資源管理器中,請(qǐng)確保正在使用的數(shù)據(jù)庫(kù)TaskTracker,然后用鼠標(biāo)右鍵單擊任務(wù)表并選擇設(shè)計(jì):

-
從設(shè)計(jì)視圖,屬性窗口應(yīng)該出現(xiàn)在右側(cè)。如果沒(méi)有,按F4鍵顯示屬性窗口。
-
從屬性窗口,更改架構(gòu)到所需的模式:

-
可能會(huì)說(shuō)稱(chēng)更改此對(duì)象的模式將導(dǎo)致目前所有的權(quán)限警告被丟棄。你確定要繼續(xù)?點(diǎn)擊OK繼續(xù)。
-
通過(guò)右鍵關(guān)閉設(shè)計(jì)視圖點(diǎn)擊選項(xiàng)卡上的x。
-
當(dāng)提示保存,單擊"Ok"
你的表已經(jīng)被轉(zhuǎn)移到了“Maintenance”模式。
確認(rèn)更改
確認(rèn)更改:
-
刷新通過(guò)右鍵單擊對(duì)象資源管理器上的表,然后單擊刷新。
-
現(xiàn)在,您將看到對(duì)象資源管理器顯示新的模式表(即Maintenance.Tasks):
