Ошибки SQL Server 2000 Server - PullRequest
       5

Ошибки SQL Server 2000 Server

0 голосов
/ 09 марта 2009

Та же база данных и приложение действуют на нашем тестовом компьютере странно, но хорошо работают на других компьютерах.

На тестовой машине:

  • Мы получаем исключение ошибки SSL. Мы исправили это, основываясь на статье из MS KB, но после этого она сказала
  • "Server error" или "General network error" и замедлено до 1-2 хранимых процедур в секунду.
  • Профилировщик сказал, что у нас есть 2000-2500 соединений при запуске приложения. Это же приложение имеет только 5-10 соединений на других машинах. Я думаю, что случайные сообщения об ошибках вызваны этим огромным количеством соединений.

Мы переустановили SQL Server, отключили пул соединений и закрыли все устройства чтения данных.

Что еще я могу сделать? Есть ли "более глубокий" инструмент настройки для MSSQL2k? Любой скрытый компонент / ini / config / ключ реестра? Или другой профилировщик, кроме SQL Profiler, который я могу использовать?

Ответы [ 4 ]

1 голос
/ 09 марта 2009

Еще одна возможность (!):

Множественные исправления для поставщика данных SQL Server .NET

Когда SQLCommand.CommandTimeout имеет значение установить на ноль, вы ожидаете бесконечное тайм-аут. Тем не менее, версии 1.1 и 1.0 неверно провайдера SqlClient время ожидания ответа от SQL Сервер разбит на два пакета. Сразу после получения второго пакет, версии 1.1 и 1.0 провайдер неправильно тайм-аут. Исправление что входит в эту статью исправления эта проблема, так что команда будет имеют бесконечное время ожидания.

0 голосов
/ 10 марта 2009

Спасибо, Митч, к сожалению, ни одна из этих идей не была реальным решением. Не удивительно - кажется, что эти сообщения об ошибках от MSSQL random .

Случайный , я имею в виду:

  • После X [1] одновременного соединения MSSQL перестает автоматически закрывать соединения, и пул соединений становится огромным. До X я видел только 5-10 соединений [2] /, но после этого было 2500 и MSSQL chrased.
  • В этом случае MSSQL выдает недетерминированные сообщения об ошибках типа 'Общий сбой' , 'Пользователь (ноль)' и т. Д.
  • У нас была открытая связь в нашем DAL (скрытая с 2 лет ... brrr), и когда мы использовали это много, это вызвало ошибку wreid.

[1] Я не имею представления о конкретном значении X

[2] Я использовал этот запрос:

    SELECT 
      DB_NAME(dbid) as DBName, 
      COUNT(dbid) as NumberOfConnections,
      loginame as LoginName 
    FROM
      sysprocesses
    WHERE 
      dbid > 0
    GROUP BY 
      dbid, loginame
0 голосов
/ 09 марта 2009

Еще одна вещь, на которую стоит обратить внимание: всегда ли вы указываете тип и направление параметров хранимой процедуры из ADO.NET.

Внутри происходит то, что sqlClient преобразует параметры, которые вы установили в ADO.NET, в соответствующие типы данных в параметрах хранимой процедуры. Но это может привести к сбою при отправке параметров nText, где это может привести к неправильному преобразованию.

Кроме того, я бы проверил, передаете ли вы иногда очень длинные операторы в параметрах хранимой процедуры.

0 голосов
/ 09 марта 2009

Что произойдет, если вы отключите пул ресурсов OLE DB?:

'For SQLOLEDB provider
 'strConnect = "Provider=SQLOLEDB;server=MyServerName;OLE DB Services = -2;uid=AppUser;pwd=AppUser;initial catalog=northwind"

' For MSDASQL provider 
'strConnect = "DSN=SQLNWind;UID=Test;PWD=Test; OLE DB Services= -2"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...