Identificar un origen de datos con un nombre de servidor vinculado

Después de definir un servidor vinculado, se puede usar un nombre formado por cuatro componentes con la forma linked_server_name**.catalog.**schema.object_name en instrucciones Transact-SQL para hacer referencia a objetos de datos de ese servidor vinculado. Las partes se definen del modo siguiente:

  • linked_server_name
    Servidor vinculado que hace referencia al origen de datos OLE DB.

  • catalog
    Catálogo del origen de datos OLE DB que contiene el objeto.

  • schema
    Esquema del catálogo que contiene el objeto.

  • object_name
    Objeto de datos del esquema.

Por ejemplo, la consulta siguiente hace referencia a las tablas Production.Product y Sales.SalesOrderDetails de la base de datos AdventureWorks2008R2 en el servidor vinculado SEATTLESales:

SELECT p.Name, sod.SalesOrderID

FROM SEATTLESales.AdventureWorks2008R2.Production.Product p

INNER JOIN SEATTLESales.AdventureWorks2008R2.Sales.SalesOrderDetail sod

ON p.ProductID = sod.ProductID

ORDER BY p.Name ;

SQL Server utiliza linked_server_name para identificar el proveedor OLE DB y el origen de datos. Los parámetros catalog, schema y object_name se pasan al proveedor OLE DB para identificar un objeto de datos específico. Cuando el servidor vinculado hace referencia a una instancia de SQL Server, catalog hace referencia a una base de datos, y schema a un esquema.

En las versiones anteriores de SQL Server, los esquemas eran los propietarios de los objetos. En SQL Server, los esquemas existen independientemente del usuario de la base de datos que los crea. Para obtener más información acerca de los esquemas de SQL Server, vea Separación de esquemas de usuario.

Cuando trabaje con objetos de servidores vinculados, utilice siempre nombres completos. No se admite la resolución implícita del nombre de propietario dbo para las tablas en los servidores vinculados. Por ello, una consulta que no tenga nombre de esquema generará un error 7313, incluso cuando el servidor vinculado sea otra instancia de SQL Server.

El administrador del sistema puede controlar quien tiene acceso a un servidor vinculado determinado configurando asignaciones de inicios de sesión mediante el procedimiento almacenado del sistema sp_addlinkedsrvlogin. Este procedimiento almacenado permite configurar un inicio de sesión remoto y una contraseña para un inicio de sesión local determinado. También permite configurar autoasignaciones para inicios de sesión autenticados de Windows.

Nota de seguridadNota de seguridad

Cuando se conecte a otro origen de datos, SQL Server suplantará el inicio de sesión de forma apropiada para los inicios de sesión autenticados de Windows. Sin embargo, SQL Server no puede suplantar los inicios de sesión autenticados de SQL Server. Por tanto, en el caso de los inicios de sesión autenticados de SQL Server, SQL Server puede tener acceso a otro origen de datos, como archivos u orígenes de datos no relacionales como Active Directory, mediante el contexto de seguridad de la cuenta de Windows en la que se ejecuta el servicio de SQL Server. Esto puede dar a dichos inicios de sesión acceso a otro origen de datos para el que no tienen permisos, pero la cuenta en la que se ejecuta el servicio de SQL Server sí los tiene. Se debe tener en cuenta esta posibilidad cuando se concede acceso a un inicio de sesión autenticado de SQL Server a un servidor vinculado mediante sp_addlinkedsrvlogin.