error handling – chiến lược xử lý lỗi trong SQL server Xử lý lỗi là vấn đề không thể bỏ qua đối với các ngôn ngữ lập trình cũng như các phần mềm ứng dụng. Điều này cũng đúng đối với người lập trình cơ sở dữ liệu bằng ngôn ngữ SQL.Với vai trò là một chuyên viên lập trình cơ sở dữ liệu, bạn hãy trình bày chiến lược xử lý lỗi trong SQL Server bằng việc tìm hiểu và phân tích các vấn đề: Thông báo lỗi hệ thống và thông báo lỗi do người dùng định nghĩa trong SQL Server. Cài đặt mã nguồn đưa ra thông báo lỗi Bẫy lỗi và xử lý lỗi Một số ứng dụng có cài đặt Error Handling và ý nghĩa của việc xử lý lỗi trong các ứng dụng này
BÀI TẬP KỸ NĂNG MÔN HỌC : HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU – TH201 HỌC VIÊN THỰC HIỆN Họ & tên: PHẠM NGUYỄN BẢO NGUYÊN Lớp: QD11 Chuyên ngành: Công Nghệ Thông Tin Email: nguyenpnb27334@student-topica.edu.vn ĐỀ TÀI Error Handling – Chiến lược xử lý lỗi SQL Server Xử lý lỗi vấn đề bỏ qua ngơn ngữ lập trình phần mềm ứng dụng Điều người lập trình sở liệu ngơn ngữ SQL Với vai trò chun viên lập trình sở liệu, bạn trình bày chiến lược xử lý lỗi SQL Server việc tìm hiểu phân tích vấn đề: - Thơng báo lỗi hệ thống thông báo lỗi người dùng định nghĩa SQL Server - Cài đặt mã nguồn đưa thông báo lỗi - Bẫy lỗi xử lý lỗi - Một số ứng dụng có cài đặt Error Handling ý nghĩa việc xử lý lỗi ứng dụng PHẦN MỞ ĐẦU Như bạn biết đơn vị nhỏ hay lớn phần Cơ Sở Dữ Liệu (CSDL) phần quan trọng Tuy nhiên xây dựng, thiết kế, vận hành CSDL khơng thể trách khỏi sai sót, cố ngồi ý muốn, hay phát sinh lỗi làm ảnh hưởng đến việc cung cấp thông tin xác cho người dùng Vì với vai trò người lập trình, quản trị hệ thống bạn cần phải lưu tâm đến vấn đề sau - Thống kê lỗi thường gặp giải pháp xử lý - Cài đặt thông báo lỗi cho phù hợp với hệ thống người sử dụng - Cài đặt mã nguồn thông báo lỗi tự động cho hệ thống - Tìm kiếm công cụ hỗ trợ cho việc xử lý lỗi hệ thống - Tối ưu hóa hệ thống, hạn chế sai sót, cố vận hành - Cập nhật kiểm tra hệ thống thường xuyên MỤC TIÊU TRÌNH BÀY Thơng báo lỗi hệ thống thông báo lỗi người dùng định nghĩa SQL Server Cài đặt mã nguồn đưa thông báo lỗi Bẫy lỗi xử lý lỗi Một số ứng dụng có cài đặt Error Handling ý nghĩa việc xử lý lỗi ứng dụng NỘI DUNG TRÌNH BÀY Giới thiệu Error Handling Cài đặt báo ErrorlỗiHandling SQL Sever Thông hệ thốngtrong thông báo lỗi người dùng định nghĩa SQL Server 54 Cài đặt mã nguồn đưa thông báo lỗi Một số Bẫy lỗi ứng xử dụng lý lỗicó cài đặt Error Handling Ý nghĩa củadụng việc có sử cài dụng Một số ứng đặtError ErrorHandling Handling ý nghĩa việc xử lý lỗi ứng dụng Giới Thiệu Error Handling Error Handling (Xử lý lỗi) - Là tiến trình bắt lỗi tạo chương trình mà bạn thiết lập sau thực hành động thích hợp để thông báo cho người dùng, người quản trị xử lý - Trong SQL Sever thấy xử lý lỗi cơng cụ sau: + SQL Profiler hay SQL Server profiler có khả chụp tất kiện hay hoạt động diễn SQL Server và lưu lại dạng file text hữu dụng việc kiểm sốt hoạt động của SQL Server cơng cụ hữu ích cho DBA (Database Administration) theo dõi câu lệnh TSQL(SQL, DDL, DML) truy cập từ ứng dụng vào Database Engine Dựa vào DBA (Database Administration) phân tích, đánh giá cải thiện tốc độ xử lý Database + SQL Server Extended Event hệ thống xử lý kiện chung cho hệ thống máy chủ + TRY CATCH hàm RAISERROR (T-SQL): Được dùng để đưa thông báo SQL Sever quy định sys.messages tự thiết lập cho hệ thống Thơng báo lỗi hệ thống thông báo lỗi người dùng định nghĩa SQL Server Thông báo lỗi hệ thống ( System – definded error ) lỗi quy định sẵn SQL Sever Bảng lỗi hệ thống Truy xuất câu lệnh : select * from sys.messages Các thông số lỗi SQL Sever + Message_id: mã số lỗi (mã số không trùng lặp nhau) + Language_id: mã số ngôn ngữ => vd: 1033 _ mã ngôn ngữ Tiếng Anh ( tham khảo thêm bảng language_id ) Severity: có giá trị từ – 25 thể mức độ nghiêm trọng lỗi chia thành phần + - 10 : Lỗi thông tin người dùng nhập vào sai + 11 - 16 : Được tạo người dùng người dùng sửa chữa + 17 - 25 : Mức độ nghiêm trọng, cần thông báo cho người quản trị hệ thống Is_event_logged: Có cần ghi vào log Windows hay không? (giá trị 1/0) Text: Mô tả nội dung lỗi dựa mã ngôn ngữ hiển thị BẢNG LANGUAGE_ID MÃ NGƠN NGỮ Thơng báo lỗi hệ thống thông báo lỗi người dùng định nghĩa SQL Server Thông báo lỗi người dùng định nghĩa ( User – definded error ) tạo người dùng Tạo thông báo lỗi -USE master GO EXEC sp_addmessage , , N’ GO Thông báo lỗi hệ thống thông báo lỗi người dùng định nghĩa SQL Server CÂU HỎI TƯƠNG TÁC CÂU HỎI: Câu lệnh để hiển thị thông báo lỗi setup SQL? TRẢ LỜI Để hiển thị thông báo lỗi setup SQL ta sử dụng câu lệnh select * from sys.message Thông báo lỗi hệ thống thông báo lỗi người dùng định nghĩa SQL Server CÂU HỎI TƯƠNG TÁC CÂU HỎI: Để cài đặt thông báo lỗi SQL ta sử dụng câu lệnh nào? TRẢ LỜI USE master GO EXEC sp_addmessage , , N’ GO CÀI ĐẶT MÃ NGUỒN ĐƯA RA THÔNG BÁO LỖI Tìm hiểu @@error gì? + @@error biến Global, cho ta biết số lỗi (number error) + @@error thường sử dụng phiên SQL trước phiên SQL Sever 2005 ( chủ yếu SQL Sever 2000 ) + @@error thường sử dụng sau câu lệnh để phát lỗi CÀI ĐẶT MÃ NGUỒN ĐƯA RA THÔNG BÁO LỖI Cách sử dụng @@error + Sử dụng câu lệnh Insert, Delete, Update, Select… + Gán @@error vào biến tạm, cần dùng gọi biến tạm + Nếu khơng có lỗi @@error = 0, Nếu có lỗi @@error cho giá trị khác hiển thị message_id CÀI ĐẶT MÃ NGUỒN ĐƯA RA THÔNG BÁO LỖI CÂU HỎI TƯƠNG TÁC Ưu điểm & nhược điểm @@Error TRẢ LỜI Ưu điểm: có thơng báo màu giúp người sử dụng dể nhận biết - Thông báo màu đỏ hệ thống quy định - Thông báo màu đen người dùng cài đặt Nhược điểm: bẫy lỗi @@Error lặp lặp lại, tiềm ẩn lỗi, dòng code không dể hiểu TRY…CATCH BẨY LỖI & XỬ LÝ LỖI - Trong SQL Sever bẫy lỗi xử lý lỗi q trình quan trọng, giúp câu lệnh rõ ràng - Trong phiên SQL Sever 2005 trở lên sau người ta sử dụng TRY…….CATCH nhiều - TRY……….CATCH dùng để bẩy lỗi câu lệnh hoạc nhiều câu lệnh lồng vào - Cấu trúc TRY………CATCH BEGIN TRY * Khối lệnh Try tiếp tục thực thi, gặp lỗi chuyển qua Catch để tiến hành xử lý lỗi xử lý khối câu lệnh Catch quy định END TRY BEGIN CATCH END CATCH BẨY LỖI & XỬ LÝ LỖI BẨY LỖI & XỬ LÝ LỖI CÂU HỎI TƯƠNG TÁC CÂU HỎI: Hạn chế Try…Catch TRẢ LỜI Không bắt lỗi biên dịch Nếu kết nối bị lỗi Try Catch khơng có tác dụng thực thi MỘT SỐ ỨNG DỤNG CÓ CÀI ĐẶT ERROR HANDLING - Ứng dụng Calculator windows - Action đổi tên file windows MỘT SỐ ỨNG DỤNG CÓ CÀI ĐẶT ERROR HANDLING CÂU HỎI TƯƠNG TÁC CÂU HỎI: Ý nghĩa việc xử lý lỗi ứng dụng gi? TRẢ LỜI - Trong ứng dụng calculator: đưa thông báo lỗi thực phép tính nhập số để thực phép tính khơng với quy tắc tốn học - Trong Windows: đưa thơng báo lỗi theo quy định Microsoft Vì windows quy định sử dụng tên cho driver thiết bị hệ thống KẾT LUẬN • Bẫy lỗi xử lý lỗi việc quan trọng lập trình • Việc xử lý lỗi SQL quan trọng kết hợp với ứng dụng thực tế • Có nhiều cách để bẫy lỗi ( sử dụng Try Catch, @@error ) thông dụng nhất, dễ sử dụng dễ bảo trì code sử dụng câu lệnh Try Catch ... bày chiến lược xử lý lỗi SQL Server việc tìm hiểu phân tích vấn đề: - Thông báo lỗi hệ thống thông báo lỗi người dùng định nghĩa SQL Server - Cài đặt mã nguồn đưa thông báo lỗi - Bẫy lỗi xử lý lỗi. .. cài đặt Error Handling Ý nghĩa củadụng việc có sử cài dụng Một số ứng đặtError ErrorHandling Handling ý nghĩa việc xử lý lỗi ứng dụng Giới Thiệu Error Handling Error Handling (Xử lý lỗi) - Là... thiệu Error Handling Cài đặt báo ErrorlỗiHandling SQL Sever Thông hệ thốngtrong thông báo lỗi người dùng định nghĩa SQL Server 54 Cài đặt mã nguồn đưa thông báo lỗi Một số Bẫy lỗi ứng xử dụng lý lỗicó