sql >> Database >  >> RDS >> Sqlserver

SQL Server-back-upcontrole

Hallo,

Om de back-up samen te vatten, kunnen we zeggen:Kopie van opgeslagen gegevens naar schijf of tape. In geval van onverwachte fouten of calamiteiten kan deze kopie worden gedefinieerd als Gegevens herstellen en gegevensverlies voorkomen.

In grootschalige bedrijven of bij belangrijke projecten veroorzaakt het verlies van gegevens materiële en reputatieveroorzakende gebeurtenissen, dus bedrijven moeten altijd meer dan één kopie van de databases of bestanden bewaren voor een of meer.

De oorzaken van gegevensverlies die kunnen optreden in bedrijven en systemen zijn als volgt.

  • Mediafout
  • Op gebruikers gebaseerde fouten. Tafel neerzetten
  • Schijffouten. Schijf corruptie
  • Natuurrampen. Overstromingen door aardbevingen.

Back-up moet elke dag worden gecontroleerd door SQL Server DBA met het volgende script.

SELECT DB.name AS Database_Name
,MAX(DB.recovery_model_desc) AS Recovery_Model
,MAX(BS.backup_start_date) AS Last_Backup
,MAX(CASE WHEN BS.type = 'D'
THEN BS.backup_start_date END)
AS Last_Full_backup
,SUM(CASE WHEN BS.type = 'D'
THEN 1 END)
AS Count_Full_backup
,MAX(CASE WHEN BS.type = 'L'
THEN BS.backup_start_date END)
AS Last_Log_backup
,SUM(CASE WHEN BS.type = 'L'
THEN 1 END)
AS Count_Log_backup
,MAX(CASE WHEN BS.type = 'I'
THEN BS.backup_start_date END)
AS Last_Differential_backup
,SUM(CASE WHEN BS.type = 'I'
THEN 1 END)
AS Count_Differential_backup
,MAX(CASE WHEN BS.type = 'F'
THEN BS.backup_start_date END)
AS LastFile
,SUM(CASE WHEN BS.type = 'F'
THEN 1 END)
AS CountFile
,MAX(CASE WHEN BS.type = 'G'
THEN BS.backup_start_date END)
AS LastFileDiff
,SUM(CASE WHEN BS.type = 'G'
THEN 1 END)
AS CountFileDiff
,MAX(CASE WHEN BS.type = 'P'
THEN BS.backup_start_date END)
AS LastPart
,SUM(CASE WHEN BS.type = 'P'
THEN 1 END)
AS CountPart
,MAX(CASE WHEN BS.type = 'Q'
THEN BS.backup_start_date END)
AS LastPartDiff
,SUM(CASE WHEN BS.type = 'Q'
THEN 1 END)
AS CountPartDiff
FROM sys.databases AS DB
LEFT JOIN
msdb.dbo.backupset AS BS
ON BS.database_name = DB.name
WHERE ISNULL(BS.is_damaged, 0) = 0-- exclude damaged backups 
GROUP BY DB.name
ORDER BY Last_Backup desc;



  1. Android Room-waarschuwing tijdens compileren over kolom in externe sleutel die geen deel uitmaakt van een index. Wat betekent het?

  2. Hoe u RPO voor uw PostgreSQL-databases minimaliseert met behulp van Point-in-Time Recovery

  3. SQL DELETE voor beginners

  4. Hoe make_timestamptz() werkt in PostgreSQL