Một vài kiến thức cần biết khi học SQL Server Hiện nay, nhu cầu học SQL của các bạn trẻ ngày một tăng cao. Bởi hầu hết các sản phẩm đều tương tác với dữ liệu theo cách này hay cách khác nên không có gì khó hiểu khi SQL - ngôn ngữ lập trình dùng để quản lý dữ liệu trở thành ngôn ngữ được săn đón nhiều nhất Học SQL Server là 1 mảng đề tài rộng, bao gồm học các kỹ năng lập trình, kỹ thuật ứng dụng SQL vào ứng dụng thực tiễn, các mô hình CSDL, kĩ thuật mới của SQL Server, quản trị CSDL, bảo mật….Trong bài viết này, chúng ta cũng sẽ tìm hiểu một số khái niệm vể bảo mật trong SQL. 1. Login và user Thông qua các login SQL Server cho phép truy nhập vào hệ thống. Bạn có thể tạo thêm login chỉ khi có quyền ở mức độ nhất định. Bằng cách mở rộng node Security/Logins trong SSMS bạn có thể xem các login. Các login này mới chỉ có quyền truy nhập vào server chứ không hẳn đã truy nhập được vào các database chứa trong đó. Đến lượt mỗi database lại duy trì một danh sách các user, ở mức server các user này luôn luôn đính với một login. Thông qua login này, khi bạn đăng nhập vào SQL Server theo quyền hạn mà user tương ứng với nó được cung cấp bạn sẽ có quyền truy nhập vào database. Bằng cách mở rộng node Security/Users của database tương ứng bạn sẽ xem các user này. 2. Server role Server role là nhóm các quyền ở mức server mà login khi được cấp có thể thực hiện một số thao tác nhất định ở mức server. Ví dụ role sysadmin nó có quyền truy nhập vào tất cả database, có toàn quyền hoạt động trong server (tạo database, khởi động lại server…), diskadmin chỉ có quyền trong các thao tác về đĩa (như bổ sung thêm file vào database…). Khi mới được tạo Login sẽ có role public, role này thực chất ngoài quyền truy nhập vào server thì không có quyền gì. Thông thường chỉ các chuyên viên quản trị CSDL mới nên có quyền sysadmin, còn các developer chỉ cần role public và bổ sung thêm khi cần. 3. Database role Database role cũng với mục đích như vậy, đó là tập hợp các quyền truy nhập vào database thành từng nhóm để dễ sửa đổi và tạo lập. Ví dụ role db_datawriter có quyền ghi vào tất cả các bảng; role db_datareader có quyền đọc dữ liệu từ tất cả các bảng, role db_owner có quyền cao nhất trong database (tạo bảng, tạo thủ tục, thực thi thủ tục…). Các user đều mặc định có role public. User chỉ có thể nhìn thấy tên database mà không có quyền gì khác khi user chỉ có role public. 4. Authentication Xác thực các đăng nhập của SQL Server bằng hai cơ chế, SQL Server authentication và windows authentication. Việc này bắt nguồn từ khi tạo login trong SQL Server. SQL Server sẽ yêu cầu bạn chọn cơ chế xác thực windows hay SQL Server cho login đó khi bạn tạo một login mới. Nếu chọn SQL Server authentication, bạn cần cung cấp login name và password và cả hai đều được lưu trong SQL Server. Nếu chọn windows, bạn cần cung cấp một windows account và SQL Server sẽ chỉ lưu tên của account đó trong danh sách login. Bạn cũng sẽ phải chọn một trong hai cơ chế xác thực khi đăng nhập vào SQL Server. Nếu chọn windows, chính account hiện đang đăng nhập vào windows được dùng. Bạn không có quyền chọn login và thực tế, SQL Server sẽ vòng xuống windows và kiểm tra xem account nào đang đăng nhập vào windows, nó sẽ lấy account đó và xem có nằm trong danh sách login của nó hay không. Nếu có thì nó cho vào còn nếu không nó sẽ chặn lại. Còn với SQL Server authentication thì cơ chế giống như bình thường – bạn cung cấp login ID và password. SQL Server sẽ kiểm tra và quyết định có cho vào hay không. Một điểm cần lưu ý là với login sử dụng windows authentication, SQL Server chỉ lưu login name và không hề lưu password. Khi đăng nhập nếu bạn cố tình chọn sang SQL Server authentication, hệ thống sẽ không xác thực cho bạn. Với những chia sẻ trên, bạn đã biết một số khái niệm về tính bảo mật trong SQL Server? Nếu bạn muốn làm chủ hệ quản lý cơ sở dữ liệu SQL Sever, hãy tham khảo các video hướng dẫn học SQL cơ bản tới nâng cao từ chuyên gia Stanford nhé. Bắt đầu học SQL qua video miễn phí bạn cũng có thể thực hành luôn khi theo dõi các video hướng dẫn đó. Link video: https://goo.gl/sZ9ouy ----- STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ Hotline: 0963 723 236 - 024. 6275 2212 Website: https://stanford.com.vn/ Tags: học sql, học lập trình