Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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)