Tìm hiểu các vấn đề liên quan đến: Kiểm soát kích thước tập tin , Kiểm tra tính toàn vẹn của CSDL , Đặt ra giới hạn tiêu thụ tài nguyên - Pdf 39

ĐỀ TÀI:Tìm hiểu các vấn đề liên quan đến: Kiểm soát kích thước tập tin ,
Kiểm tra tính toàn vẹn của CSDL , Đặt ra giới hạn tiêu thụ tài nguyên.

Mục Lục
gì……………………………………………………...25

1


LỜI NÓI ĐẦU
Gần đây vấn đề bảo mật cơ sở dữ liệu diễn ra lan tràn trên các phương tiện thông tin đại
chúng và mạng lưới tin tức Internet. Đầu tiên là sâu Slammer và gần đây nhất là vụ truy
cập bất hợp pháp hơn 8 triệu mã số thẻ tín dụng.
Nhiều người đặt ra câu hỏi: “Các admin quản trị hệ thống ngủ sau bánh xe cho chúng
hoạt động hay sao?”. Giống như mạng Internet bị đánh bom vậy. Hiện người ta thường
hay sử dụng các tiện ích rẻ tiền hơn của các hệ thống thông tin sử dụng web, do đó họ trở
nên lười áp dụng các biện pháp bảo mật cơ sở.
Vấn đề ở đây là phải cấp bách áp dụng các biện pháp an toàn với người quản trị hệ thống
sáng suốt. Câu hỏi đầu tiên cho các admin hiện nay thường là “Sửa chữa nhanh như thế
nào” chứ không phải “Có bao nhiêu mối nguy hiểm” như trước kia. Muốn giải quyết
được vấn đề hiện tại, trước hết chúng ta phải điều chỉnh lại ý thức và suy nghĩ trong mỗi
người.
Bây giờ chúng tôi xin cung cấp một vài phương pháp bảo mật cơ bản sau đây. Hy vọng
chúng sẽ giúp bạn ít nhiều bảo vệ được các cơ sở dữ liệu quan trọng. Trong bài thả luận
này , nhóm 06 xin trình bày về một số vấn đề bảo mật cơ sở dữ liệu quan trọng cơ bản
nhất . Do kiến thức và thời gian còn hạn hẹp , bài thảo luận còn nhiều sai sót . Mong cô
và các bạn góp ý để bài thảo luận được hoản thành hơn . Cảm ơn cô Hàn Minh Phương
đã giúp đỡ nhóm trong quá trình giảng dạy và thảo luận !

2


DBCC SHRINKFILE (Transact-SQL)
DBCC SQLPERF (Transact-SQL)
3


sys.database_files (Transact-SQL) (Xem kích thước , MAX_SIZE , và tăng trưởng các
cột cho các file log hoặc các tập tin.)
Thu hẹp cơ sở dữ liệu và các file log có thể được thiết lập để tự động xuất hiện. Tuy
nhiên, chúng tôi khuyên bạn nên chống co tự động, và autoshrink sở hữu cơ sở dữ liệu
được thiết lập để sai theo mặc định. Nếu autoshrink được đặt là TRUE, tự động co lại làm
giảm kích thước của một tập tin duy nhất khi có nhiều hơn 25 phần trăm của không gian
của nó là không sử dụng. Các tập tin được thu nhỏ hoặc kích thước mà tại đó chỉ có 25
phần trăm của tập tin là không gian không sử dụng hoặc kích thước ban đầu của các tập
tin, tùy theo cái nào lớn hơn. Để biết thông tin về việc thay đổi các thiết lập của
autoshrink tài sản, xem Xem hoặc thay đổi các thuộc tính của một cơ sở dữ liệu -sử dụng
Auto Shrink tài sản trên các tùy chọn trang hoặc ALTER DATABASE chọn SET
(Transact-SQL) -sử dụng tùy chọn AUTO_SHRINK.
-Thêm hoặc phóng to một tập tin đăng nhập
Ngoài ra, bạn có thể đạt được không gian bằng cách mở rộng các tập tin đăng nhập hiện
tại (nếu giấy phép không gian đĩa) hoặc bằng cách thêm một file bản ghi cơ sở dữ liệu,
thường là trên một đĩa khác nhau.
Để thêm một file bản ghi cơ sở dữ liệu, sử dụng các khoản Thanh LOG FILE của tuyên
bố DATABASE ALTER. Thêm một tập tin log cho phép đăng nhập để phát triển.
Để mở rộng các tập tin đăng nhập, sử dụng FILE khoản sửa đổi của bản tuyên bố
DATABASE ALTER, xác định SIZE và cú pháp MAXSIZE. Để biết thêm thông tin,
xem ALTER DATABASE (Transact-SQL) .
-Tối ưu hóa kích thước tempdb nhật ký giao dịch
Khởi động lại một trường hợp máy chủ thay đổi kích thước các bản ghi giao dịch của
tempdb cơ sở dữ liệu ban đầu, kích thước trước autogrow của nó. Điều này có thể làm
giảm hiệu suất của tempdb nhật ký giao dịch. Bạn có thể tránh chi phí này bằng cách tăng

