Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да улавяте и анализирате събития на SQL Server

Когато работите като администратор на база данни на SQL Server, трябва да имате уменията да се потопите дълбоко в океана на SQL Server Engine и да откриете какво се случва вътрешно, за да можете да откривате, отстранявате и коригирате всеки проблем, с който може да се сблъскате.
Можете да се възползвате от регистрационните файлове, които се записват от двигателя на SQL Server локално под формата на регистрационни файлове на SQL Server или външно под формата на регистрационни файлове за събития, но не можете да ги считате за единствен източник за вашето отстраняване на неизправности и настройка операции.

SQL Server ви предоставя редица вградени функции, които могат да се използват за събиране на различните типове събития на SQL Server. В тази статия ще преминем през тези вградени функции и ще разгледаме един от най-ефективните безплатни инструменти на трети страни, които могат да се използват за събиране и анализиране на събития на SQL Server.

SQL Profiler

SQL Server Profiler се използва широко от администраторите и разработчиците на бази данни на SQL Server за събиране на различни типове събития относно заявките, изпълнявани на свързания екземпляр на SQL Server и след това използване на тази информация за подобряване на производителността на заявката.

SQL Profiler ви предоставя възможността да улавяте голямо разнообразие от събития, да задавате свойствата на събитието, от които се интересувате, и да филтрирате заснетите данни въз основа на предварително посочени стойности на свойства. Можете да отидете до дълбочината на това кой потребител изпълнява какъв тип действие върху коя таблица на базата данни, от коя машина и в кое време точно. Освен това SQL Profiler показва броя на изразходваните ресурси и показва дали действието е завършено или неуспешно с грешка.

Събирането на събития чрез SQL Profiler се извършва или чрез използване на редица съществуващи шаблони, или чрез създаване на ваш собствен персонализиран шаблон, използвайки съществуващите събития. Първо, трябва да се свържете с екземпляра на SQL Server, от който планирате да заснемате събитията, като предоставите името на екземпляра на SQL Server, метода за удостоверяване и идентификационните данни, необходими за свързване с този екземпляр на SQL Server, както е показано по-долу:

След като се свържете с екземпляра на SQL Server, ще бъдете помолени да посочите шаблона за събитията, които да се събират, въз основа на целта на процеса на профилиране, както е показано по-долу:

Можете да видите от предишното изображение, че SQL Profiler ви предоставя опция за запазване на резултата от проследяването във файл или в съществуваща таблица на база данни. Ако нито един от предоставените шаблони не отговаря на вашите изисквания, можете лесно да преминете към Избор на събития раздел и отметнете, за да покажете всички събития и колони и след това филтрирайте заснетите събития със свойствата, които ви интересуват. Например, можете да филтрирате, за да уловите събития, идващи от конкретна база данни, потребител на база данни, таблица на база данни, хост машина и т.н. включен, както следва:

След като изберете събитията, които ви интересуват, просто щракнете върху Изпълнение и започнете да получавате събития от избраната база данни, както е показано по-долу:

Вземете под внимание, че ако не дефинирате много точен филтър за събиране само на събитията, които ви интересуват, SQL Profiler ще събере голям брой събития, които ще бъдат трудни за четене и анализиране. Освен това ене Препоръчва се да стартирате инструмента SQL Profiler в производствената среда, тъй като той ще „изяде“ ресурсите на сървъра и ще убие неговата производителност. Ако имате голяма нужда да го използвате, опитайте се да стесните обхвата на събитията, които ще бъдат заснети, като използвате точни филтри.

Разширени събития

За да се преодолее проблема с влошаването на производителността, причинен от използването на остарелия инструмент на SQL Profiler за улавяне на различните типове SQL събития, в SQL Server 2008 беше въведена лека, силно мащабируема и конфигурируема функция за наблюдение на производителността, която може да се използва за събиране на полезна информация от широката гама от налични действия, с възможно най-малко потребление на SQL ресурси, което помага при отстраняване на неизправности и настройка на производителността на заявките на SQL Server. Тази функция за улавяне на събития се нарича Разширени събития на SQL Server .

Функцията за разширени събития е достъпна чрез SQL Server Management Studio, от Разширени събития опция под Управление възел. За да създадете нова сесия с разширени събития, щракнете с десния бутон върху Сесиите опция под Разширени събития възел и изберете Нова сесия както е по-долу:

От Нова сесия прозорец, имате възможност да изберете от редица налични шаблони, с повече предварително дефинирани шаблони от шаблоните на SQL Profiler, или просто да използвате празен шаблон и да посочите изрично събитията, които ви интересуват, както е показано по-долу:

