Симптоми
Когато SQL Server изпълнява заявка, която не е кеширана автоматично, заявката може да доведе до нарушение на достъпа при редки условия. Нарушение на достъпа се записва в регистрационния файл за грешки на SQL Server заедно с стек за обаждания, който съдържа следния примерен фрагмент:***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\LOG\SQLDump0010.txtSqlDumpExceptionHandler: Process #### generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.* ********************************************************************************* BEGIN STACK DUMP:* date time spid #*** Exception Address = 000007FA0B512E2F Module(sqllang+0000000000E72E2F)* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION* Access Violation occurred reading address 0000000000000018** Input Buffer ### bytes -* select identifier, registration_date, model, digit, place, failure, address, * remote_control, phone_number, state, location, updated, mta, * home_id, vod_address, observations * from equipment with(nolock) * where branch_group = 1 and equipment_type = 2 * and series = 'SERIES_AAA'* * ******************************************************************************** -------------------------------------------------------------------------------* Short Stack Dump000007FA0B512E2F Module(sqllang+0000000000E72E2F)000007FA0B57D7D2 Module(sqllang+0000000000EDD7D2)000007FA0A74788B Module(sqllang+00000000000A788B)000007FA0A746B5C Module(sqllang+00000000000A6B5C)000007FA0A747034 Module(sqllang+00000000000A7034)000007FA0A746F8C Module(sqllang+00000000000A6F8C)000007FA0A6C9851 Module(sqllang+0000000000029851)000007FA0AB5CF5C Module(sqllang+00000000004BCF5C)000007FA0AB54397 Module(sqllang+00000000004B4397)000007FA09990430 Module(sqldk+0000000000010430)000007FA09990214 Module(sqldk+0000000000010214)000007FA0998FEF7 Module(sqldk+000000000000FEF7)000007FA099AF15F Module(sqldk+000000000002F15F)000007FA099AF1E0 Module(sqldk+000000000002F1E0)000007FA099AE70E Module(sqldk+000000000002E70E)000007FA099AEFB9 Module(sqldk+000000000002EFB9)000007FA17411832 Module(KERNEL32+0000000000001832)000007FA19B1D609 Module(ntdll+000000000005D609) В този пример симптомите са следните:
-
Проста заявка, която има една или повече константи в клаузата WHERE. SQL Server може автоматично да parameterize тези константи.
-
Низът "нарушение на достъпа" е възникнал при четене на адрес 0000000000000018. (Този низ завършва на "18" на 64-битови системи; "0C" в 32-битови системи.)
-
Съдържанието на къс стек Dump ще има същата или подобна дълбочина и относителна позиция на касите с наслагване (но не непременно точно съвпадение). Забележка Този пример е взет от малък екземпляр на 64 на SQL Server. Той ще бъде различен, но все още може да бъде разпознат в пример от един екземпляр на 32.
Информация за сборна актуализация
Този проблем е коригиран първо в следващата сборна актуализация на SQL Server.
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.