You are on page 1of 13

TI LIU THC HNH MN C S D LIU NNG CAO

Mc lc
Index ....................................................................................................................................................................2
Ti liu tham kho ...........................................................................................................................................2
Cng c ............................................................................................................................................................2
Ni dung ..........................................................................................................................................................2
C php to index........................................................................................................................................2
C php chnh sa index .............................................................................................................................2
p t tnh duy nht trn ct khng kha ..................................................................................................3
To composite index ...................................................................................................................................4
Thit lp ch mc tng dn gim dn........................................................................................................4
Xem cc ch mc thit lp.......................................................................................................................4
V hiu ha mt index ................................................................................................................................5
Xa index .....................................................................................................................................................5
Thay i index tn ti vi DROP_EXISTING ............................................................................................5
Transaction ..........................................................................................................................................................6
Autocommit Transaction .................................................................................................................................6
Implicit Transaction .........................................................................................................................................7
Explicit Transaction .........................................................................................................................................7
Sao lu v phc hi d liu .................................................................................................................................9
Cc loi backup ................................................................................................................................................9
Thc hin sao lu c s d liu ......................................................................................................................9
Phc hi d liu............................................................................................................................................ 11

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Index
Ti liu tham kho

SQL Server 2005 T SQL Recipes, Apress 2008 (Chapter 5)

Cng c

MS SQL Server 2005 Enterprise

AdventureWorks Database

Ni dung
C php to index
to index trong MS SQL Server 2005 ta s dng cu lnh sau:

Tham s:

[UNIQUE]: m bo tnh duy nht trn ct khng kha.

[CLUSTERED | NONCLUSTERED]: Kiu ca index (Chi tit tham kho Indexes Overview Trang 155
SQL Server 2005 T SQL Recipes).

Index_name: Tn ca index

table_or_view_name: Tn bng hoc view cn to index

[ASC | DESC]: Ch nh th t sp xp ca ct nh index, ASC th t tng dn, DESC th t


gim dn

C php chnh sa index


chnh sa mt index tn ti ta dng cu lnh:

V d
Xem xt c s d liu AdventureWorks vi bng Department: http://msdn.microsoft.com/enus/library/ms124543%28v=sql.100%29.aspx

FIT VMU | Index

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

To mi bng TerminationReason:

Khi mt kha chnh c to ra trn mt ct s dng cu lnh CREATE TABLE hoc ALTER TABLE th mt
index cng c to ra. V d mt Clustered Index c to ra trn ct TerminationReasonID khi lnh sau
c thc thi:

to NonClustered Index trn ct DepartmentID ta s dng cu lnh:

p t tnh duy nht trn ct khng kha


p t tnh duy nht trn ct khng kha ta s dng t kha UNIQUE. V d sau s to index trn ct
TerminationReason trong bng HumanResource.TerminationReason:

kim tra kt qu, thm hai bn ghi sau:

FIT VMU | Index

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Sau thc hin thm bn ghi vi ct TerminationReason c gi tr l Bad Engineering Skills:

Thng bo li xut hin:

Nh vy, mt unique index c to ra m bo khng c hai hng bt kz c gi tr trng nhau trn ct


TerminationReason.
To composite index
Composite index l loi index c thit lp trn nhiu ct. Ta s dng composite index khi nhiu ct
thng xuyn xut hin trong iu kin tm kim ca cc truy vn. Gi s TerminationReason v
DepartmentID thng xuyn xut hin trong mnh WHERE ca cu lnh SELECT. Nh vy ta s to ra
mt NONCLUSTERED INDEX tng tc thc hin cc truy vn :

Thit lp ch mc tng dn gim dn


Mc nh khi to ra ch mc s l tng dn. thit lp ch mc l tng dn hay gim dn ta thm la chn
sau trong c php to ch mc:

V d, s dng cu lnh sau thm ct ViolationSeverityLevel kiu smallint:

Sau s dng cu lnh sau to ch mc gim dn trn ct ViolationSeverityLevel:

Xem cc ch mc thit lp
xem thng tin v cc ch mc c thit lp trn mt bng, ta s dng th tc sp_helpindex vi tham
s l tn bng cn xem ch mc. V d mun xem thng tin v cc ch mc thit lp trn bng Employee
ta s dng c php sau:

FIT VMU | Index

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Kt qu nh sau:

V hiu ha mt index
v hiu ha mt index ta s dng c php:

V d mun v hiu ha index UNI_TerminationReason trn bng TerminationReason ta s dng cu lnh


sau:

Xa index
T kha DISABLE cho php v hiu ha index nhng index vn cn trong c s d liu. xa hn index
khi c s d liu ta s dng cu lnh DROP INDEX vi c php nh sau:

V d mun xa index UNI_TerminationReason khi c s d liu ta s dng cu lnh sau:

Thay i index tn ti vi DROP_EXISTING


La chn DROP_EXISTING cho php xa v to li index trong cng mt cu lnh. La chn ny hu ch khi
mun thay i cc ct thit lp bi ch mc. Cu lnh ALTER INDEX c th c s dng thay i, dch
li, t chc li hay v hiu ha ch mc nhng khng s dng thm, xa cc ct thit lp bi ch mc.
Hn na, khi s dng DROP_EXISTING thay i mt clustered index s khng lm cc nonclustered index
hin c t ng dch li. V d sau to nonclustered index NCI_TerminationReason_DepartmentID:

