Сбой хранимой процедуры ведения журнала базы данных Enterprise Library 4.1 - PullRequest
0 голосов
/ 06 мая 2011

Я использую Enterprise Library 4.1, Visual Studio 2008, SQL Server 2008 и регистрирую ошибки в базе данных, используя прослушиватель трассировки базы данных.

В моей системе разработки все работает нормально, но в реальной системе, он не работает должным образом.

Нет проблем с разрешениями - я уверен, что есть какая-то ошибка в хранимой процедуре.

Есть ли способ отследить ошибку хранимой процедуры?

1 Ответ

0 голосов
/ 06 мая 2011

В вашем вопросе не так много вопросов.

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

<listeners>
  <add source="Logging Quick Start" formatter="Text Formatter"
    log="" machineName="." listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
    traceOutputOptions="None" filter="All" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
    name="Event Log Destination" />
</listeners>
<specialSources>
  <errors switchValue="All" name="Logging Errors &amp; Warnings">
    <listeners>
      <add name="Event Log Destination" />
    </listeners>
  </errors>
</specialSources>

Если (или когда-то) у вас есть эта настройка, попробуйте что-то записать в прослушиватель базы данных и проверить, нет ли ошибок.logged указывает на то, что слушатель базы данных не работает.

Если бы я догадался, я бы положил свои деньги на какую-то проблему с подключением.

Если вы считаете, что проблема связана с SQL, вы можете запустить SQL Server Profiler для отслеживания активности SQL Server.Вы должны увидеть входящее соединение и выполняемый SQL.Если вы не видите активности для соединения и хранимой процедуры, то вы знаете, что SQL Server не вызывается.Это будет означать, что проблема связана не с SQL Server / хранимой процедурой, а с кодом, конфигурацией, разрешениями, брандмауэром и т. Д.

...