SQL Server System -databaser

SQL Server System -databaser

Velkommen, min meddatabaseutviklere, til en annen SQL Server -opplæring.

I denne artikkelen vil vi utjevne vår SQL Server -kunnskap ved å forstå systemdatabasene levert av SQL Server, og hva nøyaktig deres formål er. Vi vil også diskutere DOS og ikke når det gjelder SQL Server System DBS.

Systemdatabaser i SQL Server

Avhengig av SQL Server -versjonen og installasjonsmetoden, gir SQL Server oss fem hovedsystemdatabaser.

Disse databasene inkluderer:

  1. Master Database
  2. MSDB -database
  3. Modelldatabase
  4. Ressursdatabase
  5. Tempdb -database

La oss raskt gå gjennom det de gjør.

SQL Server Master Database

Den første er hoveddatabasen. Denne systemdatabasen lagrer all informasjonsnivåinformasjon for forekomsten av serveren.

I denne databasen finner du informasjonen som:

  1. Påloggingskontoer
  2. Endepunkter
  3. Koblede servere
  4. Systemkonfigurasjonsinnstillinger
  5. Filplasseringer av databasene

Derfor ville det være en enorm understatement å oppgi at dette er en kritisk systemdatabase. Hvis hoveddatabasen er korrupt eller mangler, kan ikke SQL -serveren starte med mindre det er reparert.

Som du kan gjette, begrenser SQL Server det du kan utføre på Master -databasene.

Derfor er du begrenset fra følgende:

  1. Slipp hoveddatabasen
  2. Sett databasen til offline
  3. Angi databasen eller primærfilgruppen til Read_only
  4. Legg til nye filer eller filegrupper i databasen
  5. Utføre enhver annen type sikkerhetskopi bortsett fra en full sikkerhetskopi
  6. Endre standardsamling eller eier av hoveddatabasen. Som standard eies Master -databasen av SA -brukeren med serversamlingen som standard.
  7. Legg til triggere på systemtabeller i hoveddatabasen
  8. Aktiver endring av datafangst
  9. Gi nytt navn til databasen eller den primære filgruppen
  10. Registrer hoveddatabasen i databasespeiloperasjonen
  11. Fjern gjestebrukeren fra hoveddatabasen
  12. Lag eventuelle triggere i Master DB

Dette er en alvorlig database.

SQL Server MSDB System Database

Den andre databasen i SQL Server System -databasene er MSDB -databasen. Denne databasen er ansvarlig for planlegging av varsler og jobber som brukes av SQL Server Agent. Det brukes også av de andre funksjonene som SSMS, Service Broker og Database Mail.

Tilsvarende er det bra å sikre at du har en oppdatert sikkerhetskopi av MSDB -databasen.

Følgende er begrensningene i MSDB -databasen. Du kan ikke gjøre følgende:

  1. Endre samlingen av MSDB -databasen
  2. Slipp databasen
  3. Slipp gjestebrukeren fra MSDB -databasen
  4. Aktiver endring av datafangst
  5. Sett den primære filegruppen til Read_only
  6. Fjern den primære filgruppen, loggfilen eller primærdatafilen
  7. Gi nytt navn til databasen eller primærfilgruppen
  8. Angi databasen som offline
  9. Registrer deg i databasespeiling

SQL Server Model System Database

Modelldatabasen i SQL -serveren fungerer som blåkopien eller malen for alle databasene som er opprettet på den serveren.

Når du har opprettet en ny database på serveren, bygges den første delen av databasen ved å kopiere innholdet i modelldatabasen. Etter det fyller SQL -serveren resten med tomme sider.

Det er derfor viktig at modelldatabasen eksisterer på serveren. Dette er fordi SQL -serveren oppretter tempdb på hver oppstart som arver modelldatabasens innstillinger.

MERK: Å gjøre endringer i modelldatabasene sikrer at alle databasene som er opprettet etter det, arver alle dens modifikasjoner.

Tilsvarende arver modelldatabasene de lignende begrensningene som MSBD og hoveddatabasen. Imidlertid kan du i tillegg ikke gjøre følgende:

  1. Lag prosedyrer, visninger og utløsere med krypteringsalternativet.

SQL Server Resource System Database

Ressursdatabasen er en skrivebeskyttet DB som er ansvarlig for å lagre alle systemobjektene som er inkludert i SQL-serveren.

Denne databasen har ingen brukerdata eller brukermetadata. Denne databasen gjør oppgraderingen til en nyere SQL Server -versjon enklere og mye raskere, da prosessen ikke krever å slippe og gjenskape systemobjektene.

Oppgraderingsprosessen kopierer ressursdatabasefilen til en lokal server og behandler oppgraderingen av brukeren av ressursdatabasen.

MERK: I motsetning til andre systemdatabaser, kan ikke SQL -serveren sikkerhetskopiere ressursdatabasen. Imidlertid kan du manuelt sikkerhetskopiere det.

SQL Server TEMPDB -database

Du er sannsynligvis kjent med tempdb i SQL -serveren. Denne databasen lagrer midlertidige brukerobjekter som midlertidige tabeller, indekser, lagrede prosedyrer, tabellvariabler, markører, funksjoner osv.

Den lagrer også interne objekter som er opprettet av databasemotoren. Disse inkluderer arbeidstabeller, arbeidsfiler osv.

Endelig lagrer tempdb også versjonsbutikkene. Versjonsbutikker er en samling av datasider som inneholder dataradene for radversjonering.

Dos:

Følgende er noen av operasjonene og oppgavene du bør følge med angående systemdatabasene:

  1. For å unngå korrupsjon av SQL Server -forekomsten, har du alltid en sikkerhetskopi av alle/alle systemdatabaser før du gjør noen endringer på serveren.
  2. Gjenoppliv all informasjon og innstillinger som er tilgjengelige i systemdatabasene før du begår.
  3. Hvis du ønsker å hente systeminformasjonen, bruker du systemkatalogvisninger, SQL-SMO, systemlagrede prosedyrer og innebygde funksjoner, katalogfunksjoner, metoder og attributter og WMI-grensesnitt. Aldri spørringssystem databasene direkte.

Don'ts:

  1. Endre aldri noen verdi direkte i systemdatabasene (unntatt tempdb).
  2. Slå aldri på den pålitelige egenskapen i hoveddatabasen. Dette reduserer sikkerheten dramatisk sikkerheten, da SQL -serveren alltid stoler på innholdet i hoveddatabasen, ondsinnet eller ikke.
  3. Skriv aldri Transact-SQL-spørsmålene som spør om dataene fra systemdatabasene direkte. Med mindre spørsmål om systemdatabasene er den eneste måten å få nevnte informasjon.
  4. Aldri endre eller direkte skrive til noen systemdatabase.

Dette er noen regler og forholdsregler angående systemdatabasen. Selv om det er mulig å reparere noen systemdatabaser, fører det til et alvorlig tap av data og/eller kan gjøre hele SQL Server -forekomsten ubrukelig.

Konklusjon

Vi er glade for at du blir med oss ​​på reisen vår for å utforske systemdatabasene i SQL -serveren. Vi håper at du lærte noe for å forbedre SQL Server -ferdighetene dine og bli en bedre databaseadministrator.

Takk for at du leste! Vi sees i vår neste opplæring.