Tabelle di base di sistema

Le tabelle di base di sistema sono le tabelle sottostanti in cui vengono effettivamente archiviati i metadati per un database specifico. Sotto questo punto di vista, il database master è speciale in quanto contiene alcune tabelle aggiuntive che non si trovano negli altri database. Queste tabelle contengono metadati persistenti il cui ambito è esteso all'intero server. Il database Resource contiene lo stesso schema della tabella di base di qualsiasi altro database diverso dal database master. Poiché, tuttavia, il database Resource non è visibile, gli utenti non possono utilizzarlo o connettersi a esso. Per ulteriori informazioni sul database Resource, vedere Database Resource.

Nota importanteImportante

Le tabelle di base di sistema sono utilizzate solo in Motore di database di SQL Server e non sono destinate all'utilizzo da parte di tutti gli utenti. Tali tabelle sono soggette a modifiche e la compatibilità non è garantita.

Metadati della tabella di base di sistema

Un utente che dispone delle autorizzazioni CONTROL, ALTER o VIEW DEFINITION su un database può visualizzare i metadati della tabella di base di sistema nella vista del catalogo sys.objects. L'utente può anche risolvere i nomi e gli ID di oggetto di tabelle di base di sistema utilizzando funzioni predefinite ad esempio OBJECT_NAME e OBJECT_ID.

Per associare una tabella di base di sistema, un utente deve connettersi all'istanza di SQL Server utilizzando la connessione dell'amministratore dedicata (DAC). Se si tenta di eseguire una query SELECT da una tabella di base di sistema senza connettersi tramite DAC, viene generato un errore.

Nota importanteImportante

L'accesso alle tabelle di base di sistema tramite DAC è progettato solo per il personale di Microsoft e non è uno scenario di supporto per i clienti.

Tabelle di base di sistema

Nella tabella seguente viene indicata e descritta ogni un tabella di base sistema di SQL Server.

Tabella di base

Descrizione

sys.sysschobjs

Esiste in ogni database. Ogni riga rappresenta un oggetto del database.

sys.sysbinobjs

Esiste in ogni database. Contiene una riga per ogni entità Service Broker del database. Le entità Service Broker includono gli elementi seguenti:

  • Tipo di messaggio

  • Contratto servizio

  • Servizio

I nomi e i tipi utilizzano regole di confronto binarie predefinite.

sys.sysclsobjs

Esiste in ogni database. Contiene una riga per ogni entità classificata che condivide le stesse proprietà comuni che includono gli elementi seguenti:

  • Assembly

  • Dispositivo di backup

  • Catalogo full-text

  • Funzione di partizione

  • Schema di partizione

  • Filegroup

  • Chiave di offuscamento

sys.sysnsobjs

Esiste in ogni database. Contiene una riga per ogni entità dell'ambito dello spazio dei nomi. Questa tabella viene utilizzata per archiviare le entità di raccolta XML.

sys.syscolpars

Esiste in ogni database. Contiene una riga per ogni colonna di una tabella, vista o funzione con valori di tabella.

  • Contiene anche righe per ogni parametro di una procedura o funzione.

sys.systypedsubobjs

Esiste in ogni database. Contiene una riga per ogni sottoentità tipizzata. Attualmente, in questa categoria rientrano solo i parametri relativi alla funzione di partizione.

sys.sysidxstats

Esiste in ogni database. Contiene una riga per ogni indice o statistica di tabelle e viste indicizzate

NotaNota
Ogni indice (eccetto heap) è associato a una statistica che ha lo stesso nome dell'indice.

sys.sysiscols

Esiste in ogni database. Contiene una riga per ogni indice persistente e colonna delle statistiche.

sys.sysscalartypes

Esiste in ogni database. Contiene una riga per ogni tipo di sistema o tipo definito dall'utente.

sys.sysdbreg

Esiste solo nel database master. Contiene una riga per ogni database registrato.

sys.sysxsrvs

Esiste solo nel database master. Contiene una riga per ogni server locale, collegato o remoto.

sys.sysrmtlgns

