Tôi đã tự hỏi liệu có một cách khá hiệu quả để sử dụng cú pháp T-SQL với cú pháp SQL Server 2000 để GRANT SELECT, INSERT, UPDATE, DELETE, trên tất cả BẢNG và XEM cho một cơ sở dữ liệu cụ thể trong khi loại trừ 2 hoặc 3 trong số hơn 100 đối tượng. Tôi cũng muốn có thể cấp các đặc quyền EXEC cho tất cả các Thủ tục được lưu trữ.
Hiện tại tôi đang sử dụng mã dưới đây để thay đổi từng cái một. Làm điều này cho khoảng 100 bảng và 100 lượt xem mất quá nhiều thời gian và sẽ mất nhiều thời gian hơn thông qua GUI (Trừ khi tôi cũng làm sai điều đó).
use [DATABASE_NAME]
GO
GRANT DELETE ON [dbo].[table_name]TO [user_name]
GO
use [DATABASE_NAME]
GO
GRANT INSERT ON [dbo].[table_name]TO [user_name]
GO
use [DATABASE_NAME]
GO
GRANT SELECT ON [dbo].[table_name]TO [user_name]
GO
use [DATABASE_NAME]
GO
GRANT UPDATE ON [dbo].[table_name]TO [user_name]
GO
Làm cách nào tôi có thể sử dụng T-SQL để duyệt qua TẤT CẢ các Bảng và Chế độ xem của người dùng để cấp các quyền riêng tư nhất định trong khi loại trừ một vài đối tượng?