FIT VMU | Index

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Sau mun thm ct ViolationSeverityLevel vo NCI_TerminationReason_DepartmentID ta s dng cu


lnh sau:

Transaction
Trong phn ny ta tm hiu ba kiu transaction: autocommit, explicit v implicit.

Autocommit Transaction
Autocommit transaction l kiu mc nh trong SQL Server 2005 cho php mi cu lnh SQL c t trong
mt transation ring v t ng commit khi cu lnh kt thc. Gi s ta c hai cu lnh INSERT, cu lnh th
nht b li, cu lnh th hai thc hin thnh cng th thay i do cu lnh th hai to ra vn c lu li.
V d: Xt bng NonClusteredTable(ID, Name) c mt unique clustered vi tn index_id2 v d liu hin
c trn bng nh sau:

Nh vy khi thc hin hai cu lnh sau cng lc ta thy cu lnh th nht b li do rng buc unique trn
index_id2 nhng cu lnh th hai vn c thc hin thnh cng:
INSERT INTO NonClusteredTable VALUES('1','So mot')
UPDATE NonClusteredTable SET Name='SO MOT' WHERE ID='1'
Kt qu:

FIT VMU | Transaction

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Implicit Transaction
y l kiu transaction n, c thit lp thng qua cu lnh:

Khi Implicit_Transactions c thit lp l ON th cc cu lnh sau s t ng bt u mt transaction:

SELECT, INSERT, UPDATE, DELETE

ALTER TABLE

TRUNCATE TABLE

OPEN, FETCH

GRANT, REVOKE

V kt thc transaction th cui transaction phi c cu lnh COMMIT hoc ROLLBACK, nu khng cc
thay i do transaction to ra s khng c lu li khi ngt kt ni.
V d: Xt li bng NonClusteredTable(ID, Name) vi d liu hin c trn bng nh sau:

Trc ht ta thit t ch Implicit Transaction l ON:


SET IMPLICIT_TRANSACTIONS ON
Sau thc hin hai cu lnh cp nht:
UPDATE NonClusteredTable SET Name='SO HAI' WHERE ID='2'
UPDATE NonClusteredTable SET Name='SO BA' WHERE ID='3'
Sau ta ngt kt ni v kt ni tr li th thy s thay i do hai cu lnh trn to ra khng c lu li.
S dng lnh COMMIT hoc ROLLBACK hon tt transaction:
{COMMIT | ROLLBACK} TRANSACTION Transaction_Name

Explicit Transaction
y l kiu transaction do ngi dng t nh ngha thng qua cc cu lnh: BEGIN TRANSACTION,
ROLLBACK TRANSACTION, COMMIT TRANSACTION, BEGIN DISTRIBUTED TRANSACTION, SAVE
TRANSACTION, @@TRANCOUNT
V d sau s dng Explicit Transaction hon tt hoc hy b nhng thay i do transaction to ra ty
thuc vo li tr v trong mt khi lnh:
FIT VMU | Transaction

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Kt qu nh sau:

FIT VMU | Transaction

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Sao lu v phc hi d liu


Cc loi backup
Microsoft SQL Server 2005 c 3 la chn backup d liu: full, transaction log v differential backup.
Full backup cho php to mt bn sao lu ton b c s d liu. Khi thc hin full backup khng cn phi
offline c s d liu nhng li tn thi gian v ti nguyn ca h thng c bit khi kch thc c s d liu
ln.
Differential backup l mt la chn khc cho php gim thi gian v khng gian lu tr khi tin hnh
backup. Differential backup ch sao lu nhng thay i d liu t ln full backup gn nht. Do vy la chn
ny thng s dng i km vi full backup.
Trong qu trnh hot ng, mi thay i u c SQL Server lu trong transaction log. Transaction log
backup cho php sao lu cc transaction trong file log vo thit b lu tr, khi SQL Server s xa cc
transaction khi file log.
V d v mt k hoch sao lu d liu: Mt DBA thc hin full backup vo buii ti th 6 v different backup
vo cc bui ti t th 2 n th 5 v transaction log backup mi gi mt ln. Gi s s c xy ra vo 9h:05
ngy th 4, DBA s tin hnh khi phc d liu nh sau: Dng bn full backup khi phc d liu v ti
ngy th 6. Sau dng bn differential backup a c s d liu v trng thi ti th 3. Cui cng s
dng transaction log backup a c s d liu v thi im 9h sng th 4.

Thc hin sao lu c s d liu


thc hin sao lu c s d liu ta thc hin theo cc bc sau:

Bt MS SQL Server

Click chut phi vo c s d liu cn sao lu

Chn phn Task

Chn Backup

FIT VMU | Sao lu v phc hi d liu

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Chn ch backup: Full, Differential hoc Transaction log

FIT VMU | Sao lu v phc hi d liu

10

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Chn ng dn v t tn file backup

Click vo OK hon tt qu trnh backup.

Phc hi d liu
thc hin khi phc li c s d liu ta thc hin theo cc bc sau:

Bt MS SQL Server

Click chut phi vo c s d liu cn phc hi

Chn phn Task

Chn Restore

Chn Database

FIT VMU | Sao lu v phc hi d liu

11

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Chn From Device

Chn ng dn ti file cha bn sao lu

FIT VMU | Sao lu v phc hi d liu

12

November 11, 2011

[TI LIU HNG DN THC HNH MN C C D LIU NNG CAO]

Click vo OK hon tt qu trnh khi phc d liu.

FIT VMU | Sao lu v phc hi d liu

13

You might also like