Questa tabella di base di sistema esiste solo nel database master solo. Contiene una riga per ogni mapping di account di accesso remoto. Viene utilizzata per eseguire il mapping tra gli account di accesso in ingresso che risultano provenire da un server corrispondente e un account di accesso locale effettivo.

sys.syslnklgns

Esiste solo nel database master. Contiene una riga per ogni mapping di account di accesso collegato. I mapping di account di accesso collegati vengono utilizzati da chiamate di procedure remote e query distribuite che provengono da un server locale a un server collegato corrispondente.

sys.sysxlgns

Esiste solo nel database master. Contiene una riga per ogni entità di server.

sys.sysdbfiles

Esiste in ogni database. Se il valore della colonna dbid è zero, la riga rappresenta un file che appartiene a questo database. Nel database master, il valore della colonna dbid può essere diverso da zero. In questo caso, la riga rappresenta un file master.

sys.sysusermsg

Esiste solo nel database master. Ogni riga rappresenta un messaggio di errore definito dall'utente.

sys.sysprivs

Esiste in ogni database. Contiene una riga per ogni database o autorizzazione a livello di server.

NotaNota
Le autorizzazioni a livello di server vengono archiviate nel database master.

sys.sysowners

Esiste in ogni database. Ogni riga rappresenta un'entità di database.

sys.sysobjkeycrypts

Esiste in ogni database. Contiene una riga per ogni chiave simmetrica, crittografia o proprietà crittografica associata a un oggetto.

sys.syscerts

Esiste in ogni database. Contiene una riga per ogni certificato di un database.

sys.sysasymkeys

Esiste in ogni database. Ogni riga rappresenta una chiave asimmetrica.

sys.ftinds

Esiste in ogni database. Contiene una riga per ogni indice full-text del database.

sys.sysxprops

Esiste in ogni database. Contiene una riga per ogni proprietà estesa.

sys.sysallocunits

Esiste in ogni database. Contiene una riga per ogni unità di allocazione di archiviazione.

sys.sysrowsets

Esiste in ogni database. È contenuta una riga per ogni set di righe della partizione per un indice o un heap.

sys.sysrowsetrefs

Esiste in ogni database. È contenuta una riga per ogni riferimento di indice a un set di righe.

sys.syslogshippers

Esiste solo nel database master. Contiene una riga per ogni server di controllo del mirroring del database.

sys.sysremsvcbinds

Esiste in ogni database. Contiene una riga per ogni associazione al servizio remoto.

sys.sysconvgroup

Esiste in ogni database. Contiene una riga per ogni istanza di servizio di Service Broker.

sys.sysxmitqueue

Esiste in ogni database. Contiene una riga per ogni coda di trasmissione di Service Broker.

sys.sysdesend

Esiste in ogni database. Contiene una riga per ogni endpoint di invio di una conversazione di Service Broker.

sys.sysdercv

Esiste in ogni database. Contiene una riga per ogni endpoint di ricezione di una conversazione di Service Broker.

sys.sysendpts

Esiste solo nel database master. Contiene una riga per ogni endpoint creato nel server.

sys.syswebmethods

Esiste solo nel database master. Contiene una riga per ogni metodo SOAP definito in un endpoint HTTP attivato per SOAP creato nel server.

sys.sysqnames

Esiste in ogni database. Contiene una riga per ogni spazio dei nomi o nome completo a un token ID di 4 byte.

sys.sysxmlcomponent

Esiste in ogni database. Ogni riga rappresenta un componente dello schema XML.

sys.sysxmlfacet

Esiste in ogni database. Contiene una riga per ogni facet XML (restrizione) di definizione del tipo XML.

sys.sysxmlplacement

Esiste in ogni database. Contiene una riga per ogni posizione XML dei componenti XML.

sys.syssingleobjrefs

Esiste in ogni database. Contiene una riga per ogni riferimento N-a-1 generale.

sys.sysmultiobjrefs

Esiste in ogni database. Contiene una riga per ogni riferimento N-a-N generale.

sys.sysobjvalues

Esiste in ogni database. Contiene una riga per ogni proprietà del valore generale di un'entità.

sys.sysguidrefs

Esiste in ogni database. Contiene una riga per ogni riferimento a ID classificati GUID.