Database vedlikehold


Database rutinemessig vedlikehold er en viktig oppgave for administrator.De store Innholdet inkluderer følgende deler:
Først data backup system
Sybase system for sikkerhetskopiering og gjenoppretting mekanisme for å garantere svikt i systemet muligheten til å re-tilgang til data.SQL Server har to forskjellige typer mekanismer for gjenoppretting: en er gjenoppretting av systemet automatisk, slike tiltak har på hvert system oppstart automatisk, for å sikre fullstendig lammelse i systemet, er transaksjoner skrevet til databasen enheten,transaksjoner er ikke fullført tilbake, den andre er gjort manuelt gjenopprette den ved å dumpe og laste kommandoer for å utføre manuell backup og gjenoppretting.Derfor logger jevnlig backup av transaksjonen og databaser er en svært viktig rutinemessig vedlikehold.

1, backup database

Hver database skal opprettes etter lossing, og gir en monteringspunkt.Etter dette, det periodiske system på det planlagte tidspunktet lossing.Slike som lossing databasen hver fredag.Database systemet generelt anbefaler lossing syklus av database en gang i uken.
I tillegg til faste periodiske lossing databaser, er det ikke nødvendig å logge på hver kjøring etter lossing drift av databasen.For eksempel:
• Hver tvunget til å kjøre DUMP Tran MED NO_LOG (fordi databasen diskplass overløp);
• Hver med sp_dboption tillate velge inn / bulkcopy gjøre en rask kopi, eller bruk SELECT INTO kommandoen for å opprette en permanent tabell, eller bruk WRITETEXT kommandoen.
Lossing av en database kommando:

DUMP DATABASE database_name
TIL dump_device

database_name er navnet på databasen som skal losses, dump_device navnet på enheten er losset.Prosessen kan fås med systemet sp_helpdevice enhetene.
Følgende kommando for å losse databasen my_db:

DUMP DATABASE my_db
TIL db_bk_dev

2, backup transaksjonslogg

Dersom transaksjonen logger og database på samme enhet, så transaksjonsloggen backup ikke bør skilles fra databasen.master database og bruker databasen er mindre enn 4M er tilfelle.General database systemets database og logge seg på separate enheter, derfor kan brukes alene DUMP Tran kommandoen backup log.
Back opp transaksjonen logge data direkte påvirker utvinning syklus av graden, er det anbefalt daglige sikkerhetskopier.
Transaksjonslogg backup kommandoen format:

DUMP Transaksjon database_name
[TIL dump_device]
[MED TRUNCATE_ONLYWITH NO_LOGWITH NO_TRUNCATE]

Hvor database_name er navnet på databasen for å sikkerhetskopiere transaksjonen, er dump_device sikkerhetskopieringen enhetsnavnet, kun hvis inkludert MED TRUNCATE_ONLY eller MED NO_LOG klausul, kan det være sikkerhetskopiert til enheten.
Merk: Hvis du alltid bruker DUMP datebase (backup database og log), snarere enn DUMP Tran, logger Transaksjonen vil ikke flush, og blir veldig store.
For master-databasen og en liten database etter hvert kjørt DUMP datebase refresh kommandoen skal kjøres DUMP transaksjonsloggen.
Db160 følgende kommando backup database transaksjonsloggen til backup-enheten:

DUMP Transaksjon db160
TIL db_log_bk_dev
MED TRUNCATE_ONLY

3, sikkerhetskopiere databasen og samspillet mellom log

Minst en database før lossing, lossing transaksjonen loggen er meningsløst.Figuren nedenfor viser backup-databasen og dens logg forholdet mellom

05:01 på tirsdag dersom de ikke-hardware feil oppstår, må du gjøre alt arbeidet er å laste tape 5 (se neste avsnitt: data recovery), er båndet 5 sikkerhetskopiert bare 5:00, bare for å sikkerhetskopiere og lasteett minutt mellom de tap av data.
Men hvis du mislykkes 04:49 tirsdag hva som vil skje?I dette tilfellet, for å laste tape 1 (5:00 pm on fredag utladet.)Deretter slår du tape i 2,3 og 4.Dermed vil systemet bli gjenopprettet til staten tirsdag 10:00 tirsdag, mistet det meste av arbeidet.Dette eksempelet viser hvor viktig det er vanlig lossing tjenester.

