В допълнение към създаването на резервни копия, има различни задачи и функции, които SQL Server предлага, които могат да подобрят производителността и надеждността на вашите бази данни. По-рано ви показахме как да архивирате SQL Server бази данни с прост скрипт от командния ред, така че по същия начин предоставяме скрипт, който ще ви позволи лесно да изпълнявате обичайни задачи по поддръжката.
Компакциране / свиване на база данни [/ Compact]
Има няколко фактора, които допринасят за физическото дисково пространство, което използва базата данни на SQL Server. Само за да назовем няколко:
Компресирането (или свиването) на базата данни ще доведе до възстановяване на неизползваното дисково пространство. За малки бази данни (200 MB или по-малко) това обикновено няма да бъде много, но за големи бази данни (1 GB или повече) възстановеното пространство може да е значително.
Повторно индексиране на база данни [/ Reindex]
Подобно на постоянното създаване, редактиране и изтриване на файлове може да доведе до фрагментиране на диска, вмъкване, актуализиране и изтриване на записи в база данни може да доведе до разпокъсаност на таблицата. Практическите резултати са еднакви в това, че операциите за четене и писане страдат от хит на изпълнението. Въпреки че не е перфектна аналогия, reindexing таблици в база данни по същество ги дефрагментира. В някои случаи това може значително да увеличи скоростта на извличане на данни.
Поради начина, по който SQL Server работи, таблиците трябва да бъдат отделени отделно. За бази данни с голям брой таблици това може да е истинска болка, за да се направи ръчно, но скриптът натиска всяка маса в съответната база данни и възстановява всички индекси.
Потвърждаване на интегритета [/ Verify]
За да може една база данни да остане функционална и да доведе до точни резултати, има многобройни елементи на интегритета, които трябва да са налице. За щастие, физическите и / или логически проблеми с интегритета не са много чести, но е добра практика периодично да стартирате процеса на проверка на цялостта на вашите бази данни и да прегледате резултатите.
Когато процесът на потвърждаване се изпълнява чрез нашия скрипт, се съобщават само грешки, така че няма новини, които да са добри новини.
Шаблонът за SQLMaint партида е съвместим с SQL 2005 и по-висок и трябва да се изпълнява на машина, която има инсталиран инструмент SQLCMD (инсталиран като част от инсталацията на SQL Server). Препоръчваме ви да поставите този скрипт на място, зададено в променливата Windows PATH (т.е. C: Windows), така че лесно може да бъде наречено като всяко друго приложение от командния ред.
За да видите информацията за помощ, просто въведете:
SQLMaint /?
Примери
За да стартирате компактна версия и след това потвърдете в базата данни "MyDB", използвайки надеждна връзка:
SQLMaint MyDB / Компактен / Проверка
За да стартирате "reindex" и след това да компресирате "MyDB" на посочения екземпляр "Special", използвайте "sa" потребител с парола "123456":
SQLMaint MyDB /S: Специално / U: sa / P: 123456 / Reindex / Compact
Използване отвътре на партиден скрипт
Докато SQLMaint партидният скрипт може да се използва като приложение от командния ред, когато го използвате в друг партиден скрипт, той трябва да бъде предхождан от ключовата дума CALL.
Например, този скрипт изпълнява всички задачи по поддръжка на всяка несистемна база данни на стандартна инсталация на SQL Server, използвайки надеждна удостоверяване:
@ OFF OFF
SETLOCAL EnableExtensions
SET DBList = "% TEMP% DBList.txt"
SqlCmd -E -h-1 -w 300-Q "SET NoCount ON; SELECT Име от master.dbo.sysДата бази WHERE Име Не IN ('master', 'model', 'msdb', 'tempdb') ">% DBList%
FORF / F "usebackq означения = 1" %% IN IN (% DBList%) DO (
CALL SQLMaint "%% i" / Compact / Reindex / Проверка
ECHO +++++++++++
)
АКО съществува% DBList% DEL / F / Q% DBList%
ENDLOCAL
Изтеглете SQLMaint Batch Script от SysadminGeek.com