kueri terdistribusi ad hoc (opsi konfigurasi server)

Berlaku untuk:SQL Server

Secara default, SQL Server tidak mengizinkan kueri terdistribusi ad hoc menggunakan OPENROWSET dan OPENDATASOURCE. Ketika opsi ini diatur ke 1, SQL Server mengizinkan akses ad hoc. Saat opsi ini tidak diatur atau diatur ke 0, SQL Server tidak mengizinkan akses ad hoc.

Kueri terdistribusi ad hoc menggunakan fungsi OPENROWSET dan OPENDATASOURCE untuk menyambungkan ke sumber data jarak jauh yang menggunakan OLE DB. OPENROWSET dan OPENDATASOURCE harus digunakan hanya untuk mereferensikan sumber data OLE DB yang jarang diakses. Untuk sumber data apa pun yang akan diakses lebih dari beberapa kali, tentukan server yang ditautkan.

Mengaktifkan penggunaan nama ad hoc berarti bahwa setiap login terautentikasi ke SQL Server dapat mengakses penyedia. SQL Server administrator harus mengaktifkan fitur ini untuk penyedia yang aman untuk diakses oleh login lokal apa pun.

Keterangan

Jika Anda mencoba membuat koneksi ad hoc dengan kueri terdistribusi ad hoc dinonaktifkan , Anda akan melihat kesalahan berikut:

Msg 7415, Level 16, State 1, Line 1  
  
Ad hoc access to OLE DB provider 'Microsoft.ACE.OLEDB.12.0' has been denied. You must access this provider through a linked server.  

Contoh

Contoh berikut mengaktifkan kueri terdistribusi ad hoc lalu mengkueri server bernama Seattle1 menggunakan fungsi .OPENROWSET

sp_configure 'show advanced options', 1;  
RECONFIGURE;
GO 
sp_configure 'Ad Hoc Distributed Queries', 1;  
RECONFIGURE;  
GO  
  
SELECT a.*  
FROM OPENROWSET('MSOLEDBSQL', 'Server=Seattle1;Trusted_Connection=yes;',  
     'SELECT GroupName, Name, DepartmentID  
      FROM AdventureWorks2022.HumanResources.Department  
      ORDER BY GroupName, Name') AS a;  
GO  

Azure SQL Database dan Azure SQL Managed Instance

Lihat Perbandingan fitur: Azure SQL Database dan Azure SQL Managed Instance untuk referensi.

Lihat juga