MSSQL sikkerhetskopier - Kan jeg skrive et skript for å sjekke om DB har blitt modifisert før sikkerhetskopiering?

stemmer
2

Spørsmålet er i tittelen egentlig, jeg vil vite om jeg kan sjekke om DB har blitt endret i det hele tatt siden siste backup, som firmaet endre dataene svært sporadisk og vi ender opp med mange sikkerhetskopier alle akkurat det samme.

Publisert på 26/11/2012 klokken 16:29
kilden bruker
På andre språk...                            


2 svar

stemmer
2

Du kan spørre den siste endringen til en indeks. Dette omfatter endringer i tabeller, ettersom tabellene er lagret som en spesiell form for indeks (gruppert eller haug):

select  max(last_user_update)
from    sys.dm_db_index_usage_stats ius
join    sys.databases db
on      ius.database_id = db.database_id
where   db.name = 'YourDbName'

Denne statistikken nullstilles etter en server restart. Du kan finne serveren omstart tid med:

select  create_date
from    sys.databases
where   database_id = 2 -- tempdb
Svarte 26/11/2012 kl. 16:35
kilden bruker

stemmer
0

Den enkleste måten er å holde oversikt over dette faktum innenfor skjema ved hjelp av en "Sist oppdatert" -feltet. Du kan ha en "global" value (som vil være nyttig i ditt tilfelle hvor ingenting kan ha endret seg, men hvis noe har du bør ta det opp), og / eller en kolonne i hver tabell. Du kan administrere dette feltet med triggere, så ingen av programmene dine å bry seg at feltet finnes, men du kan få falske positiver med dette hvis apps noensinne utføre vedrørende poster uten å endre dataene.

Da er det enkelt; sette opp backup som en planlagt jobb, forutsetter en spørring sjekke noen, og alle "Sist oppdatert" feltene for å se om de er nyere enn den siste backup dato (som du også kan sette et sted i skjemaet for rask referanse).

Svarte 26/11/2012 kl. 16:37
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more