For det andre, hvis systemet ikke klarer å gjenopprette databasen systemet

Hvis brukeren databasen lagringsenheten svikt, som er skadet eller ikke får tilgang til databasen, ved å laste den nyeste database backup og transaksjonsloggen backup kan senere gjenopprette databasen.Forutsatt dagens transaksjonsloggen finnes ikke i en ødelagt enhet, med alternativer for DUMP transaksjon med NO_TRUNCATE kommandoer lossing det.
For å gjenopprette databasen, gjør du følgende:
1, lossing hvis loggen finnes på en separat enhet, med mulighet for DUMP transaksjonen med NO_TRUNCATE kommandoer skadet eller brukeren kan ikke få tilgang til databasen transaksjonsloggen.
2, ved inspeksjonsutstyr distribusjon følgende spørring i databasen har blitt ødelagt utstyr bruk.Må tilordnes til samme formål på samme plassen blokk.
Følgende spørring viser enhetene tildelt databasen mydb og størrelsen av situasjonen:

SELECT segmap, størrelse FRA sysusages
WHERE dbid =
(SELECT dbid FROM sysdatabases WHERE navn = "mydb")

3, sjekk resultatet av spørringen.I segmap kolonne '3 'representerer data distribusjon, '4' representerer loggen distribusjon.Størrelsen kolonne representerer antall 2K blokker av data.Merk at rekkefølgen av denne informasjonen, bruk og størrelse på deler.For eksempel er output:

segmapSize
--------------------
310 240 / / faktiske størrelse: 20M
35120 / / faktiske størrelse: 10M
45120 / / faktiske størrelse: 10M
31024 / / faktiske størrelse: 2M
42048 / / faktiske størrelse: 4M

4, med DROP DATABASE-kommandoen for å slette den skadede databasen på enheten.Hvis systemfeil, bruk DBCC DBREPAIR kommando DROPDB alternativer.
5, slette database, med sp_dropdevice fjerne skadet utstyr.
6, med DISK INIT initialisere nye databasen enheter.
7, gjenoppbygge databasen.CREATE DATABASE-kommandoen med sysusages bord fra den gamle kopiere alle radene, og inneholder den første logiske enheten.
Den tidligere saker, er kommandoen:

CREATE DATABASE mydb
PÅ datadev1 = 20, datadev2 = 10
LOGG PÅ logdev1 = 10

8, med ALTER DATABASE-kommandoen for å gjenoppbygge de resterende inngangen.I dette tilfellet datadev1 tildelt mer plass, er kommandoen:

ALTER DATABASE mydb ON datadev1 = 2

9, re-montere databasen med LOAD DATABASE, og deretter bruke LOAD Tran slippes i fronten av loggen.
LOAD DATABASE-kommandoen syntaks er:

LOAD DATABASE database_name
FRA dump_device

LOAD Transaction kommando syntaks er:

LOAD Transaksjon database_name
FRA dump_device

Lossing standard databasen og transaksjon loggdatabasen rettigheter eid av eieren, og kan overføres til andre brukere, lastet database og transaksjoner rettigheter eies av databasen eieren, men kan ikke passere.

For det andre, generere brukerinformasjon bordet, og autorisasjon for informasjonen tabellen;
System vedlikeholdspersonell er en annen rutine informasjon for brukeren å opprette en ny tabell, og tillatelse til å jobbe.Lag bordet og bordet har fått fullmakt av metodene nevnt, i dette bare skrive om kommandosyntaksen.
• Lag tabell-kommandoen er:

CREATE TABLE table_name
(Column_1 datatype [NULL NOT NULL IDENTITET],
column_2 ... ...
)


ALTER TABLE table_name
ADD PRIMARY KEY (column_list)


