Visa enkelt diskutrymmeanvändningen av enskilda SQL-tabeller i en databas
Med någon aktiv databas kommer disklagringsbehov att växa över tiden. Medan du enkelt kan se skivutrymmet som används av en hel databas genom att antingen titta på databasens egenskaper i SQL Management Studio eller helt enkelt se de underliggande filerna i Utforskaren, om du vill gräva lite djupare och se delar som utgör summan av hela?
För att se denna information måste du se storleken på de enskilda tabellerna. Tack och lov har SQL Server en inbyggd lagrad procedur, sp_SpaceUsed, som visar lagringsstatistiken för enskilda tabeller. Genom att använda denna lagrade procedur har vi skapat ett batch-script som gör att du enkelt kan skapa en lista över varje tabell i en databas och se dess lagringsstatistik.
När skriptet körs, visas följande information för varje tabell i databasen i tabellformat:
- Databas tabell namn
- Antal rader i tabellen
- Totalt diskutrymme som tilldelas denna tabell av SQL
- Mängden diskutrymme som används för datalagring
- Mängden diskutrymme som används för interna SQL-index
- Mängden diskutrymme som för närvarande är oanvänd
Använda scriptet
DBSize-batch-skriptet är kompatibelt med SQL 2005 och högre och måste köras på en maskin som har SQLCMD-verktyget installerat (installerat som en del av SQL Server-installationen). Det rekommenderas att du släpper det här skriptet till en plats som anges i din Windows PATH-variabel (dvs C: Windows) så att den lätt kan kallas som vilken som helst annan applikation från kommandoraden.
För att visa hjälpinformationen, skriv bara in:
DBSize /?
exempel
För att köra en rapport om "MyDB" på standardinstansen och rikta utdata till "MyDB Table Size.txt" på skrivbordet:
DBSize MyDB> "% UserProfile% DesktopMyDB Table Size.txt"
Att köra en rapport om "MyDB" på den angivna instansen "Special" med "sa" -användaren med lösenordet "123456":
DBSize MyDB / S: Special / U: sa / P: 123456
Hämta Database Batch Size Batch Script från SysadminGeek.com