MSSQL backup e restore: differenze tra le versioni
Jump to navigation
Jump to search
| Riga 24: | Riga 24: | ||
DBCC SQLPERF(LOGSPACE); |
DBCC SQLPERF(LOGSPACE); |
||
go |
go |
||
Riferimenti: [RESTORE | https://learn.microsoft.com/it-it/sql/t-sql/statements/restore-statements-transact-sql?view=sql-server-ver17] |
|||
==ripristino== |
==ripristino== |
||
Versione delle 12:14, 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 go
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
Riferimenti: [RESTORE | https://learn.microsoft.com/it-it/sql/t-sql/statements/restore-statements-transact-sql?view=sql-server-ver17]
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