От Събития раздела, можете да филтрирате събитията, които ви интересуват, въз основа на категорията събития, след което да изберете кои свойства за всяко събитие трябва да извлечете. Освен това можете да създадете персонализиран филтър, за да стесните обхвата на заснетите събития, както е показано по-долу:

Съхранението страницата ви предоставя различни опции за запазване на резултата от сесията на разширени събития. В този пример ще запазим резултата от проследяването във файл с разширени събития с настройките, конфигурирани по-долу:

След като персонализирате сесията за разширени събития, за да отговаря на вашите изисквания за наблюдение, щракнете върху OK бутон, за да създадете сесията. След като сесията бъде създадена, тя няма да започне автоматично да улавя събитията, освен ако не конфигурирате това по време на процеса на създаване на сесия. За да позволите на сесията да започне да заснема събития, щракнете с десния бутон върху създадената сесия и изберете Стартиране на сесията опция, както е показано по-долу:

За да видите заснетата сесия, имате възможност да отворите физическия файл, който е конфигуриран преди това да съхранява събитията, или просто щракнете с десния бутон върху създадената сесия и изберете Гледайте данни на живо опция, както е показано по-долу:

Ще се отвори нов прозорец, показващ събраните събития със стойностите на свойствата за всяко събитие, както е по-долу:

Въпреки че можете лесно да създавате разширени събития с няколко щраквания, все пак се сблъсквате с някои трудности, докато се опитвате да изберете правилното събитие, което да наблюдавате, поради сложността в конвенцията за именуване на събитията, което затруднява разбирането на целта зад всяко събитие. Освен това GUI, в който се показва информацията за сесията, все още не е удобен за потребителя, което усложнява анализирането на събитията и техните свойства. От този момент необходимостта от по-удобен за потребителя инструмент на трета страна нараства, което ще обсъдим в следващия раздел на тази статия.

dbForge Event Profiler

dbForge Event Profiler за SQL Server е БЕЗПЛАТЕН инструмент, който ви предоставя възможността да улавяте и анализирате събитията на SQL Server и да съхранявате данните за събитията във физически файл за проследяване за по-късна проверка.

dbForge Event Profiler за SQL Server преодолява проблема с влошаването на производителността на SQL Profiler, като работи с възможно най-висока производителност и минимално натоварване на сървъра с пълна поддръжка за функцията за разширени събития.

Това, което прави dbForge Event Profiler за SQL Server привлекателен инструмент за профилиране на събития в сравнение с функцията за разширени събития е Осветяването на синтаксиса на заявка функция, която не е налична в SQL Profiler или функцията за разширени събития. В допълнение, той предоставя възможност за извършване на филтриране и сортиране операциив мрежата с резултати от проследяване.

dbForge Event Profiler за SQL Server може лесно да се използва за наблюдение на различните типове дейности от SQL Server Database Engine, Analysis Services и Integration Services, отстраняване на неизправности при T-SQL заявки и проблеми, свързани с производителността на транзакциите и наблюдение на различните грешки в SQL Server и предупреждения.

В допълнение, dbForge Event Profiler за SQL Server може да се използва за одитиране на различните дейности на потребителите на базата данни на SQL Server или за извършване на стресови тестове или тестове за осигуряване на качество. Можете също така просто да създадете свои собствени персонализирани следи и да ги запазите за бъдеща употреба.

За да използвате dbForge Event Profiler за SQL Server за улавяне на събитията на SQL Server, трябва да го изтеглите от страницата за изтегляне на dbForge безплатно и да го инсталирате на вашия SQL Server или машина, като използвате съветника за директна инсталация, както е по-долу :

За да започнете процеса на инсталиране, щракнете върху ИНСТАЛИРАНЕ бутон от Добре дошли страница и посочете местоположението, където искате да инсталирате инструмента, от Избор на дестинация страница по-долу:

След като посочите мястото за инсталиране, щракнете върху Напред бутон. В Преки пътища страница, посочете дали планирате да създадете икона за пряк път за инструмента dbForge на вашия работен плот, след което щракнете върху Напред за да продължите:

В Файловите асоциации страница, ще бъдете помолени да посочите разширението за файловете, които ще бъдат свързани с инструмента dbForge. Изберете разширението за файловете, които планирате да отворите с този инструмент, след което щракнете върху Напред за да продължите:

В Оптимизация при стартиране страница, прегледайте и изберете най-добрата опция за използване на производителността на инструмента, след което щракнете върху Напред за да продължите:

Сега процесът на инсталиране, въз основа на вашите избори, ще започне, като лентата за напредъка показва състоянието на инсталационния процес, както е показано по-долу:

След като инсталацията на dbForge Event Profiler за SQL Server приключи успешно, съветникът ще ви уведоми и ще ви предостави опция да стартирате инструмента директно след затваряне на съветника за инсталиране, както е посочено по-долу:

Страницата за добре дошли на dbForge Event Profiler за SQL Server е лесна за потребителя и всеки, запознат със SSMS, може лесно да се адаптира към нея. За да започнете ново проследяване, щракнете върху Ново опция от дясната страна на инструмента, както е по-долу:

В Профилни сървърни събития прозореца, трябва да предоставите информацията за връзката, която ще се използва за свързване към екземпляра на SQL Server, който ще бъде наблюдаван. Ако това е първото стартиране на инструмента и няма предварително запазена връзка, щракнете върху Нова връзка бутон, както е показано по-долу:

В Мениджъра на връзките прозорец, Ново бутона ще ви премести в прозореца за известна връзка, където ще бъдете помолени да предоставите името на екземпляра на SQL Server, режима на удостоверяване и идентификационните данни, необходими за свързване към SQL Server. След като предоставите информацията за връзката, щракнете върху Тест на връзката бутон, за да проверите дали информацията, която сте въвели, е валидна, както е показано по-долу:

След като предоставите информация за връзката на екземпляра на SQL Server, изберете дали да използвате съществуващ шаблон от списък с полезни шаблони, които обслужват повечето от функциите за проследяване, или премахнете отметката, за да посочите списъка със събития, които искате да заснемете в следващата стъпка. Също така можете да посочите свойствата на целевия файл, както следва:

На Събития за заснемане страница, ще намерите лесен за употреба и добре категоризиран списък от събития, които са описани по смислен начин, без да е необходимо да се гмуркате дълбоко и да се опитвате да разберете значенията му, както е показано по-долу:

Изображението по-долу също показва всички налични категории събития, с броя на събитията във всяка категория. Сега можете да се насладите на разбирането на всички налични събития по името на категорията, както е показано ясно по-долу:

След като посочите списъка със събития, които искате да заснемете, Действия страницата ви предоставя възможността да посочите списъка с действия, които искате да заснемете в текущата сесия на събитието, както е показано по-долу:

На Филтрите за събития страница, можете също да нарисувате свои собствени филтри, за да сведете до минимум броя на събраните редове, за да отговарят на вашите изисквания и да улесните анализа, както е показано по-долу:

Колоните страница ви позволява да посочите кои колони планирате да показвате в текущата сесия за събития. Извличането само на колоните, които съдържат информацията, която искате да заснемете, ще помогне значително да се сведе до минимум размера на файла за проследяване и ширината на върнатите редове, което ще улесни анализа на заснетите данни, както е показано по-долу:

След като персонализирате сесията на събитието, можете да започнете да заснемате събитията, като щракнете върху Изпълнение бутон от предишното изображение. След стартиране на сесията със събития инструментът ще започне да улавя и показва събитията директно, както е показано по-долу:

Голямото предимство тук е, че щракването върху всяко събитие ще покаже пълно описание на него с T-SQL скрипта, показан с удобен за потребителя цветен шрифт в отделно поле, което го прави много лесен за проверка и анализ, както е показано по-долу:

В допълнение, dbForge Event Profiler за SQL Server може да работи като SSMS, като предоставя опция за написване на нова T-SQL заявка и нейното изпълнение на свързания екземпляр на SQL Server, както е показано по-долу:

Инструментът също така показва върнатите данни в полезна мрежа, която показва всяко име на колона, тип данни и стойност, както следва:

Повечето администратори на база данни на SQL Server се сблъскаха със ситуация, когато се опитаха да изпълнят голям файл на SQL Server с помощта на SSMS, който се провали с грешка OutOfMemory. dbForge Event Profiler за SQL Server преодолява този проблем, като предоставя функция за изпълнение на всеки голям T-SQL скрипт в рамките на SQL файл. Това, което трябва да направите, е само да изберете Изпълнение на голям скрипт опция от менюто База данни, след това изберете местоположението за този скриптов файл, базата данни, върху която ще се изпълнява този файл и кодирането, което се използва в този файл, както е показано ясно по-долу:

Заключение

От всички предишни примери можете да видите как dbForge Event Profiler за SQL Server БЕЗПЛАТЕН инструмент на трета страна може да се използва за улавяне и анализиране на различните типове събития на SQL Server, като се преодолеят всички недостатъци на общите инструменти за улавяне на събития. Това е БЕЗПЛАТНО инструмент и определено си заслужава да използвате.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо sql сървърът съхранява знаци за въпросителен знак вместо японски знаци в полетата на NVarchar?

  2. Динамично създаване на колони sql

  3. MAX срещу Топ 1 - кое е по-добро?

  4. Някои страхотни новини за клиентите на Standard Edition в SQL Server 2014

  5. Топ 50 въпроса за интервю за SQL Server, които трябва да подготвите през 2022 г