Database msdb
Si applica a: SQL Server e Istanza gestita di SQL di Azure
Il database msdb viene usato SQL Server Agent per la pianificazione di avvisi e processi e da altre funzionalità, ad esempio SQL Server Management Studio, Service Broker e Posta elettronica database.
In SQL Server, ad esempio, l'intera cronologia di backup e ripristino online viene gestita in modo automatico nelle tabelle del database msdb. Queste informazioni includono il nome della parte che ha eseguito il backup, l'ora del backup e i dispositivi o i file in cui viene archiviato il backup. SQL Server Management Studio usa queste informazioni per proporre un piano per il ripristino di un database e per l'applicazione di qualsiasi backup del log delle transazioni. Vengono inoltre registrati gli eventi di backup di tutti i database che sono stati creati con applicazioni personalizzate o strumenti di terze parti. Ad esempio, se si usa un'applicazione Microsoft Visual Basic che chiama oggetti SMO (SQL Server Management Objects) per l'esecuzione di operazioni di backup, l'evento viene registrato nelle tabelle di sistema msdb, nel registro applicazioni di Microsoft Windows e nel log degli errori di SQL Server. Per facilitare la protezione delle informazioni archiviate in msdb, è consigliabile considerare l'inserimento del log delle transazioni di msdb in uno spazio di archiviazione a tolleranza d'errore.
Per impostazione predefinita, msdb usa il modello di recupero con registrazione minima. Se si usano le tabelle di cronologia di backup e ripristino , è consigliabile usare il modello di recupero per msdb. Per altre informazioni, vedere Modelli di recupero (SQL Server). Si noti che durante l'installazione o l'aggiornamento di SQL Server e ogni volta che si usa il file Setup.exe per ricompilare i database di sistema, il modello di recupero di msdb viene impostato automaticamente su SIMPLE.
Importante
- Successivamente a qualsiasi operazione che aggiorna msdb, ad esempio per il backup o il ripristino di un database qualsiasi, è consigliabile eseguire il backup msdb. Per altre informazioni, vedere Backup e ripristino di Database di sistema (SQL Server).
- Esistono differenze a quanto disponibile nel database msdb dell'istanza gestita di SQL di Azure. Per altre informazioni, rivedere Trasparenza del backup.
Proprietà fisiche del database msdb
Nella tabella seguente sono illustrati i valori di configurazione iniziali dei file di dati e di log del database msdb . Le dimensioni di questi file possono variare leggermente a seconda dell'edizione del motore di database di SQL Server.
file | Nome logico | Nome fisico | Aumento di dimensioni del file |
---|---|---|---|
Dati primari | MSDBData | MSDBData.mdf | Aumento automatico del 10% fino a quando il disco risulta pieno. |
Log | MSDBLog | MSDBLog.ldf | Aumento automatico del 10% fino a un massimo di 2 terabyte. |
Per spostare il database msdb o i file di log, vedere Spostare i database di sistema.
Opzioni di database
Nella tabella seguente vengono elencati i valori predefiniti per ogni opzione di database del database msdb ed è indicato se è possibile modificare le varie opzioni. Per visualizzare le impostazioni correnti di queste opzioni, usare la vista del catalogo sys.databases .
Opzione di database | Valore predefinito | Modificabile |
---|---|---|
ALLOW_SNAPSHOT_ISOLATION | In... | No |
ANSI_NULL_DEFAULT | OFF | Sì |
ANSI_NULLS | OFF | Sì |
ANSI_PADDING | OFF | Sì |
ANSI_WARNINGS | OFF | Sì |
ARITHABORT | OFF | Sì |
AUTO_CLOSE | OFF | Sì |
AUTO_CREATE_STATISTICS | In... | Sì |
AUTO_SHRINK | OFF | Sì |
AUTO_UPDATE_STATISTICS | In... | Sì |
AUTO_UPDATE_STATISTICS_ASYNC | OFF | Sì |
CHANGE_TRACKING | OFF | No |
CONCAT_NULL_YIELDS_NULL | OFF | Sì |
CURSOR_CLOSE_ON_COMMIT | OFF | Sì |
CURSOR_DEFAULT | GLOBAL | Sì |
Opzioni relative alla disponibilità del database | ONLINE MULTI_USER READ_WRITE |
No Sì Sì |
DATE_CORRELATION_OPTIMIZATION | OFF | Sì |
DB_CHAINING | In... | Sì |
ENCRYPTION | OFF | No |
MIXED_PAGE_ALLOCATION | In... | No |
NUMERIC_ROUNDABORT | OFF | Sì |
PAGE_VERIFY | CHECKSUM | Sì |
PARAMETERIZATION | SEMPLICE | Sì |
QUOTED_IDENTIFIER | OFF | Sì |
READ_COMMITTED_SNAPSHOT | OFF | No |
RECOVERY | SEMPLICE | Sì |
RECURSIVE_TRIGGERS | OFF | Sì |
Opzioni relative a Service Broker | ENABLE_BROKER | Sì |
TRUSTWORTHY | In... | Sì |
Per una descrizione di queste opzioni di database, vedere ALTER DATABASE (Transact-SQL).
Restrizioni
Nel database msdb non è possibile eseguire le operazioni seguenti:
- Modifica delle regole di confronto. Le regole di confronto predefinite corrispondono a quelle del server.
- Eliminazione del database.
- Eliminazione dell'utente guest dal database.
- Abilitazione dell'acquisizione dei dati delle modifiche.
- Partecipazione al mirroring del database.
- Rimozione del filegroup primario, del file di dati primario o del file di log.
- Ridenominazione del filegroup primario o del database.
- Impostazione del database su OFFLINE.
- Impostazione del filegroup primario su READ_ONLY.
Consigli
Quando si utilizza il database master, è consigliabile attenersi alle indicazioni seguenti:
Tenere sempre a disposizione un backup aggiornato del database msdb .
Creare il prima possibile un backup del database msdb dopo aver eseguito le operazioni seguenti:
- Creazione, modifica o eliminazione di processi, avvisi, proxy o piani di manutenzione
- Aggiunta, modifica o eliminazione di profili di posta elettronica database
- Aggiunta, modifica o eliminazione di criteri di gestione basata su criteri
Non creare oggetti utente nel database msdb. In caso contrario, sarà necessario creare backup del database msdb più frequenti.
Considerare il database msdb come estremamente sensibile e non concedere l'accesso a nessuno senza una necessità adeguata. In particolare, tenere presente che i processi di SQL Server Agent sono spesso di proprietà dei membri del ruolo di amministratore di sistema e quindi è necessario assicurarsi che il codice eseguito non possa essere manomesso.
Controllare le modifiche agli oggetti in msdb