thông tin để thực hiện lại bất kỳ giao dịch nào vì tempdb được tạo lại mỗi lần bạn khởi
động lại SQL Server; do đó, không có bất kỳ giao dịch nào để chuyển đến hoặc quay lại.
Khi SQL Server khởi động, tempdb được tạo lại bằng cách sử dụng bản sao của cơ sở dữ
liệu mẫu và được thiết lập lại về kích thước được cấu hình sau cùng.
Theo mặc định, cơ sở dữ liệu tempdb được cấu hình để tự phát triển khi cần; do đó, cơ sở
dữ liệu này có thể phát triển theo thời gian đến kích thước lớn hơn mong muốn. Việc
khởi động đơn giản SQL Server thiết lập lại kích thước của tempdb về kích thước được
cấu hình sau cùng. Kích thước được cấu hình là kích thước rõ ràng sau cùng được thiết
lập bằng hoạt động thay đổi kích thước tệp như ALTER DATABASE với tuỳ chọn
MODIFY FILE hoặc câu lệnh DBCC SHRINKFILE. Bài viết này trình bày ba phương
pháp mà bạn có thể sử dụng để thu hẹp tempdb đến kích thước nhỏ hơn kích thước được
cấu hình.
5


3.2.Phương pháp 1 để Thu hẹp Tempdb
Phương pháp này yêu cầu bạn khởi động lại SQL Server.
a. Dừng SQL Server. Mở dấu nhắc lệnh, rồi khởi động SQL Server bằng cách nhập lệnh
sau:
sqlservr -c -f
Tham số -c và -f khiến SQL Server khởi động trong chế độ cấu hình tối thiểu với kích
thước tempdb bằng 1 MB cho tệp dữ liệu và 0,5 MB cho tệp nhật ký.
Chú ý: Nếu bạn sử dụng SQL Server có tên như ví dụ, bạn phải thay đổi thành thư mục
phù hợp (Program Files\Microsoft SQL Server\MSSQL$instance name\Binn) và sử dụng
khoá chuyển đổi -s (-s%instance_name%).
b. Kết nối đến SQL Server bằng Query Analyzer, rồi chạy lệnh Transact-SQL sau:
ALTER DATABASE tempdb MODIFY FILE
(NAME = 'tempdev', SIZE = target_size_in_MB)
--Kích thước mục tiêu mong muốn cho tệp dữ liệu
ALTER DATABASE tempdb MODIFY FILE

