kommandofil att SQL Server-databas underhåll enkel

Förutom att skapa säkerhetskopior finns en mängd olika uppgifter och funktioner SQL Server gör tillgängliga som kan både förbättra prestanda och tillförlitlighet på ditt databaser. Vi har tidigare visat hur du säkerhetskopiera SQL Server-databaser med en enkel kommandorad manus så på samma sätt som vi tillhandahåller ett skript som gör att du enkelt kan utföra vanliga underhållsuppgifter.

Kompakte / Krympa en databas [/ Compact]

Det finns flera faktorer som bidrar till den fysiska diskutrymme en SQL Server-databas används. Bara för att nämna några

Kompaktering (eller krymper) databasen kommer återta oanvänt diskutrymme. För små databaser (200 MB eller mindre) detta oftast inte kommer att vara mycket, men för stora databaser (1 GB eller mer) den återvunna utrymmet kan vara betydande.

Omindexering en databas [/ Reindex]

Ungefär som ständigt skapar, redigerar och tar bort filer kan leda till disk fragmentering, sätter uppdatera och radera poster i en databas kan leda till tabell fragmentering. De praktiska resultaten är desamma i att läs- och skrivoperationer drabbas av en prestation hit. Även om inte en perfekt analogi, omindexering tabellerna i en databas i huvudsak defragmenteras dem. I vissa fall kan detta avsevärt öka hastigheten på datahämtning.

På grund av det sätt på SQL Server fungerar, måste tabeller indexeras individuellt. För databaser med ett stort antal tabeller kan detta vara verklig smärta att göra manuellt, men vårt skript träffar varje bord i respektive databas och ombyggnader alla index.

Verifiera Integrity [/ Verifiera]

För att en databas för att vara både funktionell och producera korrekta resultat, det finns många integritets poster som måste vara på plats. Tack och lov, fysiska och / eller logiska integritetsproblem är inte så vanligt, men det är bra att ibland köra integriteten verifieringsprocessen på dina databaser och granska resultaten.

När verifieringsprocessen drivs genom vårt skript bara fel rapporteras, så inga nyheter är goda nyheter.

Den SQLMaint kommandofil är kompatibel med SQL 2005 och högre och måste köras på en maskin som har SQLCMD verktyget installerad (installeras som en del av SQL Server installation). Det rekommenderas att du släpper det här skriptet i ett läge som i Windows PATH variabel (dvs. C: Windows) så det kan lätt kallas som alla andra program från kommandoraden.

För att visa hjälpinformation, helt enkelt in

SQLMaint /?

Exempel

För att köra en kompakt och sedan en kontrollera i databasen “Mydb” med en betrodd anslutning

SQLMaint Mydb / Compact / Verifiera

För att köra en REINDEX och sedan kompakt på “Mydb” på den namngivna instans “Special” med “sa” användare med lösenord “123456”

SQLMaint Mydb /S:.Special / U: SA / P: 123456 / Reindex / Compact

Genom att använda inifrån en kommandofil

Medan SQLMaint kommandofil kan användas som ett program från kommandoraden, när du använder den i en annan kommandofil måste den föregås med CALL sökord.

Till exempel kör skriptet alla underhållsarbeten på varje icke-systemets databas på en standard SQL Server installation med först autentisering

@echo Off, SETLOCAL EnableExtensions, SET DBList = “% TEMP% DBList.txt”; sqlcmd -E -h-1 w 300 Q “SET NOCOUNT på väljer namn från master.dbo.sysDatabases där namn inte IN ( ‘ master “,” modell “,” msdb “,” tempdb) “>% DBList%, för / F” usebackq tokens = 1 “%% I i (% DBList%) DO, CALL SQLMaint” %% i “/ Compact / Indexera / Verifiera, ECHO +++++++++++, IF FINNS% DBList% DEL / F / Q% DBList%; ENDLOCAL

Ladda ner SQLMaint Batch Script från SysadminGeek.com

Iris, ett släkte av ca 300 arter av pråliga blommande växter som finns runt om i världen, härleda sitt namn från det grekiska ordet för regnbåge (Iris är också namnet på den grekiska gudinnan av regnbågen).