Tabelle di sistema
SQL Server


Tabelle di sistema (System Tables)
Le tabelle di sistema sono tabelle usate per memorizzare informazioni relative al sistema (system catalog) o relativamente ad un determinato database (database catalog).
Le database catalog cosistono in tabelle di sistema che si trovano in ogni database.
Le system catalog consistono in tabelle di sistema che si trovano solo nel database master.

Le tabelle di sistema sono classificate in base la tipo di informazioni contenute:

Database Catalog

Contiene una riga per:
sysalternates(tutti i database) ogni utente SQL Server mappato come utente di quel database
syscolumns(tutti i database) tutte le colonne di ogni tabella o vista, e una riga per ogni parametro in una stored procedure
esempio
sysconstraints(tutti i database) ogni chiave primaria, foreign key e vincoli CHECK, DEFAULT e UNIQUE
sysindexes(tutti i database) ogni indice; tali indici sono il risultato di un'istruzione CREATE INDEX o CREATE TABLE con una chiave primaria o un vincolo UNIQUE
esempio
syslogs(tutti i database) contiene il transaction log; è usato dall'SQL per recupero e avanzamento
(è solo per uso interno)
esempio
sysobjects(tutti i database) ogni oggetto del database e, solo per il database tempdb, gli oggetti temporanei
esempio
sysprotects(tutti i database) i permessi degli utenti, contiene un'entrata per ogni istruzione GRANT o REVOKE che è stata eseguita
sysreferences(tutti i database) ogni foreign key
syssegments(tutti i database) ogni segmento (una collezione di pezzi di dischi)
systypes(tutti i database) ogni tipo di dati supportato da sistema o definito dall'utente
esempio
sysusers(tutti i database) ogni utente autorizzato a usare il database e una riga per ogni gruppo
esempio


System Catalog

Contiene una riga per:
syscharsets(solo il database master) ogni insieme di carattere e ordine di sort definiti per l'uso dall'SQL Server
sysconfigures(solo il database master) ogni opzione di configurazione settabile da un utente
syscurconfigs(solo il database master) ognuna delle opzioni di configurazione, come in sysconfigures, ma contiene i valori correnti e quattro entrate che descrivono la struttura di configurazione
sysdatabases(solo il database master) ogni database su SQL Server
esempio
sysdevices(solo il database master) ogni device di dump (device di salvataggio) su disco, su nastro, su dischetti e le device dei database
esempio
syslogins(solo il database master) ogni account di utente SQL Server valido
sysprocesses(solo il database master) ogni processo di SQL Server
sysremotelogins(solo il database master) Cogni utente remoto che è autorizzato a richiamare stored procedures remote su questo SQL Server
sysservers(solo il database master) ogni SQL Server remoto su cui questo SQL Server può richimare stored procedure remote
sysusages(solo il database master) ogni parte di disco allocato assegnato ad un database


Replication Tables (solo per database distribuiti)

non vengo affrontate in questo corso


SQL Executive Tables

Contiene una riga per:
sysalerts(database msdb) ogni allarme
syshistory(database msdb) ogni task (operazione) che si è verificata
sysnotifications(database msdb) ogni notificazione
sysoperators(database msdb) ogni operatore
systasks(database msdb) ogni task schedulata