Sporadic SqlException Class 11 Number 0 (серьезная ошибка)

1

Я использую SQL-Server 11.0.3128.0 в течение некоторого времени, и обычно он просто работает.

По какой-то странной причине сегодня я начинаю получать SqlExceptions при попытке прочитать из SqlDataReader код, который не менялся уже несколько недель. И это не только я, у клиента возникают те же проблемы.

Я немного не понимаю, как отладить это, поскольку сообщение об ошибке бесполезно для меня. Код считывается из SqlDataReader при возникновении исключения:

using (SqlDataReader rdr = cmd.ExecuteReaderWithEx())
{
  while (rdr.Read())  // <-- the SqlException happens here
  {
    nAllQueryRows = (int)rdr["TotalRowCount"];
    rc.Add(new Datenkey(tabelleID, (long)rdr[1]));
  }
}

SQL-Command - это поиск по нескольким базам данных и представлениям:

WITH NumberedList AS 
(
 SELECT ROW_NUMBER() OVER (ORDER BY [Artikel_View].[Key]) AS [RowNum]
 ,[Artikel_View].[Key] 
 ,COUNT(*) OVER () AS [TotalRowCount]
 FROM [MyDatabase].dbo.[Artikel_View]
  WHERE (([Artikel_View].[GeloeschtAm] IS NULL)
 AND (EXISTS (SELECT [Key] FROM [MyDatabase].dbo.[Artikel] WHERE [Artikel_View].[Key] = [Artikel].[Key] AND CONTAINS(*, '"steril"'))
  OR EXISTS (SELECT [Key] FROM [MyDatabase].dbo.[ArtikelLieferanten] WHERE [Artikel_View].[Key] = [ArtikelLieferanten].[ArtikelKey] AND CONTAINS(*, '"steril"'))
  OR EXISTS (SELECT [Key] FROM [MyDatabase].dbo.[ArtikelLager] WHERE [Artikel_View].[Key] = [ArtikelLager].[ArtikelKey] AND CONTAINS(*, '"steril"'))
  OR EXISTS (SELECT [Key] FROM [MyDatabase].dbo.[ArtikelVKPreise] WHERE [Artikel_View].[Key] = [ArtikelVKPreise].[ArtikelKey] AND CONTAINS(*, '"steril"'))
  OR EXISTS (SELECT [Key] FROM [MyDatabase].dbo.[KundenReservierteBestaende] WHERE [Artikel_View].[Key] = [KundenReservierteBestaende].[ArtikelKey] AND CONTAINS(*, '"steril"'))))
 AND  (([Artikel_View].[Nr] LIKE @suchwort1a)
 OR ([Artikel_View].[KatalogNr] LIKE @suchwort1a)
 OR ([Artikel_View].[PZN] LIKE @suchwort1a)
 OR ([Artikel_View].[Hilfsmittelpositionsnummer1] LIKE @suchwort1a)
 OR ([Artikel_View].[HerstellerNr] LIKE @suchwort1a)
 OR ([Artikel_View].[Suchwort1] LIKE @suchwort1a)
 OR ([Artikel_View].[Suchwort2] LIKE @suchwort1a)
 OR ([Artikel_View].[Suchwort3] LIKE @suchwort1a)
 OR ([Artikel_View].[Suchwort4] LIKE @suchwort1a)
 OR ([Artikel_View].[BezeichnungKurz] LIKE @suchwort1a)
 OR ([Artikel_View].[Lieferanten.LieferantKey.Nr] LIKE @suchwort1a)
 OR ([Artikel_View].[Lieferanten.LieferantKey.NameVorname] LIKE @suchwort1a)
 OR ([Artikel_View].[Lieferanten.LieferantKey.KuerzelFuerArtikelNr] LIKE @suchwort1a)
 OR ([Artikel_View].[Lieferanten.LieferantKey.Suchwort1] LIKE @suchwort1a)
 OR ([Artikel_View].[Lieferanten.LieferantKey.Suchwort2] LIKE @suchwort1a)
 OR ([Artikel_View].[Lieferanten.LieferantKey.Suchwort3] LIKE @suchwort1a)
 OR ([Artikel_View].[Lieferanten.LieferantKey.Suchwort4] LIKE @suchwort1a)
 OR ([Artikel_View].[Lieferanten.LieferantKey.UnsereKdNrBeiLieferant] LIKE @suchwort1a)
 OR ([Artikel_View].[Lager.StandardLagerplatzKey.Kuerzel] LIKE @suchwort1a))
)
SELECT * FROM NumberedList WHERE RowNum BETWEEN 1 AND 100 ORDER BY [Key]

Запрос имеет два параметра (да, второй никогда не использовался - я попытаюсь избавиться от него):

@suchwort1a='plast%'
@suchwort1c='%[^A-z^Ä^Ö^Ü^ä^ö^ü^ß]plast%'

Он выдает SqlException Класс 11 Number 0 LineNumber 0 с (немецким) текстом "Für den aktuellen Befehl ist ein schwerwiegender Fehler aufgetreten. Löschen Sie eventuelle Ergebnisse". (на английском языке что-то вроде "серьезной ошибки в текущей команде. Отбросить результаты").

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

Как я могу решить эту проблему?

[Обновить] Журнал ошибок SQL Server содержит свалку состояния:

2014-05-22 14:00:42.48 spid51      Using 'dbghelp.dll' version '4.0.5'
2014-05-22 14:00:42.49 spid51      ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL11.BSOFT\MSSQL\LOG\SQLDump0003.txt
2014-05-22 14:00:42.49 spid51      SqlDumpExceptionHandler: Process 3772 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
2014-05-22 14:00:42.49 spid51      * *******************************************************************************
2014-05-22 14:00:42.49 spid51      *
2014-05-22 14:00:42.49 spid51      * BEGIN STACK DUMP:
2014-05-22 14:00:42.49 spid51      *   05/22/14 14:00:42 spid 3772
2014-05-22 14:00:42.49 spid51      *
2014-05-22 14:00:42.49 spid51      *
2014-05-22 14:00:42.49 spid51      *   Exception Address = 00007FFA87046E07 Module(sqllang+0000000000BB6E07)
2014-05-22 14:00:42.49 spid51      *   Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION
2014-05-22 14:00:42.49 spid51      *   Access Violation occurred reading address 000000081C1A4000
2014-05-22 14:00:42.49 spid51      * Input Buffer 255 bytes -
2014-05-22 14:00:42.49 spid51      *                     16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00
[... lots of bytes...]
2014-05-22 14:00:42.49 spid51      *  a s t %            61 00 73 00 74 00 25 00
2014-05-22 14:00:42.49 spid51      *  
2014-05-22 14:00:42.49 spid51      *
2014-05-22 14:00:42.49 spid51      *  MODULE                          BASE      END       SIZE
2014-05-22 14:00:42.49 spid51      * sqlservr                       00007FF79E580000  00007FF79E5BDFFF  0003e000
[... lots of modules...]
2014-05-22 14:00:42.49 spid51      * dbghelp                        000000005C1F0000  000000005C385FFF  00196000
2014-05-22 14:00:42.49 spid51      *
2014-05-22 14:00:42.49 spid51      *     P1Home: 0000000000000018:  
2014-05-22 14:00:42.49 spid51      *     P2Home: 0000000000000004:  
2014-05-22 14:00:42.49 spid51      *     P3Home: 000000081C1A4000:  
2014-05-22 14:00:42.49 spid51      *     P4Home: 000000081C1A02B8:  0000524400000001  0000000000000100  000000087D1F8040  0000000000015250  000000084B494040  0000000000000001  
2014-05-22 14:00:42.49 spid51      *     P5Home: 0000000021FCD580:  0000000000000004  0000000821F4B070  0000000821F4A9D0  0000000000000000  0000000821F2A301  0000000821F4B070  
2014-05-22 14:00:42.49 spid51      *     P6Home: 0000000021FCD610:  0000000000000000  0000000000000000  0000000000000000  0000000000000000  0000000000000000  0000000000000000  
2014-05-22 14:00:42.49 spid51      * ContextFlags: 000000000010005F:  0000000000000000  0000000000000000  0000000000000000  0000000000000000  0000000000000000  0000000000000000  
2014-05-22 14:00:42.49 spid51      *      MxCsr: 0000000000001FA0:  
2014-05-22 14:00:42.49 spid51      *      SegCs: 0000000000000033:  
2014-05-22 14:00:42.49 spid51      *      SegDs: 000000000000002B:  
2014-05-22 14:00:42.49 spid51      *      SegEs: 000000000000002B:  
2014-05-22 14:00:42.49 spid51      *      SegFs: 0000000000000053:  
2014-05-22 14:00:42.49 spid51      *      SegGs: 000000000000002B:  
2014-05-22 14:00:42.49 spid51      *      SegSs: 000000000000002B:  
2014-05-22 14:00:42.49 spid51      *     EFlags: 0000000000010216:  
2014-05-22 14:00:42.49 spid51      *        Rax: 0000000000000000:  
2014-05-22 14:00:42.49 spid51      *        Rcx: 00007FFA87046E31:  EBC09F0F30533B49  C09E0F30533B4910  9D0F30533B4907EB  48C7FF0B75C084C0  AEEB08C38348C6FF  5E73F93B410A8B45  
2014-05-22 14:00:42.49 spid51      *        Rdx: 000000081C1A3070:  0000081000000000  0000000000000F60  000000081C1A3FE0  000000081C1A3FE0  0000000000000000  0000000000000000  
2014-05-22 14:00:42.49 spid51      *        Rbx: 000000081C1A4000:  
2014-05-22 14:00:42.49 spid51      *        Rsp: 0000000021FCDBF8:  00007FFA87046C17  0000000821F4AD50  0000000821F4AD00  0000000000000000  0000000821F4B070  000000081C197831  
2014-05-22 14:00:42.49 spid51      *        Rbp: 00007FFA86490000:  0000000300905A4D  0000FFFF00000004  00000000000000B8  0000000000000040  0000000000000000  0000000000000000  
2014-05-22 14:00:42.49 spid51      *        Rsi: 0000000000000608:  
2014-05-22 14:00:42.49 spid51      *        Rdi: 0000000000000608:  
2014-05-22 14:00:42.49 spid51      *         R8: 0000000000000000:  
2014-05-22 14:00:42.49 spid51      *         R9: 0000000000000004:  
2014-05-22 14:00:42.49 spid51      *        R10: 0000000821F4B070:  000000080000003C  000000081C197720  0000000821F0ED00  0000000821F0ED60  000000081C1A0FC0  000000081C1A11E0  
2014-05-22 14:00:42.49 spid51      *        R11: 0000000821F4A9D0:  00007FFA86BA1158  0000000000000000  0000000000000000  0000000000000000  0000000800000000  0000000821F56040  
2014-05-22 14:00:42.49 spid51      *        R12: 0000000000000000:  
2014-05-22 14:00:42.49 spid51      *        R13: 0000000821F2A301:  600000000821F0F4  000000000821F643  E000000000000000  9000007FFA888E22  C000007FFA888E22  0000007FFA888E22  
2014-05-22 14:00:42.49 spid51      *        R14: 0000000821F4B070:  000000080000003C  000000081C197720  0000000821F0ED00  0000000821F0ED60  000000081C1A0FC0  000000081C1A11E0  
2014-05-22 14:00:42.50 spid51      *        R15: 8000000000000001:  
2014-05-22 14:00:42.50 spid51      *        Rip: 00007FFA87046E07:  7705F98341138B48  D8858C8BC1634949  E1FFCD034800BB6E  EBC0940F30533B49  C09C0F30533B4922  9F0F30533B4919EB  
2014-05-22 14:00:42.50 spid51      * *******************************************************************************
2014-05-22 14:00:42.50 spid51      * -------------------------------------------------------------------------------
2014-05-22 14:00:42.50 spid51      * Short Stack Dump
2014-05-22 14:00:42.50 spid51      00007FFA87046E07 Module(sqllang+0000000000BB6E07)
2014-05-22 14:00:42.50 spid51      00007FFA87046C17 Module(sqllang+0000000000BB6C17)
2014-05-22 14:00:42.50 spid51      00007FFA870375CF Module(sqllang+0000000000BA75CF)
2014-05-22 14:00:42.50 spid51      00007FFA8702F22B Module(sqllang+0000000000B9F22B)
2014-05-22 14:00:42.50 spid51      00007FFA87015C72 Module(sqllang+0000000000B85C72)
2014-05-22 14:00:42.50 spid51      00007FFA87017DF4 Module(sqllang+0000000000B87DF4)
2014-05-22 14:00:42.50 spid51      00007FFA86FE87EA Module(sqllang+0000000000B587EA)
2014-05-22 14:00:42.50 spid51      00007FFA87029FF6 Module(sqllang+0000000000B99FF6)
2014-05-22 14:00:42.50 spid51      00007FFA8702BF94 Module(sqllang+0000000000B9BF94)
2014-05-22 14:00:42.50 spid51      00007FFA86F7A117 Module(sqllang+0000000000AEA117)
2014-05-22 14:00:42.50 spid51      00007FFA86D10A7D Module(sqllang+0000000000880A7D)
2014-05-22 14:00:42.50 spid51      00007FFA890E643B Module(sqlmin+0000000000BC643B)
2014-05-22 14:00:42.50 spid51      00007FFA88568EF7 Module(sqlmin+0000000000048EF7)
2014-05-22 14:00:42.50 spid51      00007FFA88649D62 Module(sqlmin+0000000000129D62)
2014-05-22 14:00:42.50 spid51      00007FFA886466D2 Module(sqlmin+00000000001266D2)
2014-05-22 14:00:42.50 spid51      00007FFA886481B1 Module(sqlmin+00000000001281B1)
2014-05-22 14:00:42.50 spid51      00007FFA88707952 Module(sqlmin+00000000001E7952)
2014-05-22 14:00:42.50 spid51      00007FFA85793D80 Module(sqldk+0000000000013D80)
2014-05-22 14:00:42.50 spid51      00007FFA85793B64 Module(sqldk+0000000000013B64)
2014-05-22 14:00:42.50 spid51      00007FFA85793967 Module(sqldk+0000000000013967)
2014-05-22 14:00:42.50 spid51      00007FFA857B2F0F Module(sqldk+0000000000032F0F)
2014-05-22 14:00:42.50 spid51      00007FFA857B3750 Module(sqldk+0000000000033750)
2014-05-22 14:00:42.50 spid51      00007FFA857B2C5D Module(sqldk+0000000000032C5D)
2014-05-22 14:00:42.51 spid51      00007FFA857B3F88 Module(sqldk+0000000000033F88)
2014-05-22 14:00:42.51 spid51      00007FFA916116AD Module(KERNEL32+00000000000016AD)
2014-05-22 14:00:42.51 spid51      00007FFA937F4629 Module(ntdll+0000000000074629)
2014-05-22 14:00:42.53 spid51      Stack Signature for the dump is 0x000000014CD388CE
2014-05-22 14:00:43.25 spid51      External dump process return code 0x20000001.
External dump process returned no errors.
Теги:
sql-server
sql-server-2012

1 ответ

0

Вы используете SQL 2005? Это звучит так: http://support.microsoft.com/kb/938102

  • 0
    Выглядит очень похоже на эту ошибку, но это SQL-Server 2012, точнее версия 11.0.3128.0 (я добавлю версию к вопросу, спасибо за напоминание)
  • 1
    Но это выглядит многообещающе: support.microsoft.com/kb/972936/de

Ещё вопросы

Сообщество Overcoder
Наверх
Меню