חל על
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Microsoft מפיצה תיקונים SQL Server Microsoft 2012 בקובץ אחד הניתן להורדה. מאחר התיקונים הם מצטברים, כל מהדורה חדשה מכילה את כל התיקונים החמים ואת כל עדכוני האבטחה שנכללו במהדורה הקודמת של SQL Server 2012.

תופעות

שקול את התרחיש הבא:

  • צור פרוצדורה מאוחסנת המשתמשת בפרמטר ערך טבלה (TVP) ב- Microsoft SQL Server 2012.

  • עליך להשתמש ב- SQL Profiler או SQL Server מורחבים כדי ללכוד את האירועים RPC:Starting ו- RPC:Completed.

  • הפעלת שאילתה המשתמשת ב- TVP.

  • הזמן או הזמן של השאילתה תם.

בתרחיש זה, מתרחשת שגיאת מתזמן שאינו מניבה, ושאילתות הפועלות באותו מתזמן פועלות לאט. בנוסף, קובץ dump מצומצם נוצר בתיקיה SQL Server יומן הרישום.כאשר בעיה זו מתרחשת, אתה מקבל הודעת שגיאה הדומה להודעה הבאה:

System.Data.SqlClient.SqlException (0x80131904): הזמן הקצוב פג. פרק הזמן הקצוב חלף לפני השלמת הפעולה או שהשרת אינו מגיב.at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)at System.Data.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObjbj, שגיאת UInt32)ב- System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()ב- System.Data.SqlClient.TdsParserStateObject.ReadByte()ב- 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)בכתובת System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)ב- System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, returnStream בוליאני, פעולת שירות של מחרוזת, תוצאת DbAsyncResult)ב- System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)ב- System.Data.SqlClient.SqlCommand.ExecuteNonQuery()at TVPApp.Program.Main(String[] args)

שגיאת מתזמן שאינו מניבה יחד עם הודעת שגיאה הדומה להודעה הבאה נרשמת ביומן SQL Server שגיאה:

<תאריך><שעה> Server המשתמש ב- 'dbghelp.dll' גירסה '4.0.5'<תאריך><שעה> Server &לא ניתן לקבל הקשר שרשור עבור spid #<תאריך><שעה> Server * *******************************************************************************><2><שעה> Server *><6 תאריך><שעה> Server * BEGIN STACK DUMP:><0 תאריך><שעה> Server * <תאריך><שעה> spid #><8 תאריך><שעה> Server *><2 תאריך><Time> Server * מתזמן שאינו מניבה><6 תאריך><Time> Server *<תאריך><Time> Server * *******************************************************************************<תאריך><שעה> Server חתימת מחסנית עבור ה- dump היא 0x000000000000002C<תאריך><שעה> Server External dump process return code 0x20000001.תהליך Dump חיצוני לא החזיר שגיאות.<תאריך><שעה> תהליך שרת 0:0:0 (0x1670) עובד 0x0000000004EDE160 נראה שאינו מניב ב- Scheduler 5. זמן יצירת הליך משנה: 13014210386757. הליך משנה CPU בשימוש: ליבה 0 אלפיות שניה, משתמש 70106 אלפיות שניה. ניצול התהליך 16%. המערכת אינה פעילה ב- 77%. מרווח זמן: 70140 אלפיות שניה.<תאריך><שעה> תהליך שרת 0:0:0 (0x1670) עובד 0x0000000004EDE160 נראה שאינו מניב ב- Scheduler 5. זמן יצירת הליך משנה:

סיבה

בעיה זו מתרחשת עקב שגיאה במנגנון מסד הנתונים של SQL Server 2012. עמודות הטקסט ב- TVP מיושמות כמחרוזת או מאגרים של הוספה, והגדלה במספר השורות מגדילה את מספר המאגרים. עם זאת, התהליך שמשחרר מאגרים צורך זמן רב. לכן, נוצרת שגיאת מתזמן שאינה מניבה כאשר מתרחשות פעולות מהדורה וכווץ. הערה בעיה דומה טופלה במאמר הבא במאגר הידע של Microsoft. עם זאת, חבילת העדכון המצטבר המתואר במאמר אינו עבור בעיית זמן קצוב לשאילתה.

2520808 תיקון: שגיאת מתזמן ללא תשואה בעת הפעלת שאילתה המשתמשת ב- TVP ב- SQL Server 2008 או ב- SQL Server 2008 R2 אם נעשה שימוש ב- SQL Profiler או SQL Server Extended Events

פתרון

מידע עדכון מצטבר

חבילת עדכון מצטבר 5 עבור SQL Server 2012 Service Pack 1 (SP1)

התיקון לבעיה זו פורסם לראשונה בעדכון מצטבר 5. לקבלת מידע נוסף אודות האופן שבו ניתן להשיג את חבילת העדכון המצטבר עבור SQL Server 2012, לחץ על מספר המאמר הבא כדי להציג את המאמר מתוך מאגר הידע Microsoft Knowledge Base:

2861107 חבילת עדכון מצטבר 5 עבור SQL Server 2012Note מאחר גירסאות ה- Build הם מצטברים, כל פרסום תיקון חדש מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורה הקודמת SQL Server 2012 תיקון. מומלץ לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר מתוך מאגר הידע Microsoft Knowledge Base:

2772858 גירסאות ה SQL Server Build של 2012 שהופצו לאחר SQL Server 2012 Service Pack 1 הופץ

פתרון

כדי לפתור בעיה זו, השתמש באחת מהשיטות הבאות:

  • אל תשתמש ב- SQL Profiler או SQL Server מורחבים.

  • לחץ כדי לנקות את תיבות הסימון RPC:Starting ו- RPC:Completed בהגדרת המעקב.

מצב

Microsoft אישרה כי זוהי בעיה במוצרי Microsoft המפורטים בסעיף "חל על".

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.