thước cơ sở dữ liệu mong muốn.
Chú ý: Trong một số trường hợp, bạn có thể phải thực thi sp_spaceused
@updateusage=true để tính toán lại không gian được sử dụng và để có được báo cáo cập
nhật. Tham khảo Sách Trực tuyến về SQL Server để biết thêm thông tin về quy trình
được lưu trữ sp_spaceused.
Xem xét ví dụ này:Giả sử rằng tempdb có hai tệp, tệp dữ liệu chính (Tempdb.mdf), có
kích thước 100 MB và tệp nhật ký (Tempdb.ldf), có kích thước 30 MB. Giả sử rằng
sp_spaceused báo cáo rằng tệp dữ liệu chính chứa 60 MB dữ liệu. Đồng thời, giả sử rằng
bạn muốn thu hẹp tệp dữ liệu chính xuống còn 80 MB. Tính toán phần trăm không gian
trống mong muốn còn lại sau khi thu hẹp, 80 MB - 60 MB = 20 MB. Bây giờ, chia 20
MB cho 80 MB = 25% và đây là target_percent của bạn. Tệp nhật ký giao dịch được thu
hẹp tương ứng, để lại 25% hoặc 20 MB không gian trống sau khi cơ sở dữ liệu được thu
hẹp.
b.Kết nối đến SQL Server bằng Query Analyzer, rồi chạy lệnh Transact-SQL sau:
dbcc shrinkdatabase (tempdb, 'target percent')
-- Lệnh này thu hẹp toàn bộ cơ sở dữ liệu tempdb

7


Có các hạn chế đối với việc sử dụng lệnh DBCC SHRINKDATABASE trên cơ sở dữ
liệu tempdb. Kích thước mục tiêu cho tệp dữ liệu và tệp nhật ký không thể nhỏ hơn kích
thước được chỉ định khi cơ sở dữ liệu được tạo ra hoặc kích thước sau cùng được thiết lập
rõ ràng bằng hoạt động thay đổi kích thước tệp, chẳng hạn như ALTER DATABASE với
tuỳ chọn MODIFY FILE hoặc lệnh DBCC SHRINKFILE. Một hạn chế khác của DBCC
SHRINKDATABASE là việc tính toán tham số target_percentage và sự phụ thuộc vào
không gian hiện tại được sử dụng.
3.4.Phương pháp 3 để Thu hẹp Tempdb
Sử dụng lệnh DBCC SHRINKFILE để thu hẹp các tệp tempdb riêng lẻ. DBCC
SHRINKFILE cung cấp tính linh hoạt cao hơn DBCC SHRINKDATABASE vì bạn có

3.5.Ảnh hưởng của việc thực thi DBCC SHRINKDATABASE hoặc
DBCCSHRINKFILE trong khi Tempdb Đang được sử dụng
Nếu tempdb đang được sử dụng và bạn cố gắng thu hẹp bằng cách sử dụng lệnh DBCC
SHRINKDATABASE hoặc DBCC SHRINKFILE, bạn có thể nhận được nhiều lỗi không
nhất quán tương tự với loại sau và hoạt động thu hẹp có thể thất bại:
Máy chủ: Thông báo 2501, Mức 16, Trạng thái 1, Dòng 1 Không thể tìm thấy bảng có tên
'1525580473'. Kiểm tra sysobjects.
hoặc
Máy chủ: Thông báo 8909, Mức 16, Trạng thái 1, Dòng 0 Bảng bị hỏng: ID đối tượng 1,
ID chỉ mục 0, ID trang %S_PGID. PageId trong tiêu đề trang = %S_PGID.
Mặc dù lỗi 2501 có thể không phải là dấu hiệu của bất kỳ hỏng hóc nào trong tempdb, nó
khiến hoạt động thu hẹp thất bại. Mặt khác, lỗi 8909 không thể biểu thị hỏng hóc trong cơ
sở dữ liệu tempdb. Khởi động lại SQL Server để tạo lại tempdb và xoá các lỗi không nhất
quán. Tuy nhiên, hãy nhớ rằng có thể có các lý do khác cho các lỗi hỏng hóc dữ liệu vật
lý như lỗi 8909 và những lỗi bao gồm sự cố hệ thống đầu vào/đầu ra phụ.

II.KIỂM TRA TÍNH TOÀN VẸN TRONG CSDL
1.Toàn vẹn dữ liệu :là việc đặt ra các quy tắc trong một cơ sở dữ liệu nhằm kiểm tra các
giá trị của dữ liệu trước khi được lưu trữ phải đảm bảo tính chính xác và hợp lý bên trong
một cơ sở dữ liệu.

9


