Database di sistema.

In SQL Server sono inclusi i database di sistema seguenti.

Database di sistema

Descrizione

Database master

Registra tutte le informazioni di sistema per un'istanza di SQL Server.

Database msdb

Utilizzato da SQL Server Agent per la pianificazione di avvisi e processi.

Database model

Utilizzato come modello per tutti i database creati in un'istanza di SQL Server. Le modifiche apportate al database model, ad esempio per quanto riguarda dimensioni, regole di confronto, modello di recupero e altre opzioni del database, vengono applicate a tutti i database creati successivamente.

Database Resource

Database di sola lettura che contiene gli oggetti di sistema inclusi in SQL Server. Gli oggetti di sistema sono fisicamente mantenuti nel database Resource ma appaiono logicamente nello schema sys di ogni database.

Database tempdb

Area di lavoro per l'archiviazione di oggetti temporanei o set di risultati intermedi.

Modifica di dati di sistema

SQL Server non supporta l'aggiornamento diretto delle informazioni da parte degli utenti in oggetti di sistema, ad esempio tabelle di sistema, stored procedure di sistema e viste del catalogo. SQL Server offre, tuttavia, un set completo di strumenti di amministrazione che consentono agli utenti di amministrare completamente il sistema e gestire tutti gli utenti e gli oggetti di un database. Di seguito sono elencati alcuni di tali strumenti:

  • Utilità di amministrazione, ad esempio SQL Server Management Studio.

  • API SQL-SMO. Consente ai programmatori di includere nelle proprie applicazioni funzionalità complete di amministrazione di SQL Server.

  • Script e stored procedure Transact-SQL. Possono utilizzare stored procedure di sistema e istruzioni DDL Transact-SQL.

Questi strumenti proteggono le applicazioni dalle modifiche negli oggetti di sistema. Talvolta, ad esempio, SQL Server deve modificare le tabelle di sistema nelle nuove versioni di SQL Server per garantire il supporto per nuove funzionalità aggiunte alla versione. Le applicazioni che eseguono istruzioni SELECT che fanno riferimento diretto alle tabelle di sistema spesso si basano sul formato precedente delle tabelle. Può capitare che, per eseguire l'aggiornamento a una nuova versione di SQL Server, le aziende debbano prima riscrivere le applicazioni che eseguono la selezione dalle tabelle di sistema. SQL Server considera stored procedure di sistema, DDL e SQL-SMO come interfacce pubblicate e fa il possibile per mantenerne la compatibilità con le versioni precedenti.

SQL Server non supporta i trigger definiti nelle tabelle di sistema, in quanto potrebbero modificare il funzionamento del sistema.

Nota

I database di sistema non possono trovarsi in directory di condivisione UNC.

Visualizzazione di dati dei database di sistema

È sconsigliabile definire istruzioni Transact-SQL che eseguono query dirette sulle tabelle di sistema, a meno che non si tratti dell'unico modo per ottenere le informazioni richieste dall'applicazione. Le applicazioni devono invece ottenere le informazioni di sistema e del catalogo utilizzando gli elementi seguenti:

  • Viste del catalogo di sistema

  • SQL-SMO

  • Interfaccia di Strumentazione gestione Windows (WMI, Windows Management Instrumentation)

  • Funzioni, metodi, attributi o proprietà del catalogo dell'API dei dati utilizzata dall'applicazione, ad esempio ADO, OLE DB o ODBC

  • Funzioni predefinite e stored procedure di sistema Transact-SQL