Uso delle funzioni catalogo

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

Importante

SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI o SQLNCLI11) e il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB) non sono consigliati per lo sviluppo di nuove applicazioni. Passare al nuovo Microsoft OLE DB Driver (MSOLEDBSQL) per SQL Server o alla versione più recente di Microsoft ODBC Driver per SQL Server . Per SQLNCLI fornito come componente del motore di database di SQL Server (versioni da 2012 a 2019), vedere questa eccezione relativa al ciclo di vita del supporto.

Tutti i database presentano una struttura che contiene i dati archiviati nel database. Una definizione di tale struttura, insieme ad altre informazioni quali le autorizzazioni, è archiviata in un catalogo (implementato come un set di tabelle di sistema), noto anche come dizionario dei dati.

Il driver ODBC di SQL Server Native Client consente a un'applicazione di determinare la struttura del database tramite chiamate alle funzioni del catalogo ODBC. Le funzioni di catalogo restituiscono informazioni nei set di risultati e vengono implementate utilizzando stored procedure di catalogo per eseguire query sulle tabelle di sistema nel catalogo. Un'applicazione potrebbe ad esempio richiedere un set di risultati contenente informazioni su tutte le tabelle del sistema o tutte le colonne di una particolare tabella. Le funzioni di catalogo ODBC standard vengono usate per ottenere informazioni sul catalogo da SQL Server a cui l'applicazione è connessa.

SQL Server supporta query distribuite in cui si accede a dati da più origini dati OLE DB eterogenee in una singola query. Uno dei metodi di accesso a un'origine dati OLE DB remota consiste nel definire l'origine dati come server collegato. A tale scopo, è possibile usare sp_addlinkedserver. Dopo che è stato definito il server collegato, è possibile fare riferimento agli a oggetti del server nelle istruzioni Transact-SQL utilizzando un nome costituito da quattro parti:

linked_server_name.catalog.schema.object_name.

Il driver ODBC di SQL Server Native Client supporta due funzioni specifiche del driver che consentono di ottenere informazioni sul catalogo dai server collegati:

  • SQLLinkedServers

    Restituisce un elenco dei server collegati definiti nel server locale.

  • SQLLinkedCatalogs

    Restituisce un elenco dei cataloghi presenti in un server collegato.

Dopo aver creato un nome del server collegato e un nome di catalogo, il driver ODBC di SQL Server Native Client supporta l'acquisizione di informazioni dal catalogo usando un nome in due parti di linked_server_name.catalog per CatalogName nelle funzioni di catalogo ODBC seguenti:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Linked_server_name in due parti.catalog è supportato anche per FKCatalogName e PKCatalogName in SQLForeignKeys.

L'utilizzo di SQLLinkedServers e SQLLinkedCatalogs richiede i file seguenti:

  • sqlncli.h

    Include prototipi della funzione e definizioni costanti per le funzioni del catalogo del server collegato. sqlncli.h deve essere incluso nell'applicazione ODBC e deve trovarsi nel percorso di inclusione al momento della compilazione dell'applicazione.

  • sqlncli11.lib

    Deve trovarsi nel percorso della libreria del linker e deve essere specificato come un file da collegare. sqlncli11.lib viene distribuito con il driver ODBC di SQL Server Native Client.

  • sqlncli11.dll

    Deve essere presente in fase di esecuzione. sqlncli11.dll viene distribuito con il driver ODBC di SQL Server Native Client.

Vedi anche

SQL Server Native Client (ODBC)
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLTablePrivileges
SQLTables
SQLStatistics