Nếu các giá trị dữ liệu nào vi phạm các quy tắc đặt ra thì các dữ liệu đó sẽ không được
lưu vào bảng. Các quy tắc này phần lớn được xây dựng dựa vào các quy tắc hiện hữu
đang tồn tại trong công việc kinh doanh.
Ví dụ :
Trong cơ sở dữ liệu Business (Cơ sở dữ liệu doanh nghiệp) bạn có thể đưa ra một số quy
tắc như sau :

cấu trúc bảng nếu cần kiểm tra tính duy nhất của các cột không làm khóa chính.
Cú pháp :

Trong đó :
• Tên constraint : phải là duy nhất trong cơ sở dữ liệu. Thông thường quy định tên
constraint gồm có 3 phần. Bắt đầu bằng các chữ PRK, kế tiếp là tên bảng và cuối cùng là
tên cột áp dụng quy tắc kiểm tra duy nhất dữ liệu của các cột khóa chính.
• Danh sách cột khóa chính : là danh sách tên các cột tham gia làm khóa chính, tên các
cột được ngăn cách nhau bởi dấu phẩy (,).
Cú pháp :

Trong đó :
• Tên constraint : phải là duy nhất trong cơ sở dữ liệu. Thông thường quy định tên
constraint gồm có 3 phần. Bắt đầu bằng các chữ UNQ, kế tiếp là tên bảng và cuối cùng là
tên cột áp dụng quy tắc kiểm tra duy nhất dữ liệu của các cột không tham gia làm khóa
chính.
• Danh sách cột : là danh sách tên các cột cần kiểm tra duy nhất, tên các cột được ngăn
cách nhau bởi dấu phẩy (,).
Lưu ý :
Mặc định tên các constraint sẽ do hệ thống Microsoft SQL Server tạo ra nhằm đảm bảo
tính duy nhất bên trong cơ sở dữ liệu. Tuy nhiên bạn có thể chủ động đặt tên cho các
constraint khi tạo ra chúng bằng cách đưa thêm từ khóa CONSTRAINT trong các thành
phần định nghĩa các kiểm tra ràng buộc toàn vẹn dữ liệu.
Ví dụ :

11


Tạo bảng SINHVIEN kiểm tra dữ liệu của cột mã sinh viên phải là duy nhất. Trường hợp
chỉ định cột mã sinh viên làm khóa chính của bảng. Bạn thực hiện câu lệnh CREATE

nhớ rằng dấu phẩy (,) luôn được đặt ở vị trí sau cùng của thành phần constraint chứ
không được đặt ở vị trí phía sau tên kiểu dữ liệu của cột.
Ngược lại khi sử dụng các loại ràng buộc toàn vẹn dữ liệu được kiểm tra trên bảng thì
không cần có thêm dấu phẩy (,) ở vị trí phía sau của cột dữ liệu cuối cùng bên trong bảng.
Đôi khi những điều lưu ý này sẽ làm cho bạn cảm thấy khó nhớ. Do vậy để đơn giản khi
tạo cấu trúc bảng, bạn thực hiện hai bước :
Bước 1 : Tạo cấu trúc bảng đơn giản bằng lệnh CREATE TABLE gồm có tên bảng, tên
các cột và các kiểu dữ liệu mong muốn.
Bước 2 : Thêm các loại constraint tương ứng bằng lệnh ALTER TABLE ADD
CONSTRAINT để áp dụng các kiểm tra ràng buộc toàn vẹn dữ liệu cho bảng dữ liệu.
2.2.Kiểm tra tồn tại dữ liệu

13


Loại ràng buộc toàn vẹn này cho phép bạn có thể kiểm tra tính tồn tại của dữ liệu (khóa
ngoại), bắt buộc phải có bên một bảng khác, còn gọi là bảng tham chiếu. Điều này ngăn
cản việc người sử dụng nhập một giá trị dữ liệu không có trong một bảng dữ liệu khác.
Bạn có thể sử dụng thành phần FOREIGN KEY trong câu lệnh CREATE TABLE để
thực hiện việc kiểm tra tính tồn tại của dữ liệu.
Trong một bảng được phép có nhiều khóa ngoại, tuy nhiên các cột tham chiếu phải được
định nghĩa là khóa chính trong các bảng tham chiếu trước đó. Vì thế thành phần
FOREIGN KEY được phép xuất hiện nhiều lần khi tạo cấu trúc bảng nếu bạn cần kiểm
tra tính tồn tại của nhiều cột khác nhau trong các bảng khác nhau.
Cú pháp :

