Đối với người dùng không phải là thành viên của vai trò sysadmin trên phiên bản SQL Server, bạn cần thực hiện các hành động sau để cấp quyền truy cập vào quy trình được lưu trữ mở rộng xp_cmdshell. Ngoài ra, nếu bạn quên một trong các bước, tôi đã liệt kê lỗi sẽ được đưa ra.
-
Bật quy trình xp_cmdshell
Msg 15281, Mức 16, Trạng thái 1, Thủ tục xp_cmdshell, Dòng 1SQL Máy chủ đã chặn quyền truy cập vào thủ tục 'sys.xp_cmdshell' của thành phần 'xp_cmdshell' vì thành phần này bị tắt như một phần của cấu hình bảo mật cho máy chủ này. Quản trị viên hệ thống có thể cho phép sử dụng 'xp_cmdshell' bằng cách sử dụng sp_configure. Để biết thêm thông tin về cách bật 'xp_cmdshell', hãy xem "Cấu hình diện tích bề mặt" trong SQL Server Books Online. *
-
Tạo thông tin đăng nhập cho người dùng không phải sysadmin có quyền truy cập công khai vào cơ sở dữ liệu chính
Msg 229, Mức 14, Trạng thái 5, Quy trình xp_cmdshell, Dòng 1 Quyền THỰC HIỆN đã bị từ chối trên đối tượng 'xp_cmdshell', cơ sở dữ liệu 'mssqlsystemresource', lược đồ 'sys'. *
-
Cấp quyền EXEC cho quy trình được lưu trữ xp_cmdshell
Msg 229, Mức 14, Trạng thái 5, Quy trình xp_cmdshell, Dòng 1 Quyền THỰC HIỆN đã bị từ chối trên đối tượng 'xp_cmdshell', cơ sở dữ liệu 'mssqlsystemresource', lược đồ 'sys'. *
-
Tạo tài khoản proxy mà xp_cmdshell sẽ được chạy bằng sp_xp_cmdshell_proxy_account
Msg 15153, Mức 16, Trạng thái 1, Quy trình xp_cmdshell, Dòng 1Thông tin tài khoản proxy xp_cmdshell không thể được truy xuất hoặc không hợp lệ. Xác minh rằng thông tin xác thực '## xp_cmdshell_proxy_account ##' tồn tại và chứa thông tin hợp lệ. *
Có vẻ như do lỗi của bạn mà bước 2 hoặc bước 3 đã bị bỏ qua. Tôi không quen thuộc với các cụm để biết liệu có bất kỳ điều gì đặc biệt đối với thiết lập đó hay không.