Database di sistema SQL Server

Database di sistema SQL Server

Benvenuto, i miei colleghi sviluppatori di database, a un altro tutorial SQL Server.

In questo articolo, livelleremo le nostre conoscenze SQL Server comprendendo i database di sistema forniti dal server SQL e qual è esattamente il loro scopo. Discuteremo anche le DOS e non lo faremo quando si tratta del sistema SQL Server DBS.

Database di sistema in SQL Server

A seconda della versione SQL Server e del metodo di installazione, SQL Server ci fornisce cinque database di sistema principali.

Questi database includono:

  1. Database principale
  2. Database MSDB
  3. Database del modello
  4. Database delle risorse
  5. Database tempdb

Cammiamo rapidamente attraverso quello che fanno.

SQL Server Master Database

Il primo è il database principale. Questo database di sistema memorizza tutte le informazioni a livello di sistema per l'istanza del server.

In questo database, troverai le informazioni come:

  1. Account di accesso
  2. Endpoint
  3. Server collegati
  4. Impostazioni di configurazione del sistema
  5. Posizioni dei file dei database

Pertanto, sarebbe un eufemismo eccezionale affermare che si tratta di un database di sistema critico. Se il database principale è corrotto o mancante, il server SQL non può iniziare se non riparato.

Come puoi immaginare, SQL Server limita ciò che puoi eseguire sui database master.

Pertanto, sei limitato da quanto segue:

  1. Lascia cadere il database master
  2. Imposta il database su offline
  3. Imposta il database o il filegroup primario su read_only
  4. Aggiungi nuovi file o filegroup al database
  5. Eseguire qualsiasi altro tipo di backup tranne un backup completo
  6. Modificare la raccolta predefinita o il proprietario del database principale. Per impostazione predefinita, il database principale è di proprietà dell'utente SA con la raccolta del server come predefinita.
  7. Aggiungi trigger sulle tabelle di sistema nel database principale
  8. Abilita l'acquisizione dei dati di modifica
  9. Rinominare il database o il filegroup primario
  10. Iscriviti al database principale nell'operazione di mirror del database
  11. Rimuovere l'utente ospite dal database principale
  12. Creare tutti i trigger nel maestro db

Questo è un database grave.

Database di sistema MSDB SQL Server

Il secondo database nei database di sistema SQL Server è il database MSDB. Questo database è responsabile della pianificazione degli avvisi e dei lavori utilizzati dall'agente SQL Server. Viene anche utilizzato dalle altre funzionalità come SSMS, Service Broker e Database Mail.

Allo stesso modo, assicurarsi di avere una copia di backup aggiornata del database MSDB è buona.

Di seguito sono riportate le restrizioni del database MSDB. Non puoi fare quanto segue:

  1. Modificare la raccolta del database MSDB
  2. Luci il database
  3. Lascia cadere l'utente ospite dal database MSDB
  4. Abilita l'acquisizione dei dati di modifica
  5. Imposta il filegroup principale su read_only
  6. Rimuovere il filegroup principale, il file di registro o il file di dati primari
  7. Rinominare il database o il filegroup primario
  8. Imposta il database come offline
  9. Iscriviti al mirroring del database

Database del sistema modello SQL Server

Il database del modello nel server SQL funge da progetto o modello per tutti i database creati in quel server.

Una volta creato un nuovo database nel server, la prima parte del database viene creata copiando il contenuto del database del modello. Successivamente, il server SQL riempie il resto con pagine vuote.

È quindi essenziale che il database del modello esista sul server. Questo perché il server SQL crea il tempdb su ogni avvio che eredita le impostazioni del database del modello.

NOTA: Apportare modifiche ai database dei modelli assicurano che tutti i database creati successivamente erediteranno tutte le sue modifiche.

Allo stesso modo, i database del modello ereditano le restrizioni simili a MSBD e il database principale. Tuttavia, inoltre, non puoi fare quanto segue:

  1. Crea procedure, viste e innesco con l'opzione di crittografia.

Database del sistema di risorse del server SQL

Il database delle risorse è un DB di sola lettura che è responsabile della memorizzazione di tutti gli oggetti di sistema inclusi con SQL Server.

Questo database non contiene dati utente o metadati utente. Questo database rende l'aggiornamento a una nuova versione SQL Server più semplice e molto più veloce in quanto il processo non richiede la caduta e la ricreazione degli oggetti di sistema.

Il processo di aggiornamento copia il file di database delle risorse a un server locale ed elabora l'aggiornamento da parte dell'utente del database delle risorse.

NOTA: A differenza di altri database di sistema, il server SQL non è in grado di eseguire il backup del database delle risorse. Tuttavia, puoi eseguirlo manualmente.

SQL Server Tempdb Database

Probabilmente hai familiarità con il tempdb nel server SQL. Questo database memorizza oggetti utente temporanei come tabelle temporanee, indici, procedure memorizzate, variabili della tabella, cursori, funzioni, ecc.

Memorizza anche oggetti interni creati dal motore del database. Questi includono tabelle di lavoro, file di lavoro, ecc.

Infine, il tempdb memorizza anche i negozi di versione. I negozi di versione sono una raccolta di pagine di dati che contiene le righe di dati per la versione di riga.

Dos:

Di seguito sono riportate alcune delle operazioni e delle attività che dovresti aderire per quanto riguarda i database di sistema:

  1. Per evitare la corruzione dell'istanza del server SQL, avere sempre una copia di backup di qualsiasi/tutti i database di sistema prima di apportare eventuali modifiche al server.
  2. Controlla costantemente tutte le informazioni e le impostazioni disponibili nei database di sistema prima di impegnarsi.
  3. Se si desidera recuperare le informazioni sul sistema, utilizzare le visualizzazioni del catalogo del sistema, SQL-SMO, procedure memorizzate dal sistema e funzioni integrate, funzioni di catalogo, metodi e attributi e interfaccia WMI. Non interrogare mai direttamente i database.

Non fare:

  1. Non modificare mai alcun valore direttamente nei database di sistema (tranne tempdb).
  2. Non attivare mai la proprietà affidabile nel database principale. Ciò riduce drasticamente la sicurezza del server poiché il server SQL si fida sempre del contenuto del database master, dannoso o no.
  3. Non scrivere mai le query Transact-SQL che interrogano direttamente i dati dai database di sistema. A meno che interrogare i database di sistema non sia l'unico modo per ottenere tali informazioni.
  4. Non modificare o scrivere direttamente in nessun database di sistema.

Queste sono alcune regole e precauzioni relative al database di sistema. Sebbene sia possibile riparare alcuni database di sistema, porta a una grave perdita di dati e/o può rendere inutilizzabile l'intera istanza SQL Server.

Conclusione

Siamo lieti di farti unire a noi nel nostro viaggio per esplorare i database di sistema nel server SQL. Speriamo che tu abbia imparato qualcosa per migliorare le tue capacità di SQL Server e diventare un amministratore di database migliore.

Grazie per aver letto! Ci vediamo nel nostro prossimo tutorial.