Med en hvilken som helst aktiv database, vil krav til diskoppbevaring vokse over tid. Mens du enkelt kan se diskplassen som brukes av en hel database, enten ved å se på Filer-siden i databaseegenskapene i SQL Management Studio eller bare se de underliggende filene i Windows Utforsker, hva om du vil grave litt dypere og se deler som utgjør summen av hele?
For å se denne informasjonen må du se størrelsen på de enkelte tabellene. Heldigvis har SQL Server en innebygd lagret prosedyre, sp_SpaceUsed, som viser lagringsstatistikken til individuelle tabeller. Ved å utnytte denne lagrede prosedyren har vi opprettet et batch script som lar deg enkelt lage en liste over hver tabell i en database og vise lagringsstatistikken.
Når skriptet kjøres, er følgende informasjon for hver tabell i databasen oppført i tabellformat:
- Database tabell navn
-
Antall rader i tabellen
- Totalt diskplass tildelt til denne tabellen av SQL
-
Mengde diskplass som brukes til datalagring
- Mengde diskplass brukt til interne SQL-indekser
- Mengde diskplass for tiden ubrukt
Bruke skriptet
DBSize-batchskriptet er kompatibelt med SQL 2005 og høyere og må kjøres på en maskin som har SQLCMD-verktøyet installert (installert som en del av SQL Server-installasjonen). Det anbefales at du slipper dette skriptet til et sted som er angitt i Windows PATH-variabelen (dvs. C: Windows), slik at det lett kan kalles som et hvilket som helst annet program fra kommandolinjen.
For å se hjelpinformasjonen, skriv inn:
DBSize /?
eksempler
For å kjøre en rapport på "MyDB" på standardinstansen og send utdataene til "MyDB Table Size.txt" på skrivebordet:
DBSize MyDB > “%UserProfile%DesktopMyDB Table Size.txt”
For å kjøre en rapport på "MyDB" på den nevnte forekomsten "Special" ved hjelp av "sa" -brukeren med passordet "123456":
DBSize MyDB /S:.Special /U:sa /P:123456
Last ned Database Batch Size Batch Script fra SysadminGeek.com