5b982015-e196-44c3-83b8-275fb9d769b2.cmp.xml (opción de configuración del servidor)
De forma predeterminada, SQL Server no permite consultas ad hoc distribuidas que utilicen OPENROWSET y OPENDATASOURCE. Cuando esta opción está establecida en 1, SQL Server permite el acceso ad hoc. Si esta opción no esta establecida o está establecida en 0, SQL Server no permite el acceso ad hoc.
Las consultas distribuidas ad hoc utilizan las funciones OPENROWSET y OPENDATASOURCE para conectarse a los orígenes de datos remotos que utilizan OLE DB. Las funciones OPENROWSET y OPENDATASOURCE solo se deben utilizar para hacer referencia a orígenes de datos OLE DB a los que rara vez se obtiene acceso. Para los orígenes de datos cuyo acceso es más frecuente, defina un servidor vinculado.
Nota de seguridad |
---|
Habilitar el uso de nombres ad hoc significa que cualquier inicio de sesión autenticado en SQL Server puede obtener acceso al proveedor. Los administradores de SQL Server deben habilitar esta característica para los proveedores a los que cualquier inicio de sesión local pueda tener acceso de forma segura. |
Comentarios
El intento de realizar una conexión ad hoc con la opción Consultas distribuidas ad hoc no habilitada tiene como resultado el error: mensaje 7415, nivel 16, estado 1, línea 1
Denegado el acceso ad hoc al proveedor OLE DB 'Microsoft.ACE.OLEDB.12.0'. El acceso debe realizarse mediante un servidor vinculado.
Ejemplos
El ejemplo siguiente habilita las consultas distribuidas ad hoc y, a continuación, consulta un servidor denominado Seattle1 mediante la función OPENROWSET.
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
Vea también
Referencia
sp_addlinkedserver (Transact-SQL)