среда, 17 июня 2009 г.

Missing performance counter (s) - счетчики производительности пропали

Когда такая беда происходит, то есть пара вариантов:
1. Если пропали ВСЕ счетчики, то восстановить их можно командой lodctr /r
2. Если отсутствуют некоторые (у меня это произошло почему-то со счетчиком Network Interface в Windows 2000 Server), то можно скачать отсюда программу и включить их обратно.

Источник: http://help.wugnet.com/windows2/missing-Network-Interface-Perfmon-ftopict518584.html

суббота, 13 июня 2009 г.

SQL-функция AVG вызывает переполнение (Arithmetic overflow error)

Такая неприятная вещь бывает даже в случае, когда надо посчитать среднее от довольно маленькой величины (например tinyint), но в большом массиве. Компания Майкрософт по этой ссылке говорит примерно следующее:
"...Мы расследовали эту проблему и даже придумали, как решить ее, но из-за нехватки ресурсов и времени мы не успеваем вставить решение в SQL 2008, так что ждите следующей версии..." - Разгильдяи, одним словом. Workaround по данной ссылке не описан.
Однако, другие умные люди нашли этот воркэраунд: предположим, что инструкция типа
SELECT AVG(bytessent)
вызывает ошибку Arithmetic overflow error. Перепишем ее как
SELECT AVG(CAST(bytessent AS bigint))
и все получится.

Источники:
http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=241543
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=75175

четверг, 28 мая 2009 г.

Написание службы в VB.NET Express

VB.NET Express по умолчанию не имеет шаблона для написания собственного сервиса. Однако, все поправимо - отсюда http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4511&lngWId=10
или отсюда
http://sites.google.com/site/mellerbeck/Home/Windows_Se1973412152006.zip?attredirects=0
можно скачать шаблоны и установить их в My Documents\Visual Studio 2005\Templates\ProjectTemplates\Visual Basic. Теперь, после перезапуска VBExpress, появится шаблон для сервиса (Windows Service).

среда, 13 мая 2009 г.

Потерялся значок в SendTo "Адресат"

Если такая беда произошла, то можно создать (для XP) в Documents And Settings\%UserName%\SendTo новый ярлычок с направлением
"C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE" /c IPM.Note.sendto /a

Источник: http://www.forums.maximumpcguides.com/vista/topic.php?id=13

понедельник, 20 апреля 2009 г.

OLE/DB provider returned Timeout expired with Linked Server

Для того, чтобы удаленный запрос через Linked Server выполнялся дольше 10 минут без появления ошибок, время ожидания можно переконфигурировать:

sp_configure 'remote login timeout', 30
go
reconfigure with override
go

sp_configure 'remote query timeout', 0
go
reconfigure with override
go


Источник: http://support.microsoft.com/kb/314530

четверг, 9 апреля 2009 г.

CRL-функции в MS SQL (на примере DNS-ресолвера)

На примере функции, преобразующей URL в IP и обратно, напишу краткую инструкцию по прописыванию собственных CRL-функций в MS SQL (которые рекомендуется использовать если а) имеют место быть очень мощные математические вычисления или б) если по другому очень трудно (как с DNS-запросами).

вторник, 10 марта 2009 г.

Представители в Outlook

Симптомы этой проблемы были просто волшебными:
Пользователь (П1) приглашает другого пользователя (П2) на собрание. Приглашение отправляется, одновременно приходит отчет о том, что третий пользователь (П3) (не существующий в нашей организации Exchange) не существует, а потому и не может принять письмо. Согласно mail-tracking, в момент отправки приглашения от П1 отправляется 2(!) письма - одно П2, другое - П3. Кроме, как в процессе приглашения на собрания, эта проблема не проявляется.
Решение оказалось простым - у П2 во вкладке "Представители" Outlook был записан ныне удаленный из организации пользователь.



Эта настройка - MAPI-разрешение Send On Behalf. Поскольку в Exchange весьма забавно устроены приглашения и календари (шиворот-навыворот, кому интересно, включите полный логгинг и поглядите, что происходит при приглашениях (кто к кому получает разрешения и доступы)), это и вызывало такие эффекты