tailieunhanh - Câu lệnh EXECUTE AS trong SQL Server 2005

Trong SQL Server 2005, bạn hoàn toàn có thể xác định được rõ ràng ngữ cảnh thực thi của một người dùng cụ thể. Như đã biết, một session (phiên làm việc) bắt đầu khi người dùng đăng nhập vào SQLServer hoặc kết nối tới SQLServer. Tất cả hoạt động trong sesstion đó dùng các ủy nhiệm đăng nhập được sử dụng để kết nối tới SQL Server. Khi câu lệnh EXECUTE AS chạy, ngữ cảnh thực thi của session sẽ chuyển tới login hay tên người dùng. Đây là một tiện ích rất có lợi cho những người. | Câu lệnh EXECUTE AS trong SQL Server 2005 Trong SQL Server 2005 bạn hoàn toàn có thể xác định được rõ ràng ngữ cảnh thực thi của một người dùng cụ thể. Như đã biết một session phiên làm việc bắt đầu khi người dùng đăng nhập vào SQLServer hoặc kết nối tới SQLServer. Tất cả hoạt động trong sesstion đó dùng các ủy nhiệm đăng nhập được sử dụng để kết nối tới SQL Server. Khi câu lệnh EXECUTE AS chạy ngữ cảnh thực thi của session sẽ chuyển tới login hay tên người dùng. Đây là một tiện ích rất có lợi cho những người quản trị cơ sở dữ liệu SQL Server 2005 khi họ cần kiểm tra sự cho phép của từng người dùng cụ thể. Nó còn rất hữu ích khi người dùng muốn thực thi một hàm được lưu trữ trong ngữ cảnh của người dùng khác. Bài này sẽ giải thích tính hữu ích của câu lệnh EXECUTE AS đối với người quản trị cơ sở dữ liệu. Giả dụ quản trị cơ sở dữ liệu Mr. Smith muốn tạo một tài khoản đăng nhập SQL Server cho Shiraishi và cấp phát truy cập tới các cửa sổ đăng nhập SQL2005 Shiraishi một cách dễ dàng. Thêm vào đó anh ấy trao quyền chỉ đọc tới bảng products trong giản đồ CompanyProducts. Tuy nhiên người quản lý không muốn có thể truy cập vào bảng productprice trong cùng giản đồ đó. Với tình huống đó chúng ta phải có cơ sở dữ liệu dưới CompanyProducts USE master GO Object Database CompanyProducts Script Date 03 26 2006 19 32 40 IF EXISTS SELECT name FROM WHERE name N CompanyProducts DROP DATABASE CompanyProducts go create database CompanyProducts go USE CompanyProducts GO Object Schema CompanyCustomers Script Date 03 26 2006 19 33 45 IF EXISTS SELECT FROM WHERE name N CompanyCustomers DROP SCHEMA CompanyCustomers go create Schema CompanyProducts go USE CompanyProducts GO Object Table CompanyProducts . Products Script Date 03 26 2006 19 34 32 IF EXISTS SELECT FROM WHERE object_id OBJECT_ID N CompanyProducts . Products AND type in N U DROP TABLE CompanyProducts . Products go Create table id int Name varchar 100 go

TỪ KHÓA LIÊN QUAN