Отнася се за
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Microsoft разпространява корекции за Microsoft SQL Server 2012 в един файл за изтегляне. Тъй като корекциите са кумулативни, всяка нова версия съдържа всички горещи поправки и всички актуализации на защитата, които са били включени в предишната SQL Server 2012 актуализация.

Симптоми

Обмислете следния сценарий:

  • Създавате съхранена процедура, която използва параметър с таблични стойности (TVP) в Microsoft SQL Server 2012.

  • Можете да използвате SQL Profiler или SQL Server разширени събития, за да заснемете RPC:Starting и RPC:Completed събития.

  • Изпълнявате заявка, която използва TVP.

  • Времето на изчакване на заявката изтече.

В този случай възниква грешка без получаване планиране и заявки, които се изпълняват на един и същ планировчик се изпълнява бавно. Освен това се генерира мини-вторично копие файл в SQL Server регистрационната папка.Когато възникне този проблем, получавате съобщение за грешка, подобно на следното:

System.Data.SqlClient.SqlException (0x80131904): Времето на изчакване изтече. Периодът на изчакване, изтекъл преди завършването на операцията или сървърът не отговаря.в System.Data.SqlClient.SqlInternalConnection.OnError(изключение sqlException, булев breakConnection)в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()в System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 грешка)в System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()at System.Data.SqlClient.TdsParserStateObject.ReadByte()at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Метод на низ, резултат DbAsyncResult)в System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(резултат DbAsyncResult, Име на низ, Булев sendToPipe)at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()at TVPApp.Program.Main(String[] args)

Грешката на неизходящ планировчик заедно със съобщение за грешка, подобно на следното, се записва в регистрационния файл на SQL Server грешка:

<date><Time> Server Using 'dbghelp.dll' version '4.0.5'<Date><Time> Server ***Unable to get thread context for spid #<Date><Time> Server * *******************************************************************************><2 Дата><час> Server *><6 дата><час> сървър * BEGIN STACK DUMP:><0 дата><> сървър * <дата><> час spid #><8 дата><час> сървър *><2 Дата><час> сървър * Неподостъпен планиране><6 дата><час> сървър *<дата><час> сървър * *******************************************************************************< дата><час> подпис на стека на сървъра за вторичното копие е 0x000000000000002C<дата><час> server код за връщане на външно вторично копие 0x20000001.Процесът на външно вторично копие не върна грешки.<дата><час> процес на сървър 0:0:0 (0x1670) работните 0x0000000004EDE160 изглежда да не дават в Scheduler 5. Време за създаване на нишка: 13014210386757. Използва се процесор приблизително нишка: ядро 0 ms, потребител 70106 мсек. Използване на процесите 16%. Неактивен режим на системата 77%. Интервал: 70140 мсек.<дата><час> процес на сървър 0:0:0 (0x1670) работните 0x0000000004EDE160 изглежда да не дават в Scheduler 5. Време за създаване на нишка:

Причина

Този проблем възниква поради грешка в ядрото на базата данни на SQL Server 2012. Текстовите колони в ТВ програмата се реализират като низове за вмъкване или буфери, а увеличаването на броя на редовете увеличава броя на буферите. Обаче процесът, който освобождава буферите, отнема много време. Следователно се генерира непостъпима грешка в планирането, когато възникнат операции за освобождаване и свиване. Забележка: Подобен проблем е обърнато внимание в следната статия в базата знания на Microsoft. Обаче сборния пакет за актуализация, описан в статията не е за заявка изчакване проблем.

2520808 КОРЕКЦИЯ: Непостъпително планиране грешка, когато изпълнявате заявка, която използва TVP в SQL Server 2008 или SQL Server 2008 R2, ако се използва SQL Profiler или SQL Server разширени събития

Решение

Информация за кумулативна актуализация

Кумулативен пакет за актуализация 5 за SQL Server 2012 Service Pack 1 (SP1)

Корекцията за този проблем първо е издадена в кумулативна актуализация 5. За повече информация как да получите този сборен пакет за SQL Server 2012 щракнете върху следния номер на статия в базата знания на Microsoft:

2861107 Кумулативен пакет за актуализация 5 за SQL Server 2012Note Тъй като компилациите са кумулативни, всяка нова корекция версия съдържа всички горещи поправки и всички корекции на защитата, които са включени в предишната SQL Server 2012 корекция издание. Препоръчваме да помислите за прилагането на най-новата корекция версия, която съдържа тази актуална корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2772858 Компилациите на SQL Server 2012, които са издадени след издаването на SQL Server 2012 Service Pack 1

Заобиколно решение

За да решите проблема по заобиколен начин, използвайте един от следните методи:

  • Не използвайте SQL Profiler или SQL Server разширени събития.

  • Щракнете, за да изчистите квадратчетата за отметка RPC:Starting и RPC:Completed в дефиницията на проследяването.

Статут

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.