* Slett tabell kommandoen format er:

DROP TABLE table_name


* For kommandoen fullmakten tabellen format:

GRANT {ALLpermission_list}
PÅ table_name TIL user_name


* Tillatelse av kommandoen format for gjenvinning av

REVOKE {ALLpermission_list}
PÅ table_name fra Brukernavn



Tredje, overvåkningssystemet driftsforhold, rettidig behandling av systemfeil;
En annen administrator er å overvåke systemet daglige driften.Hovedsakelig på følgende områder:
1, overvåke og behandle informasjon om den aktuelle brukeren
Prosessen med å bruke systemet: sp_who
Beskrivelse: Denne kommandoen viser gjeldende system og behandle informasjon for alle registrerte brukere, er følgende tabell et system av informasjon.
SpidStatusLoginamehostnameblkdbnamecmd
---------------------------------------------------------------
1RunningSascosysv0MasterSELECT
2SleepingNULL0MasterNETWORK HÅNDTAK
3SleepingNULL0MasterDEADLOCK TUNE
4SleepingNULL0MasterMIRROR HANDLER
5SleepingNULL0MasterHOUSEKEEPER
6SleepingNULL0MasterCHECKPOINT SLEEP
Rekkefølge fra venstre til høyre viser: prosess ID, nåværende status, registrerte brukernavn, host navn, antall okkuperte blokker, databasenavnet og gjeldende kommandoen.
Hvis overvåkingen ble funnet nær det maksimale antall tilkoblinger (med systemet prosessen: sp_configure "bruker conn" visning), bør ikke falle under aktiviteter eller ingenting prosessen, for å sikre normal drift så, en annen bruker eller brukeren kan overvåke ulovlig bruk av ikke-sin egen bruk av databasen og så videre.
2, overvåke situasjonen målet plassen
Prosessen med å bruke systemet: sp_spaceused
Merk: Denne prosessen viser antall rader, data sider og dagens mål database, eller alle målene av et mellomrom okkupert.Tabellen nedenfor er en database logg tabell informasjon:

NameRow_totalreserveddataIndex_sizeunused
------------------------------------------------------------
SyslogsNot avail32KB32KB0KBNot nytte

Daglig for å overvåke de viktigste målene er: brukerdatabase, databasen log tabellen (syslogs) og fakturering de opprinnelige dataene ark.Hvis du finner ut at plassen er for stor, loggen tabellen til dump, bør utvides til andre mål eller klar plass useriøs data.
3, overvåke SQL Server statistikk
Prosessen med å bruke systemet: sp_monitor
Beskrivelse: sp_monitor statistikk viser historien til SQL Server, er følgende tabell et system for statistikk:

Last_runCurrent_runSeconds
---------------------------------------------------------------
13 mai 2000 01:27 PMMay 13 2000 03:01 PM5678
CPU_busyIO_busyIdle
---------------------------------------------------------------
16 (6) -0% 0 (0) -0% 5727 (5672) -99%
Packets_receivedPackets_sentPacket_errors
---------------------------------------------------------------
21 (17) 100 (97) 0 (0)
Total_readTotal_writeTotal_errorsConnections
--------------------------------------------------------
785 (366) 311 (113) 0 (0) 3 (2)

Tabellen viser at systemet for å kjøre statistikk over dette siste gang, denne gang intervallet i sekunder, CPU belegg, IO ta, sende og motta pakker, leser systemet skrive og annen informasjon

Fjerde, for å sikre data sikkerhetssystemer, periodisk endre et brukerpassord;
For å sikre data sikkerhet, må systemadministratorer være basert på den faktiske situasjonen i det systemet, utfører en rekke sikkerhetstiltak.Blant dem, er de periodiske endre et brukerpassord relativt vanlig og svært effektive tiltak.
Endre brukerpassord er prosessen ved å kalle systemet sp_password å oppnå.Sp_password Syntaksen er:
sp_password caller_password, new_password [, loginame]
Caller_password login passord som er (det gamle passordet), new_password et nytt passord, loginame et påloggingsnavn.