Trong đó :
• Tên constraint : phải là duy nhất trong cơ sở dữ liệu. Thông thường quy định tên
constraint gồm có 3 phần. Bắt đầu bằng các chữ : FRK, kế tiếp là tên bảng và cuối cùng
là tên cột áp dụng quy tắc kiểm tra tồn tại dữ liệu.



Cú pháp :

Trong đó :
• Tên constraint : phải là duy nhất trong cơ sở dữ liệu. Thông thường quy định tên
constraint gồm có 3 phần. Bắt đầu bằng các chữ : CHK, kế tiếp là tên bảng và cuối cùng
là tên cột áp dụng quy tắc kiểm tra miền giá trị dữ liệu.
• Biểu thức luận lý : là một biểu thức chỉ định quy tắc kiểm tra dữ liệu trong bảng.
Thông thường biểu thức luận lý sẽ là biểu thức so sánh.
Ví dụ :
Trong bảng DIEMSV (Điểm sinh viên) kiểm tra quy tắc giá trị dữ liệu của cột điểm bằng
số tối thiểu là 0 và không lớn hơn 10. Có nghĩa là cột điểm sinh viên >=0 và
tên cột để chỉ định giá trị mặc định được tạo ra sẽ áp dụng cho cột dữ liệu nào.
Ví dụ :
Sử dụng các câu lệnh CREATE TABLE để tạo ra cấu trúc các bảng SINHVIEN (danh
sách sinh viên), HOCPHAN(môn học) và DIEMSV (Điểm sinh viên)
Bảng SINHVIEN có các quy tắc kiểm tra toàn vẹn dữ liệu :
• Khóa chính là cột mã sinh viên .
• Giá trị dữ liệu duy nhất tại cột địa chỉ .
• Giá trị mặc định cho STT là 1.
. Giá trị của ngày sinh nằm trong khoảng từ 1-1-1900 đến 31-12-1999

Hoặc đầu tiên tạo bảng có cấu trúc đơn giản và sau đó thêm vào các ràng buộc toàn vẹn
dữ liệu.

19


Bảng HOCPHAN có các quy tắc kiểm tra toàn vẹn dữ liệu :
• Khóa chính là cột mã Lớp học phần (LHP)
• Giá trị dữ liệu duy nhất tại Tên môn học
• Giá trị mặc định cho cột số TC là 0

Hoặc đầu tiên tạo bảng có cấu trúc đơn giản và sau đó thêm vào các ràng buộc toàn vẹn
dữ liệu.

20


Bảng DIEMSV có các quy tắc kiểm tra toàn vẹn dữ liệu :
• Khóa chính là cột mã bảng điểm
• Giá trị mặc định cho các cột ngày cập nhật là thời gian hiện tại


III. ĐẶT RA GIỚI HẠN TIÊU THỤ TÀI NGUYÊN
1.Khái niệm giới hạn tài nguyên
Giới hạn tài nguyên là một thuật ngữ công nghệ thông tin được sử dụng trong môi trường
điện toán đám mây mô tả một tình huống trong đó các nhà cung cấp phục vụ cho nhiều
khách hàng, khách hàng hoặc “thuê” với các dịch vụ tạm thời và khả năng mở rộng.
Những dịch vụ này có thể được điều chỉnh cho phù hợp với nhu cầu của từng khách hàng
mà không có bất kỳ thay đổi được rõ ràng cho người sử dụng của khách hàng hay kết
thúc.
Ý tưởng đằng sau tổng hợp tài nguyên là thông qua hệ thống khả năng mở rộng hiện đại
liên quan đến điện toán đám mây và phần mềm như một dịch vụ (SaaS), nhà cung cấp có
thể tạo ra một cảm giác của các nguồn tài nguyên vô hạn hay có ngay lập tức bằng cách
kiểm soát các điều chỉnh tài nguyên ở mức meta. Điều này cho phép khách hàng để thay
đổi cấp độ của họ về dịch vụ tại sẽ không phải chịu bất kỳ sự hạn chế của các nguồn lực
vật lý hay ảo.
Các loại dịch vụ có thể áp dụng cho một chiến lược tổng hợp tài nguyên bao gồm các
dịch vụ lưu trữ dữ liệu, dịch vụ xử lý và các dịch vụ băng thông cung cấp. Điều khoản
liên quan khác bao gồm độ đàn hồi nhanh chóng, mà còn liên quan đến việc cung cấp
năng động của dịch vụ, và theo yêu cầu tự phục vụ, nơi khách hàng có thể thay đổi mức
độ của dịch vụ mà không thực sự liên hệ với một nhà cung cấp dịch vụ. Tất cả các trình
lập dự phòng dịch vụ tự động này là rất n hiều nhưu các loại khác của quá trình kinh
doanh tự động hóa, thay thế, chiến lược thâm dụng lao động truyền thống hơn với sáng
kiến mới mà dựa trên các mạng ảo ngày càng mạnh mẽ và nguồn lực xử lý dữ liệu.Trong
những trường hợp này, mục tiêu là để tách các trải nghiệm của khách hàng từ chính thực
tế của tài sản, do đó quá trình giao hàng là đục và các dịch vụ dường như là tự động và vô
cùng có sẵn.
2.Tại sao sử dụng giới hạn tài nguyên.
Giới hạn tài nguyên cho phép bạn ủy quyền kiểm soát các nguồn tài nguyên của một máy
chủ (hoặc một nhóm), nhưng những lợi ích rõ ràng khi bạn sử dụng giới hạn tài nguyên
để tất cả các nguồn lực trong một nhóm. Tạo nhiều vùng tài nguyên như trẻ em trực tiếp

tương tự hoặc yêu cầu có thể và nên được, coi như là một thực thể duy nhất. Đây không
phải là một yêu cầu, nhưng đồng đều hơn các mô hình sử dụng tài nguyên của một khối
lượng công việc, lợi ích hơn bạn có khả năng xuất phát từ Resource Governor. Giới hạn
tài nguyên có thể được cấu hình lại trong thời gian thực với tác động tối thiểu về khối
lượng công việc được thực hiện.
Trong một môi trường mà nhiều khối lượng công việc riêng biệt được trình bày trên cùng
một máy chủ, Resource Governor cho phép bạn phân biệt các khối lượng công việc và
24


phân bổ tài nguyên chia sẻ khi họ được yêu cầu, dựa trên những giới hạn mà bạn chỉ
định. Những tài nguyên này CPU, vật lý IO, và bộ nhớ.
4.Việc sử dụng Resource Governor
Cung cấp nhiều kiểu dữ liệu và cô lập nguồn tài nguyên trên các trường hợp duy nhất của
SQL Server mà phục vụ cho nhiều khối lượng công việc của khách hàng. Đó là, bạn có
thể phân chia các nguồn lực sẵn có trên máy chủ trong các khối lượng công việc và giảm
thiểu các vấn đề có thể xảy ra khi khối lượng công việc cạnh tranh cho các nguồn tài
nguyên.
Cung cấp hiệu suất và hỗ trợ dự đoán được SLAs cho thuê khối lượng công việc trong
một đa khối lượng công việc và môi trường đa người dùng.
Cô lập và hạn chế các truy vấn runaway hoặc ga nguồn IO cho các hoạt động như DBCC
CHECKDB có thể thấm vào trong các hệ thống phụ IO và tác động tiêu cực đến khối
lượng công việc khác.
Thêm theo dõi tài nguyên hạt mịn để bồi sử dụng tài nguyên và cung cấp thanh toán dự
đoán được với người tiêu dùng của các nguồn tài nguyên máy chủ.
5.Hạn chế của phiên bản Resource Governor
Quản lý tài nguyên được giới hạn trong SQL Server Database Engine. Thống đốc tài
nguyên không thể được sử dụng cho dịch vụ phân tích, dịch vụ tích hợp, và dịch vụ báo
cáo.
Không có giám sát khối lượng công việc, quản lý khối lượng công việc giữa các trường


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status