數(shù)據(jù)庫管理系統(tǒng)的登錄名、角色
來源:塔塔 更新時間:2014-06-10
概述
之前的一篇博客中寫到過關(guān)于服務(wù)器登錄名,服務(wù)器角色,數(shù)據(jù)庫用戶,數(shù)據(jù)庫角色的關(guān)系,理論的一些知識,大家可以看看這篇博客:登錄名,服務(wù)器角色,用戶名和數(shù)據(jù)庫角色。本片博客注重操作。
數(shù)據(jù)庫架構(gòu)
在具體的操作時,先普及一下數(shù)據(jù)庫架構(gòu)的知識,這里需要注意一下,這里說的數(shù)據(jù)庫架構(gòu)不是針對數(shù)據(jù)庫的拓撲結(jié)構(gòu)來說的,而是針對數(shù)據(jù)庫管理系統(tǒng)中,針對數(shù)據(jù)庫的一個功能。
舉例說架構(gòu)和架構(gòu)的好處,數(shù)據(jù)庫為一座樓,那么架構(gòu)就是一層樓,一層樓中的房子就是表,由表產(chǎn)生的存儲過程,觸發(fā)器等等也都屬于這個架構(gòu),將一層樓租給多人去住,這些人在這層樓房里隨便折騰,但是,這些人走后,他折騰的東西不需要改變,后來人可以再次基礎(chǔ)上接著折騰,因為前人折騰出來的東西都屬于這個架構(gòu),東西屬于架構(gòu)不是屬于人,所以,人走了之后,東西不需要再進行相應(yīng)的改變。
框架:存放數(shù)據(jù)庫對象的一個容器,框架里面的對象必須是唯一的,不同框架的對象的名稱可以相同,一個數(shù)據(jù)庫有多個框架。在之前(sql 2000)的數(shù)據(jù)庫對象訪問時,采用的是服務(wù)器名.數(shù)據(jù)庫名.用戶名.表名稱,之后的數(shù)據(jù)庫訪問方式是這樣的,服務(wù)器名.數(shù)據(jù)庫名.框架名.表名稱,這樣做的好處就是,某個用戶辭職不干了,我就可以直接刪除這個用戶就行了,但是,之前是不行的,因為數(shù)據(jù)庫對象是通過用戶名查找的,這樣的一個修改是非常麻煩的。當然框架的作用不僅僅如此,如:框架限制了用戶對數(shù)據(jù)庫其它框架表的訪問。好了,理論方面的東西到此結(jié)束,下面開始實戰(zhàn)。
創(chuàng)建數(shù)據(jù)庫系統(tǒng)登錄名
創(chuàng)建3個系統(tǒng)登錄名,分別為Student、Teacher和Person,具體操作如下圖
創(chuàng)建數(shù)據(jù)庫
create database DataBaseName
go
|
創(chuàng)建數(shù)據(jù)庫架構(gòu)
創(chuàng)建3個架構(gòu),架構(gòu)的名字分別為:Teacher_KJ、Student_KJ和Person_KJ,具體操作如下圖
創(chuàng)建數(shù)據(jù)庫角色
創(chuàng)建2個數(shù)據(jù)庫角色,角色名字分別為:Teacher_JS和Student_JS,分別對象上面的架構(gòu)名稱,具體對應(yīng)一看就可以看出,如:Teacher_JS對應(yīng)Teacher_KJ,具體操作如下圖
創(chuàng)建數(shù)據(jù)庫用戶
創(chuàng)建3個用戶,分別為Teacher_User、Student_User和Person_User,其中Teacher_User和Student_User的屬于角色,沒有具體的架構(gòu),Person_User不屬于創(chuàng)建的角色,擁有Person_KJ,具體操作如下圖
創(chuàng)建相應(yīng)架構(gòu)下的表
use DataBaseName
go
create table [Teacher_KJ].TableName1
(
id int primary key,
name varchar not null
)
go
create table [Student_KJ].TableName1
(
id int primary key,
name varchar not null
)
go
create table [Person_KJ].TableName1
(
id int primary key,
name varchar not null
)
go
create table TableName1
(
id int primary key,
name varchar(20) not null
)
|
最終結(jié)果
有圖有真相,下圖為最終的結(jié)果圖
總結(jié)
下面是一張總結(jié)圖,不是本人畫的,但是非常的經(jīng)典,所以就直接拿來用了
Sql Server的功能非常的強大,例如,可以通過SQL Agent服務(wù),也就是代理服務(wù)器進行很多其他事情的操作,例如:作業(yè),維護計劃,發(fā)送郵件等等,當然,在進行這些之前最好對數(shù)據(jù)庫進行過備份和還原(完全備份,差異備份,日志備份)操作,因為SQL Agent服務(wù)的一個功能就是實現(xiàn)備份和還原的自動化。