Проверка активности сервера с кодом

Я хотел бы видеть активность SQL-сервера. Поэтому я могу запустить запрос, когда загрузка сервера низкая. Я знаю, что на сервере SQL есть монитор активности, но моя компания не хочет, чтобы я предоставлял права на использование этого инструмента. Очевидно, вы можете убивать запросы других людей, и это слишком опасно.

Есть ли способ проверить статус сервера с кодом? (Или просмотреть активность, не требуя этих прав, чтобы я мог вручную запустить их?)

6 голосов | спросил Freddy 28 Maypm13 2013, 13:19:43

2 ответа


3

Это зависит от того, что вы хотите контролировать. Также вы хотите зарегистрировать собранные вами данные для базовой или трендовой отчетности о тенденциях?

Есть еще много областей для сосредоточения, таких как настройка индекса, анализ плана запроса и т. д. Это всего лишь верхушка льда, но будет хорошей отправной точкой.

ответил Kin 28 Maypm13 2013, 19:01:35
6

В приведенном ниже запросе используется sys.dm_os_performance_counters DMV для захвата счетчиков производительности SQL Server. Вы можете изменить параметры WAITFOR DELAY и числовой суффикс после второй команды GO , чтобы изменить интервал времени и количество раз, когда код будет выполнен.

 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

IF OBJECT_ID('Tempdb..#PerformanceMonitor') IS NOT NULL
DROP TABLE #PerformanceMonitor;

CREATE TABLE #PerformanceMonitor
( 
[object_name]   NVARCHAR(255) NOT NULL,
[counter_name]  NVARCHAR(255) NOT NULL,
[instance_name] NVARCHAR(255) NULL,
[cntr_value]    BIGINT NOT NULL,
[cntr_type]     INT NOT NULL,
[LoadedOn]      DATETIME NOT NULL DEFAULT GETDATE(),
)
GO
INSERT INTO #PerformanceMonitor
([object_name],[counter_name],[instance_name],[cntr_value],[cntr_type]) 
(SELECT object_name,counter_name,instance_name,cntr_value,cntr_type
 FROM sys.dm_os_performance_counters)

WAITFOR DELAY '00:00:10' --Change the interval here
GO 10 --Change the number of times the data will be captured here
SELECT * FROM #PerformanceMonitor

Как только у вас будет достаточно данных, и вы сузили соответствующие счетчики, вы можете выбрать наилучшее время для запуска своих запросов. А также, как упоминалось в ответе @ Ярослава, очень важно иметь в виду, какой тип запроса вы хотите запустить и решить соответствующим образом. И самое главное, будьте осторожны с производственными данными!

ответил S.A 28 Maypm13 2013, 15:04:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132