M?c đ?nh
autogrow và
autoshrink thi?t đ?t này s? làm vi?c cho b?n v?i không có đi?u ch?nh vào nhi?u SQL Server
h? th?ng. Tuy nhiên, có nh?ng môi trư?ng nơi mà b?n không có đ? bi?n các
thi?t đ?t trên ho?c nơi mà b?n có th? ph?i đi?u ch?nh các
autogrow và
autoshrink các tham s?. Bài vi?t này cung c?p cho b?n m?t s? thông tin cơ b?n đ?
hư?ng d?n cho b?n khi b?n ch?n các thi?t đ?t cho môi trư?ng c?a b?n.
Dư?i đây là m?t s? đi?u c?n xem xét n?u b?n quy?t đ?nh đ? đi?u ch?nh c?a b?n
autogrow và
autoshrink các tham s?.
Làm th? nào đ? c?u h?nh các cài đ?t?
- B?n có th? c?u h?nh các autogrow và autoshrink cài đ?t b?ng cách s? d?ng m?t trong các cách sau:
- M?t tuyên b? làm thay đ?i cơ s? d? li?u (không có s?n trong SQL Server 7.0)
- SQL Server Management Studio ho?c ngư?i qu?n l? doanh nghi?p SQL
- Các sp_dboption th? t?c đư?c lưu tr? (b? ph?n đ?i trong SQL Server 2005)
Chú ý N?u b?n đang s? d?ng SQL Server 2005, s? d?ng SQL Server Management Studio thay v? SQL Enterprise Manager. Đ? bi?t thêm chi ti?t v? cách thi?t l?p các cài đ?t này trong SQL Server 2005, truy c?p vào các trang Web m?ng nhà phát tri?n c?a Microsoft (MSDN) sau đây:B?n c?ng có th? c?u h?nh các autogrow tùy ch?n khi b?n t?o m?t cơ s? d? li?u.
B?n có th? xem các
thi?t đ?t hi?n th?i thông qua các tính ch?t cơ s? d? li?u trong SQL qu?n l? doanh nghi?p
(SEM). Ho?c, b?n có th? ch?y l?nh Transact-SQL sau đây:sp_helpdb [ [ @dbname= ] 'name' ]
- H?y nh? r?ng các autogrow thi?t đ?t là cho m?i t?p tin. V? v?y, b?n ph?i đ?t chúng trong lúc
ít nh?t là hai nơi cho m?i cơ s? d? li?u (m?t cho các t?p tin d? li?u chính và m?t cho
chính t?p nh?t k?). N?u b?n có nhi?u t?p tin d? li?u và/ho?c đăng nh?p, b?n ph?i thi?t l?p
các tùy ch?n trên m?i t?p tin. Tùy thu?c vào môi trư?ng c?a b?n, b?n có th? k?t thúc v?i
thi?t đ?t khác cho m?i t?p tin cơ s? d? li?u.
Nh?ng tác đ?ng hi?u su?t là g??
- N?u b?n ch?y m?t giao d?ch mà đ?i h?i thêm đăng nh?p không gian hơn
có s?n, và b?n đ? b?t các autogrow tùy ch?n cho các giao d?ch đăng r?ng cơ s? d? li?u, sau đó th?i gian nó
di?n giao d?ch đ? hoàn thành s? bao g?m th?i gian các
Nh?t k? giao d?ch phát tri?n b?i s? ti?n đư?c c?u h?nh. N?u t?c đ? tăng trư?ng tăng
l?n ho?c có m?t s? y?u t? khác mà làm cho nó m?t m?t th?i gian dài, các
truy v?n trong đó b?n m? các giao d?ch có th? th?t b?i v? c?a m?t l?i th?i gian ch?.
Cùng m?t lo?i v?n đ? có th? d?n t? m?t autogrow c?a ph?n d? li?u c?a b?n
cơ s? d? li?u. Đ? thay đ?i c?a b?n autogrow c?u h?nh, xem ch? đ? "ALTER DATABASE" trong SQL Server Books
Tr?c tuy?n.
- N?u b?n ch?y m?t giao d?ch l?n mà đ?i h?i ph?i đăng nh?p đ?
phát tri?n, các giao d?ch đó có yêu c?u m?t ghi vào Nh?t k? giao d?ch c?ng s?
có ph?i ch? đ?i cho đ?n khi đ? hoàn t?t các chi?n d?ch phát tri?n.
- N?u b?n k?t h?p các autogrow và autoshrink tùy ch?n, b?n có th? t?o không c?n thi?t trên không. H?y ch?c ch?n r?ng
các ngư?ng mà kích ho?t s? phát tri?n và co l?i ho?t đ?ng kinh doanh s? không gây ra
thư?ng xuyên lên và xu?ng thay đ?i kích thư?c. Ví d?, b?n có th? ch?y m?t giao d?ch mà
nguyên nhân Nh?t k? giao d?ch phát tri?n b?i 100 MB theo th?i gian nó cam k?t. M?t s? th?i gian
sau đó các autoshrink b?t đ?u và thu nh? các b?n ghi c?a giao d?ch b?i 100 MB. Sau đó, b?n ch?y
các giao d?ch cùng và nó gây ra các b?n ghi c?a giao d?ch phát tri?n b?i 100 MB m?t l?n n?a.
Trong ví d? đó, b?n đang t?o không c?n thi?t trên không và có kh? năng t?o ra
phân m?nh c?a các t?p tin log, m?t trong đó có th? ?nh hư?ng
hi?u su?t.
- Phân m?nh v?t l? thay đ?i kích thư?c c?a các d? li?u
ho?c đăng nh?p t?p tin có th? có m?t ?nh hư?ng nghiêm tr?ng v? hi?u su?t c?a b?n. Đi?u này là đúng hay không
b?n s? d?ng các thi?t l?p t? đ?ng ho?c cho dù b?n t? phát tri?n và thu nh? các
t?p tin thư?ng xuyên.
- N?u b?n phát tri?n cơ s? d? li?u c?a b?n b?ng t?ng bư?c nh?, ho?c n?u b?n
phát tri?n nó và sau đó co l?i nó, b?n có th? k?t thúc v?i đ?a phân m?nh. Đ?a
phân m?nh có th? gây ra các v?n đ? hi?u su?t trong m?t s? trư?ng h?p. M?t k?ch b?n c?a
s? gia tăng trư?ng nh? c?ng có th? làm gi?m hi?u su?t trên c?a b?n
h? th?ng.
- Trong SQL Server 2005 ho?c trong phiên b?n m?i nh?t, b?n có th? cho phép vi?c kh?i t?o t?p tin ngay l?p t?c. Kh?i t?o t?p tin ngay l?p t?c t?c đ? lên t?p tin phân b? ch? cho các t?p tin d? li?u. Kh?i t?o t?p tin t?c th? không áp d?ng đ? đăng nh?p t?p tin.
- N?u b?n có nhi?u t?p tin thư growths trong t?p tin đăng nh?p c?a b?n, b?n có th? có m?t s? quá l?n các t?p tin đăng nh?p ?o (BOÅ). Đi?u này có th? d?n t?i v?n đ? hi?u su?t v?i các ho?t đ?ng kh?i đ?ng/tr?c tuy?n cơ s? d? li?u, sao nhân b?n, ph?n ánh, và thay đ?i d? li?u ch?p (CDC). Ngoài ra, đi?u này đôi khi có th? gây ra v?n đ? hi?u su?t v?i s?a đ?i d? li?u.
Th?c ti?n t?t nh?t
- Đ?i v?i m?t h? th?ng qu?n l? s?n xu?t, b?n ph?i xem xét autogrow Đ?ng ch? đơn thu?n là m?t ph?ng h? cho s? tăng trư?ng b?t ng?. Không qu?n l?
tăng trư?ng c?a b?n d? li?u và đăng nh?p trên cơ s? hàng ngày v?i autogrow.
- B?n có th? s? d?ng c?nh báo ho?c các chương tr?nh giám sát đ? theo d?i t?p tin
Kích thư?c và phát tri?n các t?p tin ch? đ?ng. Đi?u này s? giúp b?n tránh phân m?nh và
cho phép b?n chuy?n đ?i các ho?t đ?ng b?o tr? không cao đi?m
gi?.
- AutoShrink và autogrow c?n th?n ph?i đư?c đánh giá b?i m?t qu?n tr? cơ s? d? li?u đư?c đào t?o
(DBA); h? không ph?i c?n l?i không đư?c qu?n l?.
- C?a b?n autogrow tăng ph?i là đ? l?n đ? tránh h?nh ph?t hi?u su?t
li?t kê trong ph?n trư?c. Giá tr? chính xác đ? s? d?ng trong c?u h?nh c?a b?n
thi?t l?p và s? l?a ch?n gi?a m?t t? l? ph?n trăm tăng trư?ng và m?t c? th? MB Kích thư?c
s? phát tri?n ph? thu?c vào nhi?u y?u t? trong môi trư?ng c?a b?n. M?t quy lu?t c?a nói chung đ?
b?n có th? s? d?ng đ? th? nghi?m là đ? thi?t l?p c?a b?n autogrow thi?t l?p đ?n kho?ng m?t trong tám kích thư?c c?a các
t?p tin.
- B?t các thi?t l?p <maxsize>cho m?i t?p tin đ?
ngăn ch?n b?t k? t?p tin m?t trong nh?ng phát tri?n đ?n m?t đi?m mà nó s? d?ng lên t?t c? s?n
đ?a không gian.</maxsize>
- Gi? kích thư?c c?a các giao d?ch c?a b?n càng nh? càng t?t đ?
ngăn ng?a t?p tin không có k? ho?ch tăng trư?ng.
T?i sao tôi ph?i lo l?ng v? dung lư?ng đ?a n?u kích thư?c thi?t đ?t t? đ?ng ki?m soát?
- Các autogrow thi?t l?p không th? phát tri?n kích thư?c cơ s? d? li?u ngoài các gi?i h?n c?a các
không gian đ?a s?n dùng trên ? đ?a mà tác ph?m đư?c đ?nh ngh?a. V? v?y, n?u
b?n d?a trên các autogrow ch?c năng v?i kích thư?c cơ s? d? li?u c?a b?n, b?n ph?i v?n
m?t cách đ?c l?p, ki?m tra không gian có s?n đ?a c?ng c?a b?n. Các autogrow thi?t l?p c?ng h?n ch? b?i tham s? MAXSIZE b?n ch?n cho
m?i t?p tin. Đ? gi?m kh? năng ch?y không gian, b?n có th? giám sát
S? lư?t truy c?p theo d?i hi?u su?t SQL Server: Đ?i tư?ng cơ s? d? li?u: kích thư?c t?p d? li?u (KB) và thi?t l?p m?t c?nh báo cho khi cơ s? d? li?u đ?t đ?n m?t kích thư?c nh?t đ?nh.
- Không có k? ho?ch tăng trư?ng c?a các t?p tin d? li?u ho?c đăng nh?p có th? l?y không gian mà
các ?ng d?ng khác mong đ?i đ? s?n sàng và có th? gây ra nh?ng ngư?i khác
các ?ng d?ng đ? g?p v?n đ?.
- Tăng t?c đ? tăng trư?ng c?a log giao d?ch c?a b?n ph?i đư?c l?n
đ? đ? ? phía trư?c c?a các nhu c?u c?a đơn v? giao d?ch c?a b?n. Ngay c? v?i autogrow b?t, b?n có th? nh?n đư?c m?t thông đi?p r?ng các b?n ghi c?a giao d?ch là
đ?y đ?, n?u nó không th? phát tri?n đ? nhanh đ? đáp ?ng nhu c?u c?a b?n
truy v?n.
- SQL Server không liên t?c ki?m tra đ?i v?i cơ s? d? li?u đó có
nh?n ngư?ng đư?c c?u h?nh cho autoshrink. Thay vào đó, nó nh?n vào cơ s? d? li?u có s?n và t?m th?y là ngư?i đ?u tiên
m?t trong đó đư?c c?u h?nh đ? autoshrink. Nó s? ki?m tra r?ng cơ s? d? li?u và thu nh? mà
cơ s? d? li?u n?u c?n thi?t. Sau đó, nó ch? đ?i m?t vài phút trư?c khi ki?m tra ti?p theo
cơ s? d? li?u đư?c c?u h?nh cho autoshrink. Nói cách khác, SQL Server không ki?m tra t?t c? các cơ s? d? li?u cùng m?t lúc
và thu nh? chúng cùng m?t lúc. Nó s? làm vi?c thông qua cơ s? d? li?u trong m?t v?ng
Robin th?i trang đ? tách r?i t?i ra trong m?t kho?ng th?i gian. V? v?y,
tùy thu?c vào bao nhiêu cơ s? d? li?u vào m?t trư?ng h?p c? th? SQL Server b?n có
c?u h?nh đ? autoshrink, nó có th? m?t vài gi? t? khi các
cơ s? d? li?u s? truy c?p ngư?ng cho đ?n khi nó th?c s? thu nh?.
Cho bi?t thêm thông tin v? làm th? nào đ? phát tri?n và co l?i cơ s? d? li?u và đăng nh?p c?a b?n
tác ph?m, nh?p vào s? bài vi?t sau đ? xem các bài vi?t trong cơ s? ki?n th?c Microsoft:
256650
(http://support.microsoft.com/kb/256650/
)
Làm th? nào đ? thu nh? đăng nh?p giao d?ch SQL Server 7.0
272318
(http://support.microsoft.com/kb/272318/
)
Thu h?p l?i trong SQL Server 2000 v?i DBCC SHRINKFILE giao d?ch, đăng nh?p
317375
(http://support.microsoft.com/kb/317375/
)
M?t Nh?t k? giao d?ch phát tri?n b?t ng? ho?c tr? nên đ?y đ? trên máy tính đang ch?y SQL Server
247751
(http://support.microsoft.com/kb/247751/
)
L?I:
K? ho?ch b?o tr? cơ s? d? li?u không co l?i cơ s? d? li?u
305635
(http://support.microsoft.com/kb/305635/
)
M?t th?i gian ch? x?y ra khi cơ s? d? li?u t? đ?ng m? r?ng
949523
(http://support.microsoft.com/kb/949523/
)
Đ? tr? c?a m?t sao nhân b?n giao d?ch là r?t cao trong SQL Server 2005 khi giá tr? tài s?n "Kích thư?c ban đ?u" và giá tr? tài s?n Autogrowth là nh?
Đ? bi?t thêm thông tin v? vi?c kh?i t?o t?p tin cơ s? d? li?u, truy c?p Web site sau c?a Microsoft Developer Network (MSDN):
Đ? bi?t thêm chi ti?t v? cách b?t kh?i t?o t?p tin ngay l?p t?c, ghé thăm Web site sau c?a Microsoft:
Đ? bi?t thêm thông tin v? giao d?ch đăng nh?p v?t l? ki?n trúc, truy c?p MSDN Web site sau:
SQL Server sách tr?c tuy?n; các ch? đ?: "giao d?ch
Đăng nh?p v?t l? Architecture"; "Thu h?p l?i các b?n ghi c?a giao d?ch"
ID c?a bài: 315512 - L?n xem xét sau cùng: 17 Tháng Chín 2011 - Xem xét l?i: 3.0
Áp d?ng
- Microsoft SQL Server 2000 Standard Edition
- Microsoft SQL Server 7.0 Standard Edition
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Express Edition
- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL Server 2005 Enterprise Edition
- Microsoft SQL Server 2005 Workgroup Edition
| kbsqlsetup kbinfo kbmt KB315512 KbMtvi |
Máy d?chQUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:
315512
(http://support.microsoft.com/kb/315512/en-us/
)