Condividi tramite


Identificazione di un'origine dei dati tramite il nome di un server collegato

Data aggiornamento: 14 aprile 2006

Dopo avere definito un server collegato, per fare riferimento a oggetti dati inclusi in tale server è possibile utilizzare un nome in quattro parti nel formato linked_server_name**.catalog.**schema.object_name nelle istruzioni Transact-SQL. Di seguito vengono definite le quattro parti:

  • linked_server_name
    Server collegato che fa riferimento all'origine dei dati OLE DB.
  • catalog
    Catalogo dell'origine dei dati OLE DB che contiene l'oggetto.
  • schema
    Schema del catalogo che contiene l'oggetto.
  • object_name
    Oggetto dati incluso nello schema.

La query seguente fa riferimento ad esempio alle tabelle Production.Product e Sales.SalesOrderDetails del database AdventureWorks sul server collegato SEATTLESales:

SELECT p.Name, sod.SalesOrderID

FROM SEATTLESales.AdventureWorks.Production.Product p

INNER JOIN SEATTLESales.AdventureWorks.Sales.SalesOrderDetail sod

ON p.ProductID = sod.ProductID

ORDER BY p.Name ;

SQL Server utilizza linked_server_name per identificare il provider OLE DB e l'origine dei dati. I parametri catalog, schema e object_name vengono passati al provider OLE DB per identificare un oggetto dati specifico. Se il server collegato fa riferimento a un'istanza di SQL Server 2005, catalog fa riferimento a un database e schema a uno schema.

Nelle versioni precedenti di SQL Server, uno schema è il proprietario di un oggetto. In SQL Server 2005 gli schemi esistono indipendentemente dall'utente del database che li crea. Per ulteriori informazioni sugli schemi in SQL Server 2005, vedere Separazione fra schema e utente.

Quando si utilizzano oggetti in server collegati, assegnare sempre nomi completi. La risoluzione implicita nel nome di proprietario dbo non è supportata per le tabelle in server collegati. Di conseguenza, una query in cui non viene specificato il nome di uno schema genera l'errore 7313 anche se il server collegato è un'altra istanza di SQL Server.

L'amministratore di sistema può controllare l'accesso a uno specifico server collegato impostando mapping degli account di accesso mediante la stored procedure di sistema sp_addlinkedsrvlogin. Questa stored procedure consente di impostare un account di accesso remoto e una password per uno specifico account di accesso locale. Consente inoltre di impostare mapping automatici per account di accesso con autenticazione di Windows.

ms190406.security(it-it,SQL.90).gifNota sulla protezione:
Quando ci si connette a un'altra origine dei dati, SQL Server rappresenta l'account di accesso in modo appropriato per gli account di accesso con autenticazione di Windows. SQL Server non può tuttavia rappresentare account di accesso con autenticazione di SQL Server. Per gli account di accesso con autenticazione di SQL Server pertanto, SQL Server può accedere a un'altra origine dei dati, ad esempio un file oppure origini dei dati non relazionali come Active Directory, mediante il contesto di protezione dell'account di Windows utilizzato per l'esecuzione del servizio SQL Server. In seguito a questa operazione, tali account di accesso potrebbero accedere a un'altra origine dei dati per la quale non dispongono delle autorizzazioni, delle quali dispone però l'account utilizzato per l'esecuzione del servizio SQL Server. Quando si concede a un account di accesso SQL Server l'accesso a un server collegato mediante sp_addlinkedsrvlogin, questa possibilità va presa in considerazione.

Vedere anche

Concetti

Accesso a dati esterni
Query distribuite

Altre risorse

sp_addlinkedsrvlogin (Transact-SQL)
OPENQUERY (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

14 aprile 2006

Nuovo contenuto:
  • Aggiunta di un esempio di sintassi.