Compartir a través de


consultas distribuidas ad hoc (opción)

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 sólo 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 seguridadNota 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 proveedores que sean seguros de modo que cualquier inicio de sesión local tenga acceso a ellos. Para obtener más información, vea la opción DisallowAdhocAccess en Obtener acceso a datos externos.

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 AdventureWorks.HumanResources.Department
      ORDER BY GroupName, Name') AS a;
GO