Job Viewer

by Alexey Knyazev 19. октября 2010 00:07



Прошло почти два года, как я выкладывал небольшую самописную утилиту на ITCommunity.RU, позволяющую мониторить выполнение Job`ов сразу на нескольких серверах БД. Я и подумать не мог, что она окажется такой полезной. За это время я получил несколько писем с просьбой обновить её и добавить поддержку SQL Server 2000. И вот наконец-то руки дошли до этой утилиты.


Эта версия поддерживает SQL Server 7.0/2000/2005/2008/2008R2. Если найдете какие-то ошибки, или у вас возникнут пожелания, связанные с доработкой этой программки, то пишите, постараюсь дополнить её полезным функционалом.



Tags: , , , , ,

SQL Server

Комментарии (15) -

oleg
oleg Russia
19.10.2010 11:47:56 #

Доброе утро! Большое спасибо за программу!
При подключении к одному из серверов (SQL Server 2005 SP3 без CU) получаю ошибку - скриншот выложил здесь: http://www.radikal.ru/action.aspx
Текст исключения:
System.ArgumentOutOfRangeException: Индекс и длина должны указывать на позицию в строке.
Имя параметра: length
   в System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   в System.String.Substring(Int32 startIndex, Int32 length)
   в JobViewer.Form1.JobsLoad(String ConnectionString)
   в JobViewer.Form1.tv_AfterSelect(Object sender, TreeViewEventArgs e)
   в System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
   в System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
   в System.Windows.Forms.TreeView.WmNotify(Message& m)
   в System.Windows.Forms.TreeView.WndProc(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
При нажатии на кнопку "Продолжить" работа возобновляется, так что это не мешает, просто решил вам на всякий случай сообщитьSmile
Еще раз спасибо!

Reply

oleg
oleg Russia
19.10.2010 11:49:13 #

Извинте, дал неправильную ссылку на скриншот с ошибкой, вот нормальная: s56.radikal.ru/i154/1010/d2/86aafc7c54bd.jpg

Reply

Alexey Knyazev
Alexey Knyazev Russia
19.10.2010 12:56:34 #

Спасибо, поправлю и обновлю в ближайшее время Smile (возможно к этому времени ещё какие-то замечания или пожелания появятся)

Reply

Сеньор Помидор)))
Сеньор Помидор))) Russia
19.10.2010 16:20:01 #

Здравствуйте!
У меня тоже ошибка при подключении к серверу SQLSERVER 8.00.2039.
Вот текст ошибки:

"Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.ArgumentOutOfRangeException: Индекс и длина должны указывать на позицию в строке.
Имя параметра: length
   в System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   в System.String.Substring(Int32 startIndex, Int32 length)
   в JobViewer.Form1.JobsLoad(String ConnectionString)
   в JobViewer.Form1.tv_AfterSelect(Object sender, TreeViewEventArgs e)
   в System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
   в System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
   в System.Windows.Forms.TreeView.WmNotify(Message& m)
   в System.Windows.Forms.TreeView.WndProc(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
JobViewer
    Версия сборки: 1.0.0.1
    Версия Win32: 1.0.0.1
    CodeBase: file:///D:/Мои%20программы/MS%20SQL%20SERVER/JobViewer/JobViewer.exe
----------------------------------------
System.Windows.Forms
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Configuration
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Windows.Forms.resources
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.Data
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Numerics
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Transactions
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
mscorlib.resources
    Версия сборки: 4.0.0.0
    Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном."

Reply

Борода
Борода Russia
19.10.2010 17:13:19 #

Добрый день.

Спасибо за программу, проблем у меня с ней не возникло.  Но коль ее ждут некоторые модификации, могу порекомендовать сделать визуальное отображение того что программа занята  (что-то выполняет при нажатии на ту или иную кнопку) (Например  сделать Cursors.WaitCursor)

Reply

Alexey Knyazev
Alexey Knyazev Russia
19.10.2010 23:16:28 #

Спасибо, за рекомендации...поправил

Reply

Роман
Роман Ukraine
20.10.2010 16:27:24 #

спасибо. компактно и удобно.
к развитию сразу могу предложить:
- минимизация в трей
- коль уж есть автообновление: во время обновления реакция на джоб с ошибкой (звук/иконка). если усложнять, то реакция на изменение статуса джоба (а то каждое обновление будет на какойто джоб в ошибке реагировать)
- сортировка списка серверов (авто, в ручную) /разбиение на группы.

Reply

Роман
Роман Ukraine
20.10.2010 16:38:22 #

- максимальное время авто обновления 100. почему бы не сделать больше? (например 24*60*60)

Reply

Сеньор Помидор)))
Сеньор Помидор))) Russia
22.10.2010 21:35:52 #

Скачал исправленную версию. Все ОК!
Большое спасибо! Так держать!! ;)

Reply

Роман
Роман Ukraine
03.11.2010 17:21:39 #

если при запуске сервер небыл доступен - отображается иконка с крестиком. Когда сервер становится доступным - иконка не изменяется.

Reply

Alexey Knyazev
Alexey Knyazev Russia
03.11.2010 23:27:34 #

А если нажать кнопку "обновить"? Просто все время проверять доступность сервера - накладно

Reply

Алексей
Алексей Russia
30.11.2011 23:10:50 #

Да, очень удобная програмка! Мне понравилось.
Спасибо за Ваш труд!

Reply

Игорь
Игорь Russia
17.01.2012 15:46:13 #

Добрый день!
Программа очень понравилась. Единственное - можно ли отображать поле Duration в часах, минутах и секундах?

Reply

Alexey Knyazev
Alexey Knyazev Russia
17.02.2012 1:58:09 #

Нет, такой возможности я не закладывал, но если появятся пожелания, то, собрав их все вместе, я через некоторое время обновлю версию, включив все пожелания.

Reply

Дмитрий
Дмитрий Russia
28.08.2015 16:18:55 #

Добрый день, Алексей.
А не поделитесь, чем Connection String шифровали, чтоб можно было списком сервера добавлять? )

Reply

Добавить комментарий

  Country flag

biuquote
  • Комментарий
  • Предпросмотр
Loading