TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN Nghiên cứu SQL Server 64 bit và ứng dụng các tính năng mới vào bài tóan q[.]
Trang 1──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
Nghiên cứu SQL Server 64-bit và ứng dụng các tính năng mới vào bài tóan quản lý, phát
Trang 2PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Mục đích nội dung của ĐATN
Nghiên cứu công nghệ SQL Server phiên bản 64-bit nhằm tìm ra những điểm ưu việt củacông nghệ này Thông qua đó, áp dụng những tính năng mới của SQL Server 64-bit vào bài tóanthực tế mà cụ thể ở đây là bài tóan “Quản lý và phát hành báo chí”
Vận dụng những kiến thức được các thầy giảng dạy trên nhà trường qua các môn học như
“Phân tích thiết kế hệ thống”, “Quy trình phát triển phần mềm”, “Giao diện người máy”, “Cấutrúc dữ liệu và giải thuật”, … để áp dụng vào bài tóan thực tế nhằm hiểu sâu hơn những gì mình
đã học Cũng là để nhìn nhận những vấn đề này trên cơ sở lý thuyết và thực tiễn
2 Các nhiệm vụ cụ thể của ĐATN
- Nghiên cứu công nghệ SQL Server phiên bản 64-bit
- Nghiên cứu SQL Server 2008, phiên bản mới nhất của công nghệ này nhằm tìm ranhững tính năng mới, những điểm ưu việt của nó so với những phiên bản trước đó
- Tiến hành học hỏi, sử dụng công nghệ mới và áp dụng nó vào bài toán Quản lý pháthành báo chí nhằm nắm bắt được công nghệ
- Khảo sát quy trình nghiệp vụ trong quản lý và phát hành báo chí của bưu điện vàcông ty Hải Hà II để có những kiến thức cần thiết nhằm phát triển ứng dụng hỗ trợcông việc này
- Phân tích, thiết kế hệ thống và xây dựng cơ sở dữ liệu cho tiến trình
- Cài đặt chương trình sử dụng SQL Server 2008 và công nghệ C#.Net
3 Lời cam đoan của sinh viên:
Tôi – Nguyễn Hải - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS Huỳnh Quyết Thắng
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ côngtrình nào khác
Hà Nội, ngày 20 tháng 5 năm 2008
Tác giả ĐATN
Nguyễn Hải
4 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
PGS.TS Huỳnh Quyết Thắng
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Trang 3- Chương I: Tổng quan về SQL Server 2008 (64-bit): Ở chương này, em xin giới thiệu vềcông nghệ SQL Server 64-bit, những đặc điểm về công nghệ được kế thừa từ nền tảng công nghệ64-bit và những tính năng ưu việt của nó.
- Chương II: Các đặc điểm của SQL Server 2008 (64-bit) trong bài tóan quản lý cơ sở dữliệu phức tạp: Ở chương này, em sẽ nói rõ hơn những tính năng mới của phiên bản SQL Server
2008 (64-bit) so với những phiên bản trước đó Qua đó cung cấp cho người đọc một cái nhìn sâusắc hơn về SQL Server 2008
- Chương III: Khảo sát và phân tích thiết kế hệ thống quản lý phát hành báo chí: Ởchương này, em sẽ giới thiệu về bài toán quản lý phát hành báo chí Các quy trình nghiệp vụcũng như những khó khăn, giải pháp mà em đề xuất nhằm giải quyết bài toán này
- Chương IV: Ứng dụng những ưu điểm nổi bật của SQL Server 2008 vào bài toán quản
lý phát hành báo chí: Ở chương này, em xin trình bày về những thành quả mà em đạt được saukhi áp dụng SQL Server 2008 vào bài tóan quản lý phát hành báo chí
- Đánh giá, kết luận: Phần cuối cùng của đồ án, em xin được tổng kết lại những kết quả
mà em đã đạt được trong thời gian thực hiện đồ án Những nhận định và đánh giá về kết quả đó
ABSTRACT OF THESIS
Trang 4- Chapter I: Overview about SQL Server 2008 (64-bit): In this chapter, I’ll show you anoverview about this new technology Though this chapter, you can see the way this technologyintegreate with 64-bit framework and have some knowledge about the advantages of this.
- Chapter II: Remakable features of SQL Server 2008 in a complicate business: In thischapter, I’ll give you a clearly view about new features of SQL Server 2008 compare with theolder versions
- Chapter III: Survey, analysis and design the News Management System: In this chapter,I’ll introduce the News Management System to you The problems of this system and thesolutions that I propose to solve them
- Chapter IV: The results that I have archived at the time I practice and complete thisplan
- Evaluation and conclusion: In this chapter, I’ll summary about the results that I havereached and give my own consider about them
MỤC LỤ
MỤC LỤC 5
Trang 5DANH MỤC HÌNH VẼ 9
DANH MỤC CÁC BẢNG 11
DANH MỤC CÁC THUẬT NGỮ 12
DANH MỤC TỪ VIÊT TẮT 14
LỜI CẢM ƠN 16
TÀI LIỆU THAM KHẢO 123
Y Chương I – Tổng quan về SQL Server 2008 (64-bit) 17
1 Giới thiệu vè SQL Server (64-bit): 17
2 Sơ lược về ưu điểm và khả năng của công nghệ 64-bit 17
3 SQL Server 2008 và công nghệ 64-bit 18
3.1 Những yêu cầu về phần cứng của SQL Server 2008 19
3.2 Các thành phần của SQL Server 2008 20
3.3 Những ưu điểm của kiến trúc 64-bit 21
4 SQL Server 2008 ( 32-bit ) với AWE 22
4.1 Tổng quan về AWE 22
4.2 Hạn chế của AWE 23
4.3 AWE không tăng không gian địa chỉ ảo 23
5 Lý do chọn SQL Server 2008 ( 64-bit ) 24
5.1 Những tác nhân ảnh hưởng đến hiệu suất xử lý dữ liệu 25
5.2 Các dịch vụ phân tích (Analysis Services) 27
5.3 Các dịch vụ tích hợp (Integration Services) 28
5.4 Các dịch vụ báo cáo (Reporting Services) 29
5.5 Khả năng tập trung hóa Server 29
6 Triển khai SQL Server 2008 (64-bit) 31
6.1 Khả năng tích hợp 31
6.2 Yêu cầu từ phía người dùng 31
6.2.1 Kiểm sóat vết, khôi phục lại từ các rủi ro, lưu trữ/khôi phục dữ liệu 31
6.2.2 Những hỗ trợ của hãng thứ ba cho 64-bit 32
Trang 66.3 Khả năng tương thích của sản phẩm 32
6.4 Triển khai 32
6.5 Driver cho 64-bit 33
Nhiệm vụ của đồ án: 33
Chương II: Các đặc điểm công nghệ của SQL Server 2008 (64-bit) trong bài tóan quản lý CSDL phức tạp 34
1 Giới thiệu: 34
2 Những điểm mới trong SQL Server 2008 (64-bit) 34
2.1 Bảo mật 34
2.1.1 Bảo mật trong cấu hình 35
2.1.2 Sự xác thực 36
2.1.3 Sự cho phép: 38
2.1.4 Mã hóa và quản lý khóa 43
2.1.5 Kiểm toán/kiểm tra trong SQL Server 2008 46
2.2 Dịch vụ phân tích dữ liệu 48
2.2.1 Xây dựng các giải pháp với quy mô Enterprise: 48
2.2.2 Mở rộng giải pháp với các phân tích toàn diện (Extend Solutions with Comprehensive Analytics): 50
2.2.3 Đem đến thông tin bên trong một cách thông minh qua các công cụ quen thuộc (Deliver Intelligence Insights thought Familiar Tools): 51
2.3 Dịch vụ tạo báo cáo 52
2.3.1 Sử dụng công cụ phát triển báo cáo: 53
2.3.2 Quản lý dịch vụ báo cáo 58
2.4 Dịch vụ tích hợp 60
2.5 Khả năng quản lý 63
2.6 Khai phá dữ liệu 65
2.6.1 Nghiệp vụ phân tích, dự báo cho tất cả mọi người 66
Trang 72.6.2 Hiểu sâu hơn từng bước của vòng đời dữ liệu 72
2.7 Không gian dữ liệu 74
2.8 Tăng tính sẵn dùng 78
2.8.1 Tăng tính sẵn sàng 78
2.8.2 Giảm thời gian dừng hoạt động 81
2.8.3 Tăng cường khả năng quản lý (Enhanced Manageability) 83
Kết chương: 85
Chương III: Khảo sát và phân tích thiết kế hệ thống quản lý phát hành báo chí 87
1 Khảo sát, phân tích thiết kế hệ thống: 87
1.1 Mô hình tổ chức: 87
1.2 Quy trình xử lý và các dữ liệu xử lý 88
1.3 Dự tính yếu tố trở ngại và phương án giải quyết 89
1.3.1 Những khó khăn: 89
1.3.2 Đề xuất: 90
1.4 Phân cấp hệ thống về chức năng 91
1.5 Phân cấp hệ thống về dữ liệu: 93
1.6 Đặc tả tóm tắt chức năng: 95
1.6.1 Phân cấp chức năng: 95
1.6.1.1 Chức năng ngoài tiến trình: 95
1.6.1.2 Những chức năng chính trong việc quản lý và phát hành báo chí: 97
1.6.2 Chi tíêt các chức năng quản lý, theo dõi phát hành báo chí: 97
1.6.2.1 Các bên tham gia tiến trình và vai trò của họ 97
1.6.2.2 Các chức năng của hệ thống nhằm đáp ứng nhu cầu công việc: 99
Kết chương: 103
Chương IV: Ứng dụng những ưu điểm nổi bật của SQL Server 2008 vào bài tóan quản lý, phát hành báo chí 104
Trang 81 Những hạn chế của hệ thống phát hành báo chí cũ được áp dụng cho doanh nghiệp:
104
2 Ứng dụng những ưu điểm mới trong SQL Server 2008 để khắc phục những nhuợc điểm của hệ thống cũ 106
2.1 Bảo mật: 106
2.1.1 Sự xác thực (Authentication): 106
2.1.2 Sự cho phép (Authorization): 107
2.1.3 Mã hóa dữ liệu trong suốt: 109
2.1.4 Kiểm sóat vết cơ sở dữ liệu: 110
2.1.5 Kiểm sóat các thao tác thêm, sửa, xóa trong hệ thống 111
2.1.6 Sử dụng các stored procedure trong truy vấn dữ liệu 112
2.2 Sử dụng dịch vụ báo cáo để tạo báo cáo 112
3 Mở ra những khả năng mới cho ứng dụng: 115
Đánh gía, kết luận 121
1 Kết luận: 121
2 Những thành quả đã làm được: 121
3 Khó khăn và hạn chế: 122
4 Hướng phát triển: 122
DANH MỤC HÌNH VẼ Hình 2.1: Hệ thống bảo mật đối tượng trong SQL Server 2008 40
Hình 2.2: Hệ thống con SQL Server Agent s kết hợp với các quyền ủy nhiệm 42
Hình 2.3: Tài khỏan ủy nhiệm của SQL Server Agent cho một số hệ thống 42
Hình 2.4: Hệ thống mã khóa trong SQL Server 2008 43
Trang 9Hình 2.5: Mã hóa dữ liệu trong suốt 45
Hình 2.6: Thiết kế báo cáo 54
Hình 2.7: Xây dựng báo cáo 55
Hình 2.8: Quản lý báo cáo 59
Hình 2.9: Quản lý cáu hình cho dịch vụ báo cáo 60
Hình 2.10: Hiệu năng 64
Hình 2.11: Chính sách bảo mật dựa trên Framework 65
Hình 2.12: Khai phá dữ liệu tích hợp với Microsof Office Exel 2007 67
Hình 2.13: Thiết kế khai phá dữ liệu trong Bussiness Intelligent Developmetn Studio 68
Hình 2.14: Cross-Validation 70
Hình 2.15: Thiết kế truy vấn DMX cho SQL Server Reporting Services 72
Hình 2.16: Khai phá dữ liệu trong các dịch vụ tích hợp của SQL Server 73
Hình 2.17: Kích cỡ của một khai phá dữ liệu trong một OLAP cube 74
Hình 2.18: Mô hình đo đạt 76
Hình 2.19: Mô hình hai chiều 77
Hình 3.2: Biểu đò BLD mưc logic của hệ thống quản lý, phát hành báo chí 92
Hình 3.1: Bảng mối quan hệ thực thể giữa các bảng dữ liệu trong SQL Server2008 95
Hình 4.1: Những chức năng public của hệ thống 107
Hình 4.2: Đăng nhập vào hệ thống 107
Hình 4.3: Phân quyền người dùng 108
Hình 4.4: Bảo mật dữ liệu thông qua certificate 110
Hình 4.5: Sử dụng Audit nhằm kiểm sóat các lỗi Failed_login ở mức Server 111
Hình 4.6: Theo dõi tình hình sử dụng hẹ thống thông qua Log File 112
Hình 4.7: Một số định dạng cho các biến trong báo cáo 113
Hình 4.8: Lựa chọn các biến đầu vào dựa trên tập giá trị cho trước từ câu truy vấn 113
Hình 4.9: Báo cáo được thiết kế nhờ kết hợp các đối tượng Table và Matrix 114
Hình 4.10: Báo cáo sử dụng các Chart để minh họa 115
Hình 4.11: Dự đóan về số lượng báo trong tương lai 115
Hình 4.12: Đào sâu vào mô hình baochi_trees1 116
Hình 4.13: Sử dụng Cross-Validation để đánh giá mức độ hiệu quả của baochi Structure_2 117
Trang 10DANH MỤC CÁC BẢNG
Bảng 1.1: Yêu cầu về phần cứng 19
Bảng 1.2: Những lựa chọn trong việc trỉên khai SQL Server 2008: 20
Bảng 2.1: Chính sách mật khẩu trong Windows Server 2003 36
Bảng 2.2: Các nhiệm vụ của khai phá dữ liệu 71
Bảng 3.2: Tính tiền báo phát hành định kỳ theo ngày 91
Bảng 3.3: Tính tiền báo phát hành định kỳ theo quý 91
Bảng 3.4: Chuẩn hóa dữ liệu ở dạng chuẩn 3 93
Bảng 3.5: Những đối tượng tham gia vào quá trình quản lý phát hành báo chí 98
Bảng 4.1: Các quyền chung nhát của hệ thống 106
Trang 11DANH MỤC CÁC THUẬT NGỮ
Database Engine Hệ thống quản trị cơ sở dữ liệu
Machine được phát triển bởi Microsoft.NetOLEDB provider Là một API do Microsoft phát triển nhằm truy cập vào các
loại dữ liệu khác nhau
Trang 12Log File Các file dữ liệu ghi lại tiến trình sử dụng
Service Master Key Khóa dịch vụ
Database Master key Khóa cơ sở dữ liệu
Database Encripiton key Mã khóa trong suốt
Hardware Security Mode Ché độ bảo vệ bởi phần cứng
Trang 13DANH MỤC TỪ VIÊT TẮT
Từ viết
tắt
QLPH-BC Quản lý phát hành báo chí Tên bài toán mà em sẽ áp dụng những
tính năng mới của SQL Server-64 bit.SSIS SQL Server Integration
Services
Các dịch vụ tích hợp của SQL Server
OLTP Online Transaction Processing Tiến trình giao dịnh trực tuyến
DBMS Databse Management System Hệ thống quản lý cơ sơ dữ liệu
SMP Symmentric Muntil Processing
HCL Hardware Comptibility List Danh sách các phần cứng được chỉ địnhWOW64 Windows on Windows 64-bit Windows dựa trên nền tảng 64-bit
AWE Address Windowing Extention Bộ mở rộng địa chỉ của hệ điều hành
CLR Common Language Runtime Một thành phần của Virtual Machine
Trang 14được phát triển bởi Microsoft.NetSAP Systems Applications &
Products
Các sản phẩn hệ thống
OLAP Online Analystical Processing Tíên trình phân tích trực tuyến
DTS Data Transformation Services Các dịch vụ chuyển đổi dữ liệu
DMAC Data Microsoft Access
KPI Key Performance Indicators Khóa chỉ thị hiệu năng hệ thống
VSTA Visual Studio Tools for
Applications
Công cụ Visual Studio cho các ứng dụng
Trang 15LỜI CẢM ƠN
Trang 16Con xin được gửi lời biết ơn sâu sắc nhất tới mẹ kính yêu, người đã hy sinh tất cả
để tạo điều kiện và nuôi nấng con trưởng thành Con cám ơn người bố đáng kính, người
đã dạy dỗ con những bài học làm người
Em xin được chân thành gửi lời cảm ơn sâu sắc tới các thầy cô giáo trong
trường Đại học Bách Khoa Hà Nội, các thầy cô trong khoa Công nghệ thông tin và
bộ môn Công nghệ phần mềm đã tận tình giảng dạy, truyền đạt cho em nền tảng kiến
thức vô cùng quý giá trong suốt 5 năm học tập và rèn luyện tại trường
Em xin được gửi lời cảm ơn đến thầy Huỳnh Quyết Thắng – trưởng bộ môn
Công nghệ phần mềm, khoa Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội, người thầy hết sức trách nhiệm và đáng kính đã luôn ân cần hướng dẫn, chỉ bảo cho
em trong quá trình làm đồ án tốt nghiệp Thầy cũng là người cho em những lời khuyêntrân thành giúp em có những định hướng rõ ràng hơn cho một tương lai còn nhiều khókhăn trước mắt mà em sẽ phải nỗ lực vượt qua Em xin cám ơn thầy rất nhiều!
Em cũng xin được bày tỏ lòng biết ơn của mình đến cô Trinh, giảng viên bộ môn
Hệ thống thông tin và anh Dũng, công ty Microsoft Viet Nam đã giúp đỡ em về mặt
tài liệu và cho em những lời khuyên về bài toán mà em thực hiện Em xin cám ơn Bưu
điện thành phố Hà Nội và Công ty trách nhiệm hữu hạn Hải Hà II đã tạo điều kiện
cho em trong quá trình em khảo sát, phân tích các nghiệp vụ của hệ thống quản lý, pháthành báo chí
Cuối cùng, em xin được gửi lời cảm ơn chân thành tới toàn thể gia đình, ta bè,những người đã luôn ở bên động viên, đóng góp ý kiến và giúp đỡ em trong quá trìnhhọc tập, nghiên cứu và hòan thành đồ án tốt nghiệp
Hà Nội, ngày 20 tháng 5 năm 2008
Nguyễn Hải – Công nghệ phần mềm K47
Chương I – Tổng quan về SQL Server 2008 (64-bit)
1 Giới thiệu vè SQL Server (64-bit):
Phiên bản Microsoft SQL Server 2005 Standard and Enterprise Editions lànhững phiên bản SQL Server 64-bit đầu tiên mà ấn tượng nó để lại chính là khả năng vềlưu trữ động và xử lý song song so với các phiên bản SQL Server 32-bit Trong chương
Trang 17này, ta sẽ tìm hiểu khả năng của công nghệ SQL Server 64-bit, những điểm nổi bật so vớicông nghệ 32-bit và cùng thảo luận về một số bài toán ứng dụng cụ thể mà ta có thể ápdụng vào để thể hiện được những điểm ưu việt của công nghệ 64-bit
Sau quá trình sử dụng, các khách hàng đều nhận thấy tổng giá trị phải chi trả chocông nghệ 64-bit thì rẻ hơn là công nghệ 32-bit Chúng ta có thể ngạc nhiên với kết quảnày! Vì khởi đầu thì công nghệ 64-bit sẽ phải mất nhiều tri phí hơn để xây dựng một cơ
sở hạ tầng tương ứng so với công nghệ 32-bit Hơn nữa, ta sẽ phải tốn rất nhiều công sức
để xây dựng một nền tảng công nghệ 64-bit hoàn chỉnh cho hệ thống của ta Điều đó cũng
có nghĩa là vòng đời các phần cứng của ta sẽ phải kéo dài hơn, đặc biệt là với những bộ
vi xử lý 64-bit đa lõi Công nghệ 64-bit cũng rất thích hợp cho việc hỗ trợ các ứng dụngphải xử lý nhiều giao dịch trực tuyến ( OLTP ) và những công việc có tính chất phân tíchtrên cùng một server thay vì giảm bớt những phần cứng, các giấy phép, hệ điều hành, vàgiá thành cơ sở hạ tầng cho chúng Điều đó có nghĩa là với cùng một server có thể đápứng được các nhu cầu của ta được lâu dài hơn, và tốn ít tiền để bào trì hơn
2 Sơ lược về ưu điểm và khả năng của công nghệ 64-bit
Để theo kịp với thời cuộc và sự am hiểu về nghiệp vụ trong thời đại bùng nổ thôngtin và đầy cạnh tranh này, một tổ chức phải có khả năng lưu trữ và phân tích một khốilượng các dữ liệu khổng lồ một cách nhanh chóng và dễ dàng Luôn luôn là những phầnthen chốt trong cơ sở hạ tầng về công nghệ thông tin, cơ sở dữ liệu chính là trái tim của
hệ thống:
Các ứng dụng và dữ liệu ngày càng phức tạp và lớn mạnh về kích cỡ Rất nhiềuứng dụng 32-bit ngày nay đã và đang gần đạt đến điểm tới hạn của công nghệ32-bit, một cách cụ thể hơn đó chính là những giới hạn trong các bộ xử lý và địachỉ bộ nhớ
Những ưu điểm tiên tiến của DBMS, đã trở thành những nghiệp vụ bắt buộc, vàđược phát triển rộng rãi hơn trong các tổ chức, khiến việc tập hợp và phân tích các
dữ liệu từ một kho dữ liệu khổng lồ với số lượng các End-User ngày càng đôngđảo
Các tổ chức đang cố gắng cải tạo các Server để đơn giản hóa các vấn đề khủnghoảng khi các bộ vi xử lý phải thực thi khối dữ liệu đó Việc củng cố này có thểgiúp cho giảm độ phức tạp trong việc quản lý và giá thành, trong khi lại phải giảm
cả những yêu cầu về khoảng không dữ liệu của trung tâm
Để đề phòng và dự trù cho những biến cố này, Microsoft đã nghiên cứu và cho racông nghệ SQL Server 64-bit với những khả năng vô cùng to lớn, tạo ra nhưng cái nhìn
Trang 18lạc quan hơn cho các bộ xử lý Intel Itanium 2, AMD Opteron, AMD Athlon 64, IntelXeon với sự hỗ trợ cảu EM64T, và Intel Pentium IV với sự hỗ trợ của EM64T.
Bằng sự hỗ trợ ghê gớm về khả năng lưu trữ và định địa chỉ bộ nhớ của công nghệ64-bit, SQL Server 64-bit có thể hỗ trợ rất nhiều cho những bộ cơ sở dữ liệu lớn và phứctạp đòng thời hỗ trợ các máy chủ trong phạm vi rộng lớn của các tiến trình xử lý đa luồng( SMP – Symmentric MuntilProcessing ) của hệ thống với nhiều bộ vi xử lý Những ứngdụng sử dụng công nghệ mới này còn được hỗ trợ rât nhiều từ bộ nhớ đệm khổng lồ vớicấu trúc xử lý đa song song các tiến trình, kết nối đồng thời điểm của các user, sắp xếpcác vùng đệm, và khóa bộ nhớ
Bằng việc loại trừ công nghệ 32-bit và xử lý những yếu điểm của công nghệ này,công nghệ 64-bit còn giúp cho các doanh nghiệp sẽ giảm giá thành khi sử dụng các ứngdụng nghiệp vụ
3 SQL Server 2008 và công nghệ 64-bit
SQL Server 2008 được đánh giá và khuyên là nên chạy trên các server sử dụng các
bộ vi xử lý như Intel Itanium 2, AMD Opteron, AMD Athlon 64, Intel Xeon với hỗ trợcủa EM64T, hoặc Intel Pentium IV với hỗ trợ của EM64T và hệ điều hành MicrosoftWindows Server 2003 Service Pack (SP) 1 mới có thể sử dụng đựoc hết những ưu điểmcủa công nghệ 64-bit Cả công nghệ 32-bit và 64-bit của SQL Server 2008 đều sử dụngmột kiến trúc chung, tạo ra một sự kế thừa dễ dàng cho các ứng dụng đương thời Cáccông ty có thể lợi dụng những công cụ và kinh nghiệm vốn có của mình cho các ứngdụng mới mà ko phải tốn công đào tạo hay xây dựng lại
Điểm khác biệt chính giữa 2 công nghệ này xuất phát từ lợi ích mà kiến trúc 64-bitmang lại Một số những điểm tiêu biểu như:
Công nghệ 64-bit cho phép ta định địa chỉ trên một không gian bộ nhớ lớn hơn
Do đó công nghệ 64-bit không bị giới hạn như công nghệ cũ Vì thế sẽ có nhiều bộnhớ hơn trong việc thực thi các câu truy vấn và hỗ trợ việc thực thi các hoạt độngliên quan đén cơ sở dữ liệu
Công nghệ 64-bit nâng cao khả năng xử lý song song, cái mà ngày càng được ứngdụng và phát triển nhiều trong các bộ vi xử lý 64-bit, và hơn thế nữa, chúng có thể
hỗ trợ rất mềm mỏng cho các bộ vi xử lý so với công nghệ 32-bit
Sự cải thiện kiến trúc bus làm nâng cao khả năng thực thi bằng cách chuyển đổinhiều dữ liệu hơn giữa bộ vi xử lý và bộ nhớ Cache trong một khoảng thời gianngắn hơn
Trang 19 Bộ nhớ Cache lớn còn cho phép hòan thành các yêu cầu của ngừơi sử dụng nhanhhơn, và các bộ vi xử lý sử dụng thời gian có hiệu quả hơn.
Bằng cách ứng dụng các ưu điểm của kiến trúc mới này, SQL Server 2008 có thểquản lý một lượng lớn và phức tạp các câu truy vấn, hợp nhất được rất nhiều cácứng dụng về cơ sở dữ liệu, và dễ dàng đáp ứng được những nhu cầu đòi hỏi trongmôi trường công nghệ thông tin của thời đại ngày nay
3.1 Những yêu cầu về phần cứng của SQL Server 2008
SQL Server 2008 không có các đòi hỏi rời rạc về việc tích hợp danh sách các phầncứng (HCL) Người dùng có thể chọn lựa những phần cứng phù hợp với hệ điều hành củamình Những yêu cầu tối thiểu được thể hiện trong bảng dưới đây:
X64 giới hạn: AMD Opteron, AMD Athlon 64, Intel Xeon với
hỗ trợ của Intel EM64T, Intel Pentium IV với hỗ trợ của EM64T
IA64 minimum: 733 MHz
X64 minimum: 1 GHz
IA64 nhỏ nhất: 512 MB IA64 chuẩn: 1 GB hoặc hơn IA64 lớn nhất: không giới hạn
X64 nhỏ nhất:512 MB X64 chuẩn: 1 GB hay hơn X64 lớn nhất: không giới hạn
Quy mô chuẩn IA64 giới hạn: bộ vi xử lý
Itanium I hoặc cao hơn IA64 chuẩn: bộ vi xử lý Itanium 2
X64 giới hạn: AMD Opteron, AMD Athlon 64, Intel Xeon với
hỗ trợ của Intel EM64T, Intel Pentium IV với hỗ trợ của EM64T
IA64 minimum: 733 MHz
X64 minimum: 1 GHz
A64 nhỏ nhất: 512 MB IA64 chuẩn: 1 GB hoặc hơn IA64 lớn nhất: không giới hạn
X64 nhỏ nhất:512 MB X64 chuẩn: 1 GB hay hơn X64 lớn nhất: không giới hạn
Quy mô
Enterprise
IA64 giới hạn: bộ vi xử lý Itanium I hoặc cao hơn IA64 chuẩn: bộ vi xử lý Itanium 2
X64 giới hạn: AMD Opteron, AMD Athlon 64, Intel Xeon với
IA64 minimum: 733 MHz
X64 minimum: 1 GHz
A64 nhỏ nhất: 512 MB IA64 chuẩn: 1 GB hoặc hơn IA64 lớn nhất: không giới hạn X64 nhỏ nhất:512 MB
X64 chuẩn: 1 GB hay hơn
Trang 2064-Express Edition Không thích hợp cho phiên bản bit Chỉ có phiên bản 32-bit làm việc trên môi trường
64-bit WOW (Windows on Windows)
SQL Server 2008 còn có thể triển khai dưới kiểu cấu hình sau:
Bảng 1.2: Những lựa chọn trong việc trỉên khai SQL Server 2008:
SQL Server 2005 (64-bit) IA64 and Windows 2003 SP1 64-bit operating system for IA64 systems.
x64 Processors (AMD64 and Intel
EM64T)
HP, IBM, Sun, Bull and Egenera SQL Server 2005 (64-bit) x64 and
Windows 2003 SP1 64-bit operating system for x64 systems.
3.2 Các thành phần của SQL Server 2008
Những thay đổi khiến cho công nghệ SQL Server 64-bit khác biệt so với nhữngcông nghệ trước đó của nó chính là những thành phần với các tính năng về 64-bit, tất cảnhững đặc điểm này của SQL Server 2008 đều là những khả năng có sẵn ( cũng nhưtrường hợp của Server Engines ), hoặc thông qua Microsoft Windows trên chế độ 64-bit (cũng như những công cụ được tích hợp trong SQL Server Management Studio ).WOW64 ( Windows on Windows 64-bit ) là một đặc đỉểm của công nghệ 64-bit doMicrosoft Windows phát triển cho phép các ứng dụng 32-bit chạy trên chế độ 32-bit cóthể được biên dịch và chạy trên hệ điều hành 64-bit Điều đó có nghĩa là những ứng dụngđược hỗ trợ bởi hệ điều hành 32-bit này cũng được hỗ trợ và tạo điều kiện để thực hiệnđúng chức năng trên hệ điều hành 64-bit Tất cả những thành phần của công nghệ 64-bitđược cài đặt và tích hợp với version 32-bit của SQL Server 2008 khiến cho việc tích hợpmột server 64-bit với những dữ liệu khác của 32-bit SQL Server 2008 một cách dễ dàng
3.3 Những ưu điểm của kiến trúc 64-bit
Những khả năng và sự thực thi tiêu biểu nhất của công nghệ 64-bit đều được kếthừa từ kiến trúc và những đặc điểm ưu việt của 64-bit Chúng ta sẽ tìm hiểu những ưuđiểm đó trong các mục dưới đây
Trang 21 Khả năng định địa chỉ vùng nhớ:
Một hệ thống 32-bit chỉ có khả năng định địa 4-GB cho không gian địa chỉ Ngòai
ra có thể định địa chỉ gián tiếp bằng cách sủ dụng Address Windowing Extentions(AWE) trên nền 32-bit, vấn đề này sẽ được bàn cụ thể hơn trong phần tiếp theo.Windows Server 2003 SP 1 chạy trên kiến trúc Intel Itanium 64-bit hỗ trợ tới1,024 gigabytes cho cả việc định địa chỉ bộ nhớ lẫn bộ nhớ vật lý
Hầu hết các bộ vi xử lý ngày nay đều được cải thiện nhờ quy trình xử lý tiến trìnhsong song dựa trên nền tảng kiến trúc 64-bit để hỗ trợ một số lượng lớn các vi xử
lý Với một số lượng lớn các bộ vi xử lý, SQL Server có thể hỗ trợ nhiều hơn chocác tiến trình, ứng dụng, và người dùng trên hệ thống đơn lẻ
Nền tảng các máy chủ đều đuợc cung cấp tới 32 CPUs giành riêng cho việc hỗ trợkiến trúc 64-bit Chuẩn cao nhất của TCP-C hỗ trợ cho SQL Server đã đạt đượcchuẩn hệ thống 64-bit bởi lẽ các hệ thống này được hỗ trợ bởi một lượng lớn các
bộ nhớ và đạt được các chuẩn của bộ vi xử lý 64-bit trên nền tảng kiến trúc 64-bit
Điểm nổi bật trong kiến trúc Bus
Kiến trúc Bus trong các chip 64-bit có tốc độ nhanh hơn và rộng hơn những chipthế hệ trước đó Cùng một lúc, nhiều dữ liệu sẽ được chuyển đến bộ nhớ Cachecũng như bộ vi xử lý theo một cách nào đó nó gần giống như việc chuyển đổi bằngkết nối băng thông rộng thay vì kết nối qua Dial-up
4 SQL Server 2008 ( 32-bit ) với AWE
Microsoft SQL Server 2005 Enterprise Edition (32-bit) với sự hỗ trợ của bộ địnhđịa chỉ (AWE – Address Windowing Extension) của Window Server 2003 API để đưa bộnhớ động lên hơn 4-GB trên nền 32-bit Điều này thực ra đã được áp dụng từ phiên bảnSQL Server 2000 nhưng tại thời điểm đó, người ta chưa tính đến những hạn chế sau này.Đối với một số ứng dụng sử dụng AWE khi nâng cấp lên phiên bản 64-bit vẫn có thể pháttriển và tồn tại độc lập
4.1 Tổng quan về AWE
Một hệ thống máy chủ 32-bit có thể quản lý tối đa là 4-GB bộ nhớ động Điều này
là một hạn chế trong việc định địa chỉ không gian bộ nhớ với hệ thống của Windows
2000 và Windows 2003 chỉ giới hạn ở mức 4-GB ( điều này là hệ quả tất yếu với tất cảcác hệ điều hành 32-bit ) Trong đó đã phải tốn 2-GB rành riêng cho việc khởi động vàchạy hệ điều hành bởi đó là những giá trị mặc định của Window 32-bit, như vậy chỉ cònlại 2-GB cho ứng dụng ( mà ở đây là SQL Server 2008 ) Ta có thể chỉnh lên đến 3-GB
Trang 22bộ nhớ cho ứng dụng bằng cách cấu hình lại file boot.ini của Windows nhưng sẽ là vấn
đề đáng phải lo ngại ( sẽ được đề cập ở phần tiếp theo )
AWE là một tập các bộ quản lý vùng nhớ mở rộng của Microsoft Win32 API chophép các ứng dụng có thể được định địa chỉ vùng nhớ lên tới 4-GB Bằng cách biến đổicác vùng nhớ vật lý như thể vùng nhớ trống ( nonpaged memory ) rồi sau đó tích hợpchúng với các vào không gian địa chỉ của 32-bit AWE có thể hỗ trợ một số ứng dụngngày càng đòi hỏi nhiều như với hệ thống dữ liệu lớn, để định địạ chỉ cho dữ liệu đượcnhiều hơn (để biết thêm thông tin về AWE, chúng ta có thể tham khảo tại địa chỉ
Microsoft Software Developer Network (MSDN) Web site (http://msdn.microsoft.com)
Bằng cách sử dụng AWE, lấy phiên bản SQL Server Enterprise Edition làm ví dụ,
có thể định địa chỉ được nhiều hơn so với những ứng dụng chuẩn
Cải thiện lên tới 32-GB bộ nhớ vật lý trên nền Windows Server 2003, khiEntrprise Edition sử dụng AWE
Cải thiện lên tới 64-GB bộ nhớ vật lý trên nền Windows Server 2003, khiDataCentrer Edition sử dụng AWE
Mặc dù AWE giúp cho mở rộng bộ nhớ động - mà chỉ những ứng dụng chuyêndụng có thể sử dụng được trong khi những ứng dụng khác thì không thể, AWE đã đặtnhững người đứng đầu vào những khó khăn khác, tốn thời gian khởi tạo, phải đối mặt vớinhững thách thức mang lại từ các tiến trình xử lý khác nhau Những khó khăn mà chỉ cócông nghệ 64-bit mới có thể giải quyết
4.2 Hạn chế của AWE
Sử dụng SQL Server 2008 ( 32-bit ) với sự hỗ trợ của AWE có một số hạn chếchính như: Những vùng địa chỉ bộ nhớ được thêm vào chỉ có tác dụng với các vùng dữliệu liên quan đến các engine's management của dữ liệu đệm Ngoài ra nó không hề hỗtrợ cho các vùng dữ liệu được chi phối bởi các quá trình hoạt động ví dụ như caching cáccâu truy vấn, sắp xếp, đánh chỉ mục, liên kết, hay lưu trữ các thông tin két nối của người
sử dụng Nó cũng không có tác dụng với các engines khác ví dụ như các dịch vụ phântích ( Analysis Services ) Trái ngược hẳn với SQL Server 2008 ( 64-bit ), nó hỗ trợ vùngđịa chỉ bộ nhớ cho tất cả các tiến trình dữ liệu và các quá trình hoạt động khác nhau Việc
sử dụng phiên bản 64-bit trên nền phần cứng theo chuẩn IA64 hoặc x64, một SQL Server
có thể được định địa chỉ lên tới 1 terabyte vùng nhớ; giới hạn hiện thời khi ta sử dụng bộnhớ vật lý hỗ trợ bởi Windows Server 2003 SP1 ( thậm trí theo lý thuyết, vùng địa chỉ bộnhớ này có thể lên tới 18 Exabytes ) Vùng nhớ này hỗ trợ cho tất cả các thành phần củaSQL Server, và với tất cả các tiến trình thao tác với các database engines Như hệ quả tất
Trang 23yếu, SQL Server 2008 ( 64bit ) đã nâng khả năng thực thi trên phạm vi rộng của bộ nhớ nhất là với những ứng dụng chuyên sâu.
-4.3 AWE không tăng không gian địa chỉ ảo
Một hệ thống 32-bit giới hạn bởi không gian địa chỉ ảo ( VAS ) ( vùng không gianđịa chỉ được sử dụng bởi Windows cho việc quản lý cấp phát bộ nhớ ) ở mức 2-GB Vìthế AWE không thể khác phục được việc giới hạn các cùng địa chỉ ảo này, rất nhiềungười đã cố gắng tăng cải thiện mức giới hạn 2-GB VAS này cho 32-bit bằng cách thayđổi file boot.ini của Windows Bằng cách này, VAS sẽ tăng lên đến 3-GB, vì thế chỉ đểlại 1-GB cho hệ điều hành Nó là hệ quả của việc cắt giảm vùng địa chỉ vật lý trên bộ nhớ
hệ điều hành Windows Server 2003 Enterprise và DataCenter Edition, lên tới 64-GB.Nhưng bởi vì hệ điều hành yêu cầu mức tối thiểu cho không gian bộ nhớ ảo là 1-GB đểquản lý hơn 16-GB vùng bộ nhớ vật lý trong một hệ điều hành Vì thế sử dụng biện phápnày khiến cho hệ điều hành phải lạm dụng một Artifical Ceiling, và vì thế làm thuyêngiảm hiệu suất của phần cứng cũng như hệ điều hành
Với tất cả các mục đích thực dụng, sử dụng AWE cho môi trường 32-bit chỉ ápdụng cho data caching Bởi lẽ những trang dữ liệu đều liên quan đến việc định địa chỉ( một yêu cẩu khi sử dụng AWE ), trong khi các thành phần khác lại không như thế Do
đó, những thành phần khác, những tiến trình liên quan đến VAS cho dù là 2 GB hay 3
GB đều có thể bị ngăn chặn trong hệ thông lớn với những công việc và tíên trình phức tạphoặc đáp ứng đồng thời nhiều yêu cầu của ngừoi dùng
Một điểm yếu khác về hạn chế của AWE liên quan đến việc hỗ trợ cho SQLServer 2008 cho các ngôn ngữ thời gian thực ( CLR - Common Language Runtime ).Mặc dù CLR sử dụng một số địa chỉ bộ nhớ được cấp phát từ buffer pool ( cấp phát trang
bộ nhớ đơn ) , vùng mà AWE hỗ trợ rất hữu dụng, hầu hết các hệ điều hành SQL( SQLOS ) cấp phát bộ nhớ ( đa cấp phát ) với lợi ích của CLR là từ VAS Với nhữngkhách hàng, những người tính đến nhiều hơn mức độ vừa phải của CLR với SQL Server
2008, thêm một lý do nữa để 64-bit giảm thiểu áp lực trong việc thực thi lên VAS
5 Lý do chọn SQL Server 2008 ( 64-bit )
Mặc dù nó cung cấp những tính năng mới và góp phần cải thiện đáng kể hiệu suấtcho rất nhiều ứng dụng nhưng, không phải tất cả các ứng dụng đều phù hợp với phiên bảnSQL Server 64-bit Phần tiếp theo này sẽ chỉ ra cho ta biết lúc nào là lúc ta nên sử dụngcác phiên bản 32-bit và lúc nào là thích hợp để triển khai hệ thống trên nền 64-bit
Một yêu cầu chung cho tất cả các khách hàng, những người đã nâng cấp lên phiênbản SQL Server 2000 64-bit trên nền IA64 là đều phải có những công cụ hỗ trợ cho SQL
Trang 24Server trên nền IA64 Với phiên bản SQL Server 2008, tất cả các thành phần bản thân nóđều được hỗ trợ bởi IA64 Platforms Thêm vào đó, bản thân nó và WOW64 đều hỗ trợ rấttốt trên x64 platforms Điều này loại trừ việc phải chạy các công cụ của SQL Server trênnền 32-bit.
SQL Server 2008 cho cả nền IA64 và x64 đều được thể hiện một cách rõ ràng nhấttrên các máy chủ 64-bit của Intel hoặc AMD Khách hàng có thể chạy SQL Server 2008(64-bit) và tất cả những thành phần của nó đương nhiên được hỗ trợ bởi nền tảng 64-bit.Hoặc cũng có thể chạy SQL Server 2008 (32-bit) trên chế độ WOW64, loại trừ nhữngmáy tính riêng lẻ chạy các công cụ Đây là một bước tiến rất quan trọng kể từ khi rấtnhiều khách hàng phải sử dụng đến cơ sở hạ tầng của hãng thứ ba ví dụ như các tổ chứcanti-virus, các chuyên viên mạng, và các chuyên viên quản lý server trên nền SQL Servercủa máy họ Hãng thứ ba này chưa hẳn đã có những nền tảng của công nghệ 64-bit để hỗtrợ cho các Server 64-bit như là phiên bản SQL Server 2008 (64-bit)
Với những ưu điểm mà nền tảng công nghệ 64-bit mang lại, SQL Server 2008 đãứng dụng được những phần cứng này nhằm hỗ trợ và nâng cao hiệu suất bộ nhớ cũng nhưkhả năng xử lý song song các tiến trình Những kết quả này thật sự có ý nghĩa quan trọngtrong việc cải thiện hiệu suất và phạm vi hiệu quả Dưới đây là một số kịch bản mà ta cóthể ứng dụng hiệu quả SQL Server 2008:
Đòi hỏi khắt khe của ứng dụng, ví dụ như việc tối ưu các SAP ( SystemsApplications and Products ) đòi hỏi một khối lượng lớn không gian địa chỉ bộ nhớ
có thể sẽ phải tìm ra cách cải thiện hiệu suất và nâng cao hiệu quả thời gian sửdụng của ngừoi dùng
Trên hệ thống 32-bit, các dịch vụ phân tích ( Analysis Services ) bị giới hạn ở mức3-GB bộ nhớ vật lý Nền tảng công nghệ 64-bit giúp khắc phục giới hạn này Nócòn có thể giúp cho các hệ thống xủ lý tiến trình và phân tích online (OLAP –Online Analytical Proccessing) được thực hiện nhanh chóng và đưa về nhữngphản hồi đề đáp ứng các yêu cầu
Nền tảng 64-bit làm cho việc thống nhất, củng cố các cơ sở dữ liệu cũng như ứngdụng được tập trung vào một số ít các server Bằng cách hosting nhiều cơ sở dữliệu trên một hệ thống 64-bit đơn, ta có thể đơn giản hóa việc quản lý, nâng caokhả năng tận dụng các vùng nhớ, và thường nâng cao hiệu suất hoạt động Kết quảcủa sự cố gắng hợp nhất này đã từng bị giới hạn trên nền công nghệ 32-bit bởi sựhạn chế về bộ nhớ và giới hạn về phần cứng trên nền hệ thống 32-bit
Trang 25 Nền tảng công nghệ 64-bit cho phép ta nâng cấp các ứng dụng đã được thực tế hóa
và phát triển; chuyển những máy chủ dư liệu bị giới hạn mà nó không còn phù hợpcho những lớp đa ứng dụng ngày nay
Ở phần tiếp theo này, sẽ liệt kê một số các tác nhân mà ta cần phải quan tâm khiđịnh triển khai ứng dụng trên nền tảng công nghệ 64-bit
5.1 Những tác nhân ảnh hưởng đến hiệu suất xử lý dữ liệu
Những đòi hỏi ngày càng cao về bộ nhớ của SQL Server trong các công việc làmột ví dụ điển hình cho SQL Server (64-bit) Rất nhiều tài nguyên của SQL Server đã bịhạn chế bởi bộ nhớ từ 2-3GB trong môi trường 32-bit Những tài nguyên đó bao gồm:
Không gian sắp xếp
Tập hợp những bảng dữ liệu
Sự tạo thành các chỉ số, bao gồm cả các chỉ số về full-text
Vùng nhớ kết nối của ngừơi sử dụng
Lên bản đồ cho bộ nhớ Cache để biên dịch các kế hoạch
Các hệ thống phải khốn khổ vì bộ nhớ ảo để thực thi các thao tác bởi vì phải đợicác tài nguyên và tạo ra các bước đệm để bộ vi xử ly biên dịch lại những kế hoạch đã bịmất trong bộ nhớ Cache Những hệ thống này còn phải trải qua những lần bắt đĩa phảihoạt động quá mức để xử lý các đối tượng Một ví dụ trong số đó là việc các bảng dữ liệuthô không thể đặt thích hợp từ bộ nhớ động vào đĩa Một số lượng lớn các câu truy vấnphức tạp không thể được đáp ứng trong một không gian bộ nhớ quá nhỏ trên nền tảngcông nghệ 32-bit – đặc biệt là những câu truy vấn được thực thi để chống lại datawarehousses và đáp ứng một thể tích lớn các dữ liệu – có thể bị ảnh huởng tới các tàinguyên của bộ nhớ Với một số lượng lớn không gian địa chỉ ảo trong hệ thống 64-bit,những câu truy vấn này có thể được thực hiện thành công và nhanh chóng
Một số những tiến trình xử lý khác có thể đuợc hưởng lợi từ không gian bộ nhớlớn:
Quá trình khởi tạo các chỉ mục nhận được nhiều lợi thế từ không gian bộ nhớ địachỉ lớn Bởi lẽ hầu hết các thao tác sắp xếp chỉ mục đều được thực hiện trong bộnhớ động Điều đó có nghĩa là tiến trình đánh chỉ mục không cần phải sử dụng đến
sự hỗ trợ của bộ nhớ tĩnh trong quá trình đánh chỉ mục
Trang 26 Chỉ mục của Full-text bị giới hạn trong 2-3 GB không gian bộ nhớ địa chỉ trênmáy tính 32-bit ( Trên thực tế, lúc mà bộ nhớ đồng thời bị chi phối bởi các tiếntrình khác, thì không gian địa chỉ này còn dưới cả 2-3 GB ) Điều này sẽ là mộtmối lo tiềm ẩn tạo ra sự tắc nghẽn cho viẹc tạo và xây dựng lại một số lượng lớncác chỉ mục Full-text Những khách hàng triển khai với số lượng lớn của hệ thốngtìm kiếm các chỉ mục Full-text đều mong muốn có một giải pháp để tăng cườngtốc độ xử lý khi xây dựng lại các chỉ mục cho hệ thống này.
Các câu truy vấn phức tạp với một số lượng lớn các bảng dữ liệu hỗn độn đuợcghép hay kết hợp với nhau đã được xử lý hiệu quả hơn khi có đủ không gian bộnhớ Hash join thật sự rất hiệu quả, nhưng chỉ khi bộ nhớ được tập trung
Hệ thống chứa số lượng lớn các Store Procedure sẽ được hỗ trợ vì khả năng thựcthi thông qua bộ nhớ Cache Kiến trúc 64-bit về thực chất có thể giảm thiểu đáng
kể hầu hết tất cả sự quá tải cũng như nguy cơ tiềm ẩn bằng cách loại trừ sự cầnthiết bằng cách lấy lại các procedures từ bộ nhớ cache và thực hiện tuần tự chúng
Những hoạt động ví dụ như kết hợp hay sắp xếp thường phải làm việc với mộtlượng lớn các tập dữ liệu Những tiến trình này sẽ được hỗ trợ rất nhiều từ bộ nhớđộng lớn của nền tảng công nghệ 64-bit
Rất nhiều những ứng dụng chuyên dụng có thể rất hữu ích nếu chúng có thể nạp nhiềuhơn một số lượng các tập dữ liệu vào bộ nhớ và điều đó có thể thực hiện được nhờ môitrừong 64-bit Mặc dù những ứng dụng yêu càu phải có nhiều hơn 64 GB bộ nhớ, mức tớihạn đạt được khi có sự hỗ trợ của AWE là rất hiếm, chắc chắn những ứng dụng này đượclợi từ tốc độ mở rộng của những trang dữ liệu nhờ bộ nhớ cache lớn thay vì phải sử dụng
hệ thống phụ của ổ cứng
5.2 Các dịch vụ phân tích (Analysis Services)
Giống như Analysis Services 2000 (32-bit), Analysis Services 2008 (32-bit) cũngkhông có khả năng sử dụng được những điểm ưu việt của AWE trong việc mở rộng bộnhớ Nó vì thế bị giới hạn ở mức độ 3 GB tổng bộ nhớ vật lý Điều này làm cho phiênbản 64-bit của SQL Server liên quan đến các giải pháp nghiệp vụ mà sử dụng đến cácAnalysis Services
Vùng bộ nhớ được thêm vào trên nền tảng cong nghệ 64-bit làm cho khả năng xử
lý cũng như hỗ trợ của Analysis Services được mở rộng rất nhiều cả về mặt tốc độ xử lýlẫn truy cập Hãy nghĩ đến môi trường 64-bit nếu những ứng dụng OLAP – OnlineAnalytical Proccessing của ta yêu cầu:
Trang 27 Một kích cỡ rất lớn SQL Server 2008 (64-bit) đã chứng minh được rằng nó hỗ trợrất tốt trong việc mở rộng kích cỡ.
Một số lượng lớn bộ nhớ dùng để xử lý qua bộ đệm
Một lượng rất lớn các Cubes Hiệu suất có ý nghĩa quan trọng và có lợi đáng kểcho số lượng lớn các cubes có thể đạt được khi sử dụng một lượng lớn hơn bộ nhớcache, và vì thế giảm thiểu việc truy cập đến đĩa vật lý hay kết hợp dữ liệu trongquá trình thực hiện cac câu truy vấn Nó cũng rất có lợi cho việc triển khai cácAnalysis Services mà có một số lượng lớn phạm vi phân chia và số lượng lớn cáckhối kết tập
Fast cube processing Tính tiện dụng về bộ nhớ giúp giảm thiểu việc phải ghi cácfiles tạm thời ra vùng đĩa Thêm vào đó, bộ nhớ còn góp phần tăng tốc độ xử lýsong song trong các giai đoạn kết hợp
Xử lý cùng lúc số lượng lớn các yêu cầu của người dùng Để môi trường 64-bitđược thiết lập, người sử dụng phải đạt được những yêu cầu sau:
o 64-bit OLE DB providers nguồn dữ liệu được sử dụng được chuyến đếnmôi trường 64-bit phải luôn sẵn sàng SQL Server 2008 (64-bit) bao gồm cảOLE DB providers để truy cập đến SQL Server Nếu sử dụng nguồn dữ liệu
từ một nơi khác, người dùng nên kiểm chứng tính sẵn dùng sao cho phùhợp với OLE DB providers
o Những định nghĩa chức năng do người dùng (UDFs) thực hiện trênAnalysis Services hay những thành phần khác được viết bởi ngôn ngữMicrosoft Visual Basic 6.0 không được hỗ trợ trên môi trường 64-bit.Người dùng cần phải kiểm tra lại những thành phần này và nếu cần thiết thì
sẽ phải viết lại chúng trên bộ Microsoft Visual Studio 2005 để biên dịch lạinhằm sử dụng trình biên dịch 64-bit
5.3 Các dịch vụ tích hợp (Integration Services)
Khi mà SQL Server 2000 64 bit được công bố, Data Transformation Services(DTS) không được hỗ trợ bởi máy tính Itanium 64-bit Tuy nhiên SQL Server 2008Integration Services (SSIS), một kiến trúc được thiết kế lại dựa trên DTS, đã có thể phùhợp đối với cả nền tảng công nghệ 32-bit lẫn 64-bit Thêm vào đó, bản thân phiên bảnSSIS SQL Server 2008 (64-bit) có thể cài đặt trên cả hệ thống IA64 cũng như hệ thốngx64 (EM64T cho Intel và AMD64 cho AMD), cung cấp khả năng mềm dẻo cho người
Trang 28dùng về việc lựa chọn nền tảng công nghệ mà họ sẽ dùng để phù hợp với môi trườngcông việc của họ.
Đó thực sự là một tin vui đặc biệt cho SSIS trên hệ thống 32-bit khi mà khônggian bộ nhớ ảo bị giới hạn ( 2-3 GB ) khiến cho sự hỗ trợ về bộ nhớ của AWE không cònthích hợp nữa
Trên thực tế với những công việc mà khách hàng phải thực hiện trên một khốilượng lớn dữ liệu và phức tạp các thao tác biến đổi, nạp các tiến trình đã thu lại đượcnhững kết quả khả quan Sử dụng những cấu hình tương tự nhau trên nền 32-bit lẫn 64-bit của cùng một hệ thống và khối lượng công việc đã cho thấy những gói SSIS bao gồmcác thao tác đọc số lượng lớn các dòng, tiến hành kết hợp, và dưa kết quả ra nhiều bảng
đã tăng hiệu suất một cách đáng kể, gấp 4 lần khi sử dụng hệ thống 64-bit Đến mộtchừng mực nào đó, việc xử lý song song các tiến trình với các tiến trình 64-bit mà SQLServer 2008 (64-bit) có thẻ tự động sử dụng được những ưu điểm của nên tảng này mà kocần sự can thiệp của người dùng
Các thành phần SSIS trên nền hệ thống 64-bit chỉ ra những lợi ích sau:
Những thành phần SSIS thực thi theo kiểu row-by-row ví dụ như tính toán nhữngcột mới, chuyển đổi dữ liệu, thay đổi các thuộc tính, và giám sát việc kết hợp vớinhững bản dữ liệu liên quan đã cho thấy những hiệu suất cao khi sử dụng nền tảngcông nghệ 64-bit
Những nhiệm vụ của SSIS trong việc kêt hợp, sắp xếp, và tìm kíếm thông tin mờ,cần phải làm việc với toàn bộ dữ liệu rất hiệu quả khi bộ nhớ lớn được mở rộng
Đối với kho dữ liệu truyền thống, quá trình tích hợp làm cho phù hợp và hiển thị
dữ liệu, khi mà sự kết hợp, sắp xếp và những thao tác khác được thực hiện bởi dữliệu trên máy chủ Những thao tác này liên quan đến những đòi hỏi cho tài nguyên
từ các câu truy vấn của người dùng Thêm vào đó, kiến trúc này không tỷ lệ với sốlượng lớn dữ liệu và cho đa phức tạp các sự kết hợp SSIS 64-bit lại dễ dàng thựchiện được các tiến trình kết hợp, sắp xếp, và thêm vào đó là thích ứng và thể hiện
dữ liệu Kiến trúc mới này thích hợp và cũng giải phóng dữ liệu khỏi các câu truyvấn của ngừơi dùng
5.4 Các dịch vụ báo cáo (Reporting Services)
Reporting Services của SQL Server 2008 hỗ trợ bộ xử lý 64-bit, bao gồm cả bộ vi
xử lý Intel Itanium2 cũng như kiến trúc x64 cảu AMD và Intel Trên hệ thống x64,
Trang 29Reporting Services có thể chạy hiệu quả trên cả chế độ 32-bit lẫn chế độ 64-bit trên hệthống phụ Windows on Windows (WOW).
Nói chung, hệ thống 64-bit chạy trên cùng một tốc độ của bộ vi xử lý sẽ khôngtăng tốc độ báo cáo Thay vào đó, lợi ích chính là người dùng có thể xem và xuất ra mộtkhối lượng báo cáo lớn Ta có thể có đựoc kết quả tốt hơn thế trên các máy 64-bit
5.5 Khả năng tập trung hóa Server
Những kiểm định ban đầu trên những ứng dụng Enterprise Resource Planning(ERP) đã chỉ ra rằng những hệ thống 64-bit đã góp phần đáng kể tăng tốc độ và hiệu suấtcủa mỗi CPU so với hệ thống 32-bit Bởi vì hệ thống 64-bit cung cấp nhiều hơn các linearscalability Một điểm có ý nghĩa quan trọng trong việc tăng hiệu súât của CPU xuất phát
từ việc cải thiện kiến trúc bus và mở rộng bộ nhớ cache Hơn thế nữa, dựa trên kiến trúc64-bit, các máy chủ có thể sử dụng đến 32 CPUs TPC-C chuẩn mực nhất thiết kế choSQL Server đã áp dụng được hệ thống 64-bit trên cả khối lượng lớn về bộ nhớ và sự cảitiến, nâng cấp của kiến trúc 64-bit Lợi ích lớn nhất mà người sử dụng có thể có được là
sự tối ưu được xây dựng trên SQL Server 2008 khiến cho người dùng không phải làm bất
cứ một công việc phụ nào khác ngoài việc ứng dụng công nghệ mới này
Thêm vào đó là những bộ vi xử lý và vùng bộ nhớ lớn là những ưu điểm của môitrường 64-bit rất có ý nghĩa nhằm tạo cơ hội cho việc tập trung, làm củng cố các máychủ Một lượng lớn các dữ liệu tập trung có thể được đưa vào trong một đối tượng SQL,đối tượng này có đủ thẩm quyền về bộ nhớ để hỗ trợ cấu trúc dữ liệu (kết nối, khóa,hash…) cần thiết cho các ứng dụng thực thi tại cùng một thời điểm Lợi ích tương tựcũng được ứng dụng cho việc tập trung hóa nhìêu sự kiện trên một máy chủ vật lý
Người dùng nên cân nhắc kỹ SQL Server 2008 (64-bit) cho các CPU chuyên mônhóa cao khi mà cần thiết phải đánh địa chỉ bằng cách thêm vào các bộ vi xử lý Phiên bản64-bit đặc biệt có tác dụng với những hệ thống sử dụng đến 16 hay nhiều hơn các bộ vi
xử lý Thêm vào đó, với sự hỗ trợ của “hot-add memory” của SQL Server 2008, ngườidùng có thể phát trỉên động khả năng thực thi các tiến trình của hệ thống SQL Server màkhông ảnh hưởng đến các công việc khác
Trong trường hợp phải tập trung hóa các máy chủ, nếu một trong số đó có ý địnhmang mười cơ sở dữ liệu từ mười servers khác nhau vào một server, trên nền 32-bitserver, sự hạn chế của công nghệ này sẽ ngăn chặn khách hàng cài đặt multiple instancesthay vì đưa tất cả các dữ liệu này vào một instance
Lý do của nó chính là không gian địa chỉ ảo (VAS) Hãy nhớ là mỗi đối tượngtrong mười đối tượng kia đều phải sử dụng đến VAS quản lý tuần tự theo thời gian để
Trang 30được đưa vào bộ nhớ cache Chỉ cần đo khối lượng VAS mà mỗi đối tượng SQL Servercần dùng tới, tính tổn ra, khối lượng VAS này có thể vượt quá ranh giới 2-3 GB bộ nhớ
ảo Nếu ranh giới này bị bỏ qua, các vấn đề lớn trong việc thể hiện của các host sẽ tănglên và điều đó ảnh hưởng đến toàn bộ cơ sở dữ liệu Đó là lý do tại sao mà khi ta thốngnhất nhiều cơ sở dữ liệu từ nhiều server vào một đối tượng trên nền 32-bit sẽ trở thànhmột vấn đề lớn
Điều đó không còn là vấn đề của nền tảng công nghệ 64-bit kể từ khi VAS trênmột hệ thống 64-bit tính theo lý thuyết đã có thể tăng đến 18 exabytes thay vì 2 GB.Vìthế khách hàng có thể thoải mái lựa chọn việc tập trung hóa hay phân tán các đối tượngSQL dựa trên các yêu cầu nghiệp vụ của họ Họ không còn bị hạn chế bởi công nghệ nữa.Nền tảng 64-bit đã tạo ra sự mềm dẻo khi khach hàng phải vạch ra kế họach tập trunghóa Việc tập trung hóa như thế sẽ góp phần giảm thiểu những chi phí cho bản quyền sửdụng các bộ vi xử lý SQL Server và vì thế mà cũng giảm thiểu số lượng các server và độphức tạp trong quản lý
6 Triển khai SQL Server 2008 (64-bit)
Microsoft đã rất nỗ lực và họ đã thu được những thành quả quan trọng trong việctích hợp SQL Server 2008 (64-bit) và SQL Server 2008 (32-bit) Điều bao gồm việctương hợp nhau đối với cả dữ liệu trên đĩa cũng như những file log Cả hai hệ thống nàyđều tương tự nhau ở cùng một mức sử dụng (không tính đến độ phức tạp khác nhau vàviệc quản lý tài nguyên), điều đó có ý nghĩa quan trọng trong việc xây dựng hệ thống 32-bit cũng như 64-bit trên cùng một kiến trúc thượng tầng
6.1 Khả năng tích hợp
Họat động kinh doanh của trung tâm dữ liệu có thể bao gồm cả việc kết hợp giữa
hệ thống 32-bit và 64-bit với ứng dụng Các tổ chức vẫn có thể tiếp tục sử dụng các máychủ 32-bit và kết nối tới các máy chủ 64-bit để tận dụng các ưu điểm của nền tảng 64-bit,hoặc có một hệ thống server nơi mà kết hợp cả hai Những máy client không có sự thayđổi gì trong việc lập trình khi gửi các yêu cầu đến các hệ thống 32-bit và 64-bit Nhữngứng dụng liên kết đến hệ thóng 32-bit vẫn có thể truy cập đến hệ thống 64-bit mà khôngcần phải thay đổi gì trong việc lập trình, ví dụ như những Transact-SQL đều được dùngchung cho cả hai phiên bản
6.2 Yêu cầu từ phía người dùng
Ở phiên bản SQL Server 2008 có một số những chức năng mới được thêm vào mànhững doanh nghiệp đã và đang cố gắng sử dụng nền tảng công nghệ 64-bit nên biết
Trang 316.2.1 Kiểm sóat vết, khôi phục lại từ các rủi ro, lưu trữ/khôi phục dữ liệu
Rất nhiều khách hàng yêu cầu khả năng kiếm sóat các vết trong tiến trình Về cách
mà ai đó thay đổi, thay đổi cái gì, thay đổi như thé nào, vào lúc nào? SQL Server Profilercủa SQL Server 2008 có thể được cài đặt trên hệ thống 64-bit đẻ kiểm sóat các vết này.Thêm vào đó, Microsoft còn liên kết với những hãng thứ ba như Lumigent và LogPI đểthêm vào những khả năng theo dõi các vết qua file log
Tất cả những đặc điểm trong lưu trữ và khôi phục trong phiên bản SQL Server
2008 (32-bit) đều được kế thừa cho phiên bản 64-bit với hiệu suất cao hơn
Thêm vào đó những khả năng về hạn chế rủi ro ví dụ như quản lý vết và nhân bản
dữ liệu đều được tích hợp vào phiên bản SQL Server 2008 (64-bit) Những đặc điểm này
sẽ thực thi theo cách mà nó đã làm trong hệ thống 32-bit mặc dù nó được xây dựng đểtích hợp với phiên bản 64-bit
6.2.2 Những hỗ trợ của hãng thứ ba cho 64-bit
Mặc dù thực tế là vẫn có những ứng dụng không thực sự được hỗ trợ nhiều bởinhững lợi ích sẵn có mà hệ thống 64-bit mang lại, những máy chủ mới của AMD và Intel
đã được công bố sẽ cho phép những ứng dụng 32-bit có thể chạy ổn định trên các máyhay hệ điều hành x64
6.3 Khả năng tương thích của sản phẩm
SQL Server 2008 (64-bit) tương thích hoàn toàn với SQL Server 2008 (32-bit), tạođiều kiện thuận lợi cho việc tích hợp dễ dàng với cơ sở hạ tầng hiện thời trong khi vẫn hỗtrợ cho việc mở rộng các phần cứng 64-bit Sản phẩm còn có thể tương thích với cả dữliệu của phiên bản SQL Server 2000 (32-bit và 64-bit) và những log files giao dịch
Không như SQL Server 2000 (64-bit), những công cụ quản lý của SQL Server
2008 (64-bit) và những thành phần của client có thể được ứng dụng cả trong môi trường64-bit lẫn môi trường WOW
Có một số sự thay đổi trong những ưu điểm nổi bật cũng như thành phần ở phiênbản 64-bit của SQL Server và Window Server 2003 Một số thành phần được sử dụngnhư là một phần cài đặt của SQL Server như Microsoft Data Access Components(DMAC), Distributed Transaction Coordination (DTC) và Microsoft ManagementConsole (MMC)
Trang 326.4 Triển khai
Cả những phiên bản SQL Server 2000 (32 và 64 bit) hay SQL Server 2008 (32 và
64 bit) đều có thể được triển khai trên cùng một đĩa dữ liệu và cùng định dạng file log.Với những cơ chế sẵn có trong việc gỡ và nhúng, hay lưu trữ và khôi phục
Gỡ và gắn:
Hệ thống cung cấp những stored procedures cho phép gỡ (sp_detach_db) dữ liệu
từ phiên bản 32-bit rồi sau đó cho phép gắn (sp_attach_db) chúng vào phiên bản64-bit Điều này cũng có thể thực hiện được thông qua SQL Server ManagementStudio
Lưu trữ và khôi phục:
Với cùng một tiến trình chuẩn trong việc lưu trữ và khôi phục có thẻ dược dung đểnhúng dữ liệu vào nền tảng 64-bit, bằng cách khôi phục lại các bản lưu trữ củaphiên bản 32-bit cho phiên bản 64-bit Có thể sử dụng các câu lệnh SQL hoặc sửdụng công cụ SQL Server Management Studio
6.5 Driver cho 64-bit
Microsoft cung cấp đầy đủ tất cả các driver cần thiết cho phiên bản SQL Server
2008 64-bit Tuy nhiên những sản phẩm của các hang thứ ba thì cần phải nâng cấp cáctiến trình nếu muốn sử dụng phiên bản này của Microsoft
Trang 33Chương II: Các đặc điểm công nghệ của SQL Server 2008 (64-bit) trong bài tóan quản lý CSDL phức tạp.
1 Giới thiệu:
Mặc dù SQL Server 2008 không phải là phiên bản đầu tiên của SQL Server 64-bit( SQL Server 2005 là phiên bản đầu tiên của công nghệ 64-bit ) nhưng với những nỗ lựccủa Microsoft trong việc không ngừng hoàn thiện các sản phảm của mình, phiên bản SQLServer 2008 đã có những tính năng mới, nổi trội hơn phiên bản SQL Server 2005 Dứơiđây ta sẽ tìm hiểu về những tính năng mới của phiên bản SQL Server 2008 (64-bit)
2 Những điểm mới trong SQL Server 2008 (64-bit)
2.1 Bảo mật
Bảo mật ngày càng trở thành một vấn đề hàng đầu khi mà càng nhiều các mạngđược kết nối với nhau Tổ chức của ta phải bảo mật được những thông tin nhạy cảm và cógiá trị cao Bảo mật đã trở thành một đặc điểm then chốt của các database engine SQLServer 2008 được thíêt kế nhằm nâng cao khả năng bảo mật và làm cho bảo mật ngàycàng tới gần được và dễ hiểu cho những người có nhiệm vụ bảo vệ dữ liệu
Rất nhiều bài báo và cuộc thảo luận nói về sáng kíến cho độ tin cậy của Microsofttrong việc sử dụng máy tính để dựa vào đó định hương các nhà phát triển phần mềm Cóbốn điểm mấu chốt trong sáng kiến này:
Bảo mật nhờ thiết kế: Phần mềm yêu cầu một bảo mật trong thiết kế nhằm đẩy
lùi những kẻ tấn công và bảo vệ dữ liệu
Bảo mật nhờ mặc định: Người quản trị hệ thống không nên thay đổi việc cài đặt
bảo mật cho hệ thống; nên để chế độ bảo mật theo mặc định
Bảo mật trong triển khai: Phần mềm nên cho phép nó tự động cập nhật các bản
vá bảo mật và bảo trì hệ thống
Sự truyền thông: Truyền đạt những kinh nghiệm thực tiễn và đưa ra các tuyến
thông tin vì thế quản trị viên có thể tiên phong bảo vệ hệ thống của họ
Trang 34Dưới đây sẽ trình bày về những đặc điểm bảo mật tốt nhất cho người quản trị hệthống và dữ liệu Băt đầu từ cái nhìn tổng quan về cái cách mà SQL Server 2008cài đặt và cấu hình bảo mật Nó sẽ thăm dò những đặc điểm nổi bật về tính xácthực và sự cho phép kiểm sóat truy cập tới server và chỉ ra cách mà một user cóthể tạo ra một authenticated Và kết thúc là cái nhìn tổng quan về các đặc điểmtrong bảo mật mà một quản trị viên cần phải bíêt
Trong giới hạn của đồ án, em xin trình bày sơ qua về bảo mật trong cấu hình, tínhxác thực, sự cho phép là những đặc điểm chung của SQL Server 64-bit (đã được
đề cập ở phiên bản SQL Server 2005) mà đi sâu phân tích những điểm mới trongbảo mật của SQL Server 2008 là mã hóa và quản lý khóa, khả năng kiểm tra, kiểmtoán
2.1.1 Bảo mật trong cấu hình
Yêu cầu đầu tiên trong bảo mật trong cài đặt SQL Server chính là bảo mật môitrường Không có nhiều sự thay đổi trong bảo vệ bên ngòai khi sử dụng SQL Server
2008 Chỉ cần ta sao lưu dữ liệu đúng cách, đặt hệ thống của ta trong sự bảo vệ củatường lửa và nên cho phép một số ít các giao thức mạng được sử dụng trong hệthống Cài đặt hệ thống trên Windows Server 2003 và đặt các phân vùng dữ liệu dướiđịnh dạng NTFS Chỉ khi môi trường bảo vệ được thiết lập, ta mới tiến hành thiết lậpbảo mật cho SQL Server 2008 Bản thân tất cả các cầu hình bảo mật đã được thiết lậptrong quá trình cài đặt SQL Server 2008 Đó là tất cả những gì ta phải làm trong độtin cậy về sử dụng máy tính thông qua mặc định cấu hình
Cập nhật Windows:
Những lưồng mới và lỗ hổng có thể phát sinh sau khi ta cài đặt SQL Server.Window Update được thiết kế nhằm down xuống các bản vá theo định kỳ để khắcphục những sự cố như thế này
Vấn đề là nó mất khá nhiều thời gian để thực hiện tất cả các Transact-SQL liên
quan ngay cả khi ta biết sp_configuresystem procedure đã làm hầu như tất cả
những gì ta phải làm thì ta vẫn phải tiến hành viết các code sau:
Trang 35sp_configure 'show advanced options', 1
reconfigure with override
sp_configure 'clr enabled', 1
SQL Server 2008 bao gồm cả những chính sách – dựa trên công nghệ quản lý gọi
là Declarative Management Framework (DMF) DMF cung cấp một số pha cấuhình, mỗi pha trong số đó sẽ định nghĩa một tập hợp các cầu hình hay thuộc tính
Một trong số đó chính là pha Surface Area và ta có thể sử dụng pha này nhằm
thiết lập một chính sách cho phép kiểm soát trạng thái của một số đặc điểm trongSQL Server 2008
2.1.2 Sự xác thực
SQL Server 2000 được phát triển vào thời điểm mà sự bảo mật của server luôn bị tấncông một cách tàn nhẫn bởi các kẻ xấu trên Internet Câu hỏi cơ bản cho tính xácthực luôn là “Ta là ai và làm thế nào để chứng minh người đó chính là ta?” NhưngSQL Server 2008 còn cung cấp nhiều tính xác thực mạnh mẽ hơn có thể giúp choviệc bảo mật được tốt hơn
SQL Server Authentication cung cấp mức bảo mật dựa trên việc xác định người dùngthông qua ids và passwords nhưng độ bảo mật của nó không cao như của WindowsAuthentication Vì thế SQL Server 2008 đã hoàn thiện hơn lựa chọn SQL ServerAuthentication Trước tiên, nó cung cấp mã hóa cho các kênh bằng cách mặc địnhcác sử dụng các certificates Việc tạo ra các certificate này là hoàn toàn tự động trongSQL Server 2008 Chú ý rằng, với certificates mặc định này, ta chỉ có thể chốngđược những kẻ tấn công không chuyên nghiệp Để nâng cao bảo mật, ta nên triểnkhai và sử dụng certificates mà các máy client tin tưởng
Sự bắt buộc của chính sách mật khẩu
Với SQL Server 2008, chính sách này được xây dựng bên phía server Sử dụng
NetValidatePasswordPolicy() API, một phần của thư viện NetAPI32 của
Windows Server 2003 Bảng dưới đây là chính sách mật khẩu của một số thànhphần trong Windows Server 2003
Bảng 2.1: Chính sách mật khẩu trong Windows Server 2003
Chính sách
mật khảu
Sử dụng mật khẩu trong quá khứ.
Ngăn chặn người dùng sử dụng lại mật khẩu tỏng quá khứ ví dụ như sự thay thế giữa mật khẩu mới và cũ
Độ dài tối thiểu cho mật khẩu
Trang 36Mật khẩu phải đủ phức tạp Xem phần dưới đây Lưu trữ mật khẩu sử dụng
mã hóa hóa thuận nghịch
Cho phép khôi phục lại mật khẩu từ Windows Ta nên đừng bao giờ làm như thế (Chính sách này không được chấp nhận trong SQL Server.)
Khoàng thời gian một account bị khóa tính theo phút
Ngưỡng khóa account Giới hạn số lần đăng nhập không thành công.
Khởi động lại account sau khi khóa.
Khoảng thời gian tính bằng phúc mà Windows cho phép những account đăng nhập không thành công được tiếp tục đăng nhập hệ thống.
SQL Server luôn mặc định kiểm tra chính sách mật khẩu, tuy nhiên ta có thể thaythế sự kiện này bằng lời phát biểu của CREATE LOGIN hay ALTER LOGIN nhưđoạn mã sau:
CREATE LOGIN bob WITH PASSWORD = 'S%V7Vlv3c9Es8',
CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF
Trong đó CHECK_EXPIRATION sử dụng quản lý tuổi đời mật khẩu,CHEK_POLICY sử dụng một chính sách khác
Khi một người nào đó bị khóa account vì đăng nhập không thành công nhiều lần,ngừơi quản trị viên có thể khôi phục lại account bằng cách thông qua ALTERLOGIN:
ALTER LOGIN alice WITH PASSWORD = '3x1Tq#PO^YIAz' UNLOCK
Trang 37phù hợp với Windows Login Nếu sử dụng Basic Authentication, ta khôngthể thiết lập biến PORTS cho CLEAR nhưng sẽ thiết lâp chúng cho SSL
Là sự tích hợp giữa Kerbros và NTLM authentication
Ví dụ sau cho phép tạo ra một endpoint sử dụng Kerboros Authentication:
CREATE ENDPOINT myEndpoint
STATE=STARTED
AS HTTP (PATH = '/MyHttpEndpoint',
AUTHENTICATION = (KERBEROS),
PORTS = (CLEAR), SITE = 'MySqlServer') FOR SOAP (WSDL = DEFAULT,
DATABASE = 'myDB', NAMESPACE = 'http://example.com/MySqlServer/myDB/WebService')
2.1.3 Sự cho phép:
Sau khi đăng nhập được vào hệ thống, việc tiếp theo cần kiểm định đó là quyềncủa mỗi user Trong vùng này, SQL Server 2008 có tính mềm dẻo hơn so vớinhững phiên bản trước Các quyền giờ có tính độc lập hơn và vì thế ta có thể phânquyền theo yêu cầu thay vì phân quyền theo nhóm với những quyền mặc địnhtrong khi người dùng có thể đòi hỏi nhiều hơn như thế Thêm vào đó là khả năngứng dụng những lợi thế trong bảo mật dữ liệu người dùng Hơn thế nữa, nó cho
Trang 38phép thiết lập các quyền cơ bản sử dụng một cơ chế cho phép một người nào đó cóthể định nghĩa ngữ cảnh bảo mật thông qua procedure.
Các quyền riêng lẻ:
Mặc dù cho phép thiết lập các quyền riêng lẻ, SQL Server 2008 vẫn kế thừa những
ưu điểm về cấu hình tĩnh các quyền từ phiên bản SQL Server 2000 Tất nhiên sự
thay đổi lớn nhất trong phần này chính là những Public server roles
Người ủy nhiệm và khả năng bảo mật
Trong SQL Server 2008, một ủy nhiệm viên có thể là một cá thể, một tập hợp,hay một tiến trình yêu cầu truy cập vào tài nguyên được bảo vệ Danh sáchdưới đây sẽ cho ta biết thứ bậc ủy nhiệm viên trong SQL Server 2008 và cách
mà ta có thể sắp đặt logins và database users nhằm bảo vệ các đối tượng Với
mỗi dữ liệu người dùng sẽ tự động được cung cấp một số quyền public mặc
định
Mức ủy nhiệm trong Windows:
Windows domain login
Windows local login
Windows group
Mức ủy nhiệm trên SQL Server:
SQL Server Login
SQL Server login kết hợp với Windows login
SQL Server login kết hợp với một certificate
SQL Server login kết hợp với một khóa không đối xứng
Mức ủy nhiệm trên dữ liệu:
Database user
Database user kết hợp với SQL Server login
Database user kết hợp với a Windows login
Database user kết hợp với a certificate
Database user kết hợp với an asymmetric key
Database role
Application role
Trang 39Phần khác của authorization là những đối tượng mà ta có thể bảo vệ thôngqua việc đồng ý hay không cho phép quyền Hình dứoi sẽ cho ta biết hệthống bảo mật đối tượng trong SQL Server 2008.
Hình 2.1: Hệ thống bảo mật đối tượng trong SQL Server 2008
Những quyền hạn và vai trò:
Về cơ bản, một số quyền trong SQL Server được bao trong chức năng hệthống fn_builtin_permissions
SELECT * FROM sys.fn_builtin_permissions(default)
Dưới đây là một số loại quyền mới trong SQL Server 2005:
Control: cho phép cung cấp các quyền được định nghĩa từ trước
Alter: cung cấp quyền cho phép thay đổi bất cứ thuộc tính nào trongcác đối tượng bảo mật
Alter Any <securable objects>: cung cấp quyền có thể thay đổi bất
cứ đối tượng bảo mật nào
Inpersonate On <login or user>: cung cấp quyền cho phép đóng vaingười dùng nào trong hệ thống
Take Ownership: cung cấp quỳen cho người được chuyển nhượng đểlấy quyền sở hữu the securable, sử dụng Alter Authorization
Bảo mật Metadata:
Trang 40Lợi ích từ việc phối hợp các quyền đơn làm cho SQL Server có thể bảo vệmetadata như là data Trước SQL Server 2005, bất cứ người nào truy cậpvào một dữ liệu có thể thấy metadata của tất cả các đối tượng liên quan đếndatabase Dù muốn hay không, user vẫn có thể truy cập vào dữ liệu và thựcthi các stored procedure.
SQL Server 2008 kiểm tra các quyền của người ủy nhiệm có đối với dữ liệu
và khám phá metadata của một đối tượng chỉ khi ngừoi ủy nhiệm có quyềntrên đối tượng này
Sự bảo vệ này đưa ra thông báo lỗi cho những người không có quyền truycập hay cập nhật đối tượng Hơn là để những kẻ tấn công truy cập được vàođược bảng Address và lần theo vết, SQL Server sẽ đưa ra thông báo đểngăn cản đìêu đó
SQL Server Agent proxies (Ủy quyền thông qua tác tử)Một ví dụ điển hình nhất của mô hình authorization trong SQLServer 2008 chính là SQL Server Agent Ta có thể định nghĩa một sốđiều khoản tích hợp với Windows logins, lien kết với người dùng vàcung cấp một số quyền cần thiết thể hiện một hay nhiều hơn thế cácbước của SQL Server Agent Một SQL Server Agent sau đó sẽ ủynhiệm liên kết đến một phẩm chất cho phép cung cấp những quyềncần thiết
Thông qua Object Exploxer in Management Studio sẽ thể hiện danhsách những hệ thống nhỏ trong SQL Server Agent Mỗi hệ thốngnhỏ này có một hoặc nhiều hơn sự ủy nhiệm kết hợp với Agentnhằm cung cấp những quyền thích hợp cho các bước làm việc