MSSQL backup e restore: differenze tra le versioni
Jump to navigation
Jump to search
| Riga 1: | Riga 1: | ||
==salvataggio== |
==salvataggio== |
||
| ⚫ | |||
| ⚫ | |||
Verificare il Recovery Model del database: |
Verificare il Recovery Model del database: |
||
SELECT name,recovery_model_desc FROM sys.databases WHERE name = 'MioDatabase' |
SELECT name,recovery_model_desc FROM sys.databases WHERE name = 'MioDatabase' |
||
GO |
GO |
||
Eventualmente modificarlo: |
|||
| ⚫ | |||
ALTER DATABASE <database_name> SET RECOVERY FULL |
|||
Salvataggio |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
BACKUP LOG MioDatabase TO DISK = '/backup/MioDatabase_20260611.trn' WITH INIT, FORMAT, COMPRESSION |
BACKUP LOG MioDatabase TO DISK = '/backup/MioDatabase_20260611.trn' WITH INIT, FORMAT, COMPRESSION |
||
GO |
GO |
||
| Riga 16: | Riga 20: | ||
GO |
GO |
||
Con versioni |
Con versioni precedenti alla 2019: |
||
DBCC SQLPERF(LOGSPACE); |
DBCC SQLPERF(LOGSPACE); |
||
GO |
GO |
||
Versione delle 10:53, 17 giu 2026
salvataggio
Verificare il Recovery Model del database:
SELECT name,recovery_model_desc FROM sys.databases WHERE name = 'MioDatabase' GO
Eventualmente modificarlo:
ALTER DATABASE <database_name> SET RECOVERY FULL
Salvataggio
backup database MioDatabase to disk = '/backup/MioDatabase.bak' go
Per per salvare solo il transaction log:
BACKUP LOG MioDatabase TO DISK = '/backup/MioDatabase_20260611.trn' WITH INIT, FORMAT, COMPRESSION GO
Per verificare svuotamento del transaction log:
SELECT * FROM sys.dm_db_log_space_usage; GO
Con versioni precedenti alla 2019:
DBCC SQLPERF(LOGSPACE); GO
ripristino
caso semplice
Per leggere il contenuto di un backup, serve eventualmente per modificare i percorsi dei files da restorare
RESTORE HEADERONLY FROM DISK = '/backup/MioDatabase.bak'; GO
restore database MioDatabase from disk = '/backup/MioDatabase.bak' with recovery go
con spostamento di percorso
RESTORE FILELISTONLY FROM DISK = '/backup/MioDatabase.bak';
RESTORE DATABASE MioDatabase FROM DISK = '/backup/MioDatabase.bak'; WITH RECOVERY, MOVE 'MioDatabase_Data' TO '/nuovo_percorso/MioDatabase_Data.mdf', MOVE 'MioDatabase_Log' TO '/nuovo_percorso/MioDatabase_Log.ldf'; GO
ripristino da completo, incrementali e transaction log
Per restore database e transaction log:
Utile per capire quando è stato eseguito il backup dei log e quale intervallo di tempo copre:
RESTORE HEADERONLY FROM DISK='/backup/MioDB_log_001.trn'; GO
restore database MioDatabase from disk = '/backup/MioDatabase_full.bak' with norecovery go restore database MioDatabase from disk = '/backup/MioDatabase_incremental.bak' with norecovery go restore log MioDatabase from disk = '/backup/MioDatabase_log01.bak' with norecovery go
L'ultimo backup del transaction log viene ripristinato con l'opzione recovery:
restore log MioDatabase from disk = '/backup/MioDatabase_log02.bak' with recovery go
Per point in time:
restore log MioDatabase from disk = '/backup/MioDatabase_log02.bak' with stopat='2026-06-10T15:30:00',recovery go
post restore
SELECT name,state_desc,recovery_model_desc FROM sys.databases WHERE name = 'MioDatabase'; GO
Eventualmente cambiare il compatibility level
select name,compatibility_level from sys.databases go
alter database MioDatabase set compatibility_level=170 go