B o m t SQL
L i nói đ u
SQL Server 7.0 ra đ i 1 b c nh y v t công ngh CSDL so v i CSDL SQL Server ướ
6.5, SQL Server 2000 ra đ i không ng ng cung c p cho ng i dùng nh ng công c ườ
nh ng đ c đi m m i phiên b n 7.0 còn thi u sót. ế
Ngoài nh ng đ c tính kh c ph c thi u sót c a SQL Server 7.0, phiên b n SQL Server ế
2000 còn thay đ i 1 s c c di n khác trong các ch c năng l p trình cũng gi ng nh ư
trong quan h và ràng bu c d li u.
Ngoài ra SQL Server 2000 còn cung c p 1 s công c h tr khác nh Phân tích x ư
tr c tuy n (OLAP), chuy n tác tr c tuy n (OLPT), English Query… ế ế
Tìm hi u v SQL Server 1 m ng đ tài r ng, bao g m k năng l p trình, k thu t
ng d ng SQL vào ng d ng th c ti n, các hình CSDL, thu t m i c a SQL
Server 2000, qu n tr CSDL, b o m t…. Trong ph m vi đ tài này ch tìm hi u v b o
m t trong SQL Server.
Tr n Kỳ Page 1 6/17/11
M c l c
L i nói đ u 1
M c l c 2
1. Gi i thi u 3
1.1. Khái niêm c b n v b o m tơ 3
1.2. Gi i thi u chung v b o m t trong SQL Server
4
2.Qu n lí vi c đăng nh p 4
2.1.Xác nh n vi c đăng nh p
4
2.2.S xác nh n quy n 5
2.3.T o 1 đăng nh p 5
3.Qu n lí ng i dùng ườ 9
3.1Ng i dùng c a SQL Serverườ 9
3.2.M i quan h gi a ng i dùng CSDL và tên đăng nh p ườ 10
3.3.Qu n lí tên ng i dùng và tên đăng nh p ườ
10
4.Quy n ng i dùng (User Right) ườ 10
4.1.C p phát quy n truy c p vào c s d li u ơ 10
4.2.C p phát quy n th c thi trên c s d li u ơ 13
5.Quy n t o đ i t ng trong CSDL ư 14
5.1.S d ng th t c 14
5.2.S d ng trình đi u khi n EM 15
6.Qu n lí vai t17
6.1.Vai trò trên CSDL 18
6.2.Vai trò trên server 19
6.3.S d ng các th t c khai báo 1 vai trò 19
6.4.Thêm 1 thành viên vào vai trò 20
7.Đ i t ng CSDL và quy n v i đ i t ng ượ ượ 21
7.1.Đ i t ng CSDL và ch đ i t ng ượ ượ 21
7.2.Quy n v i đ i t ng CSDL ượ 22
7.3.Th a nh n và lo i b quy n v i 1 đ i t ng ượ 22
8. M t s b o m t khác 29
8.1. Tài kho n Guest (Guest Account)29
8.2. C u hình c ng TCP/IP 29
8.3. Không nên s d ng tài kho n sa
30
B o m t SQL
1.Gi i thi u:
SQL Server là 1 h th ng qu n lí c s d li u (RDBMS) hay còn đ c g i là ơ ượ
relational database management system. RDBMS là 1 trong nh ng mô hính c s d ơ
li u quan h thong d ng hi n nay.
S d ng RDBMS System nh là cách th c c b n đ l u tr d li u cho h u h t các ư ơ ư ế
ng d ng hi n nay. Tuy còn nh ng mô hình khác ,nh ng trong ph m vi đ tài ch t p ư
trung vao` RDBMS và đ c bi t ch xoay quanh v n đ b o m t c a SQL Server.
M t c s d li u trong 1 t ch c hay trong 1 doanh nghi p có th chúa đ ng nh ng ơ
d li u hêt s c quan tr ng mang tính s ng còn. Chính vì th mà b o m t d li u tr ế
thành 1 v n đ r t quan tr ng. M t h th ng DBMS hay RDBMS c n ph i h tr
nh ng kĩ thu t và ph ng ti n đ b o m t d li u. Trong đ tài này s t p trung vào ươ
các chính sách b o m t c a SQL Server và th o lu n 1 cách chi ti t b o m t đ c ế ượ
cung c p nh th nào trong SQL Server. ư ế
1.1.Khái ni m c b n v b o m t ơ
B o m t có r t nhi u khái ni m, cho phép ng i qu n tr CSDL t ra quy t đ nh cho ườ ế
phép hay không cho phép ng i dùng truy c p và thao tác trên CSDL sao cho có hi uườ
qu b o m t t t nh t. D i 1 góc đ nào đó, ng i qu n tr d a trên n n t ng lí ướ ườ
thuy t b o m t c a h CSDL đa ng i dùng nh m tìm ra nh ng ph ng pháp b oế ườ ươ
m t theo đúng v i nhu c u c a đ b o m t d li u.
V i m c đích tăng tính b o m t d li u, SQL Server 2000 h tr các tính năng cho
phép nhà qu n tr thi t l p c ch b o v CSDL trong môi tr ng đa ng i dùng, bao ế ế ườ ườ
g m các y u t chính sau: ế
- Vai trò c a ng i dùng trong h th ng và CSDL ườ
- Quy n s d ng các ng d ng CSDL trong SQL Server
- Quy n t o và s a đ i c u trúc các đ i t ng CSDL ượ
- Quy n truy c p, x lí d li u
Khi đăng nh p vào 1 h th ng CSDL đa ng i dùng, ng i s d ng c n ph i cung ườ ướ
c p UserID và Password. D a trên UserID h th ng có kh năng ki m soát tát c các
hành vi c a ng i s d ng trên CSDL SQL Server 2000. ườ
Đ làm đ c ch c năng này, ng i qu n tr CSDL c n ph i thi t l p các quy n x ượ ườ ế
và truy c p vào CSDL khhi t o ra UserID này, ngoài ra còn 1 s thu c tính khác c a
Tr n Kỳ Page 3 6/17/11
SQL Server nh quy n bakup d li u, trao đ i d li u v i các ng d ng CSDLư
khác…
Khi nói đ n b o m t, ta c n quan tâm d n tên tài kho n, m t kh u, chi u dài, th iế ế
gian có hi u l c… nh sau: ư
- M t ng i s d ng ch có 1 UserID và 1 Password. ườ
- Th i gian có hi u l c c a m t kh u.
- Chi u dài c a m kh u có gi i h n <= 36.
- Gi i h n ng i s d ng theo license hay m r ng. ườ
- Thông tin v ng i s d ng. ườ
Khi t o ng i s d ng, tên tài kho n c n rõ ràng, d hi u d g i nh , không cho phép ườ
các kí t đ c bi t, không nên có kho ng tr ng, đi u này d gây khó khăn sau này.
1.2.Gi i thi u chung v b o m t trong SQL Server:
B o m t trong SQL Server có th đ c mô t thông qua mô hình 3 t ng d i đây: ượ ướ
T ng ngoài cùng đòi h i 1 tài kho n NT ho c nhóm b o m t đ có th truy c p SQL
Server thông qua vi c dăng nh p vào server. T ng k ti p là đi u ki n đ có th s ế ế
d ng 1 hay nhi u CSDL. T ng trong cùng là đi u ki n đ có th th c hi n nh ng phát
bi u v i nh ng đ i t ng CSDL đ c b o v . ượ ượ
2.Qu n lí vi c đăng nh p:
SQL Server xác nh n ng i dùng qua 2 c p: ườ
- Xác nh n vi c đăng nh p
- Xác nh n quy n đ i v i CSDL
SQL Server c n xác nh n 1 ng i dùng tr c khi ng i đó có th truy c p vào CSDL. ườ ướ ườ
Trong SQL Server m i ng i dùng đ c c p cho 1 tài kho n riêng bi t đ c g i là tài ườ ượ ượ
kho n đăng nh p ( Login Account). M i ng i dùng t ng tác v i SQL Server s ườ ươ
d ng tài kho n này. Xác nh n(authentication) s ki m tra ng i dùng đang s d ng tài ườ
kho n đăng nh p và c p ra quy n k t nôi v i SQL Server. N u s xác nh n không ế ế
thành công,ng i dùng không th k t n i v i SQL Serverườ ế
2.1.Xác nh n vi c đăng nh p:
M t ng i dùng c n ph i có tài kho n đăng nh p đ k t n i v i SQL Server. SQL ườ ế
Server có 3 cách đ xác nh n, m i cách có 1 lo i tài kho n đăng nh p khác nhau:
-SQL Server Authentication: khi s d ng SQL Server authentication, 1 ng i ườ
qu n lí c a SQL Server đ nh nghĩa 1 tài kho n đăng nh p và mã cho 1 SQL
B o m t SQL
Server. Nh ng ng i dùng c n ph i đ a ra c tài kho n và mã d k t n i v i ườ ư ế
SQL Server.
-Windows NT Authentication : Khi 1 ng i dùng k t n i v i SQL Server sườ ế
d ng Windows NT authentication, SQL Server ki m l i v i Windows NT xem
tài kho n và mã đã đúng ch a.N u đúng thì ng i dùng có th k t nôi v i SQL ư ế ư ế
Server.
-Mixed Mode Authentication: Ng i dùng có th s d ng 1 trong 2 lo i trên.ườ
2.2.S xác nh n quy n:
Trong m i CSDL, quy n đ c gán cho tài kho n c a ng i dùng và các vai trò đ c ượ ườ ượ
t o ra đ th c hi n ( ho c ngăn c m) nh ng hành đ ng c th . SQL Server ch p nh n
các l nh sau khi ng i dùng đã truy c p thành công t i CSDL. ườ
SQL Server th c hi n các b c sau trong khi xác nh n quy n: ướ
1. Khi ng i dùng th c hi n 1 hành đ ng, ví d nh th c hi n 1 câu l nh T-ườ ư
SQL,câu l nh này đ c chuy n t i SQL Server ượ
2. Khi SQL Server nh n đ c câu l nh, nó ki m tra em ng i dùng có quy n th c ượ ườ
hi n câu l nh hay không.
3. Sau đó, SQL Server th c hi n 1 trong 2 hành đ ng sau:
- N u ng i dùng có quy n, SQL Server th c hi n câu l nh.ế ườ
- N u ng i dùng không có quy n, SQL Server báo l i.ế ườ
S d ng Enterprise Manager, ta có th ch n ki u xác nh n nh là Windows ư
Authentication và Mixed mode authentication
2.3.T o 1 đăng nh p:
S d ng Enterprise Manager ta có th qu n lí vi c đăng nh p b ng vi c s d ng
Create Login Wizard cung c p b i SQL Server Enterprise Manager. Quá trình(Wizard)
này cung c p 1 s h ng d n t ng b c hoàn ch nh đ t o các đăng nh p 1 cách d ướ ướ
dàng và hi u qu .
Bên c nh đó ta cũng có th s d ng các th t c th ng trú( stored procedures) đ t o ườ
hay xóa các đăng nh p.
Đ t o 1 đăng nh p, ta có th s d ng câu l nh sau:
EXEC sp_addlogin
[@login=]<’login’>
[,@password=]<’password’>]
[,[@defdb=]<’database’>]
[,[@deflanguage=]<’language’>]
[,[@sid=] ‘sid’ ]
[,[@encriptopt=]<’encription_option’>]
Tr n Kỳ Page 5 6/17/11