Khi tôi chạy một truy vấn OPENROWSET
trong SQL Server 2000, nó hoạt động.
Nhưng cùng một truy vấn trong SQL Server 2008 tạo ra lỗi sau:
Máy chủ SQL đã chặn quyền truy cập vào STATEMENT 'OpenRowset / OpenDatasource' của thành phần 'Truy vấn phân tán Ad Hoc' 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 'Truy vấn Phân tán Ad Hoc' bằng cách sử dụng sp_configure
Nhân tiện, bạn nên chú ý đến cảnh báo và thay đổi mã SQL của mình để sử dụng Máy chủ được Liên kết thay vì OPENROWSET.
—
RBarryYoung
@RBarryYoung nó không thực sự là một "cảnh báo" - nó chỉ là một thông báo nói rằng nó chưa được kích hoạt. Nguy hiểm khi kích hoạt điều này là gì?
—
Conrad
nếu một người dùng độc hại có thể đưa SQL vào đâu đó, việc bật tùy chọn này có thể cho phép họ thăm dò các tệp dữ liệu mà họ chọn. Nếu bạn thiết lập nó như một Máy chủ được Liên kết, chỉ các tệp cụ thể - Máy chủ được Liên kết - được hiển thị (và bạn có bảo mật SQL Server tích hợp mà bạn có thể đang sử dụng, v.v.).
—
Mike M
nhưng tôi làm như tùy chọn này để thử nghiệm nội bộ của tôi và di chuyển dữ liệu ... do đó tìm cách sử dụng nó một lần nữa :)
—
Mike M