Compartir a través de


consultas distribuidas ad hoc opción de configuración del servidor

De forma predeterminada, SQL Server no permite consultas distribuidas ad hoc mediante OPENROWSET y OPENDATASOURCE. Cuando esta opción se establece en 1, SQL Server permite el acceso ad hoc. Cuando esta opción no está establecida o está establecida en 0, SQL Server no permite el acceso ad hoc.

Las consultas distribuidas ad hoc usan las funciones OPENROWSET y OPENDATASOURCE para conectarse a orígenes de datos remotos que usan OLE DB. OPENROWSET y OPENDATASOURCE solo se deben usar para hacer referencia a orígenes de datos OLE DB a los que se accede con poca frecuencia. Para los orígenes de datos a los que se accederá varias veces, defina un servidor vinculado.

Importante

Habilitar el uso de nombres ad hoc significa que cualquier inicio de sesión autenticado en SQL Server puede acceder al proveedor. Los administradores de SQL Server deben habilitar esta característica para los proveedores que sean seguros para ser accedidos por cualquier inicio de sesión local.

Observaciones

Si se intenta realizar una conexión ad hoc con consultas distribuidas ad hoc no habilitadas, se produce un error: Msg 7415, Nivel 16, Estado 1, Línea 1

Se ha denegado el acceso ad hoc al proveedor OLE DB "Microsoft.ACE.OLEDB.12.0". El acceso debe realizarse mediante un servidor vinculado.

Ejemplos

En el ejemplo siguiente se habilitan las consultas distribuidas ad hoc y, a continuación, se consulta un servidor denominado Seattle1 mediante la OPENROWSET función .

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

Véase también

Opciones de configuración de servidor (SQL Server)
Servidores vinculados (motor de base de datos)
OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)