תופעות
בעת ניסיון להתחבר למסד נתונים על-ידי שימוש באובייקט SqlConnection ב- Microsoft ADO.NET 2.0, אפשר לדווח כשל בחיבור למרות ששרת מסד הנתונים הזמינה בפועל. בעיה זו בולטת ביותר כאשר התנאים הבאים מתקיימים:
-
שרת מסד הנתונים היה אינו זמין במשך לפחות דקה.
-
יישום הלקוח ניסה להתחבר לשרת מסד הנתונים במהלך זמן זה.
סיבה
בעיה זו מתרחשת עקב תופעה המתרחשת כאשר להיכשל נסיונות קודמים של חיבור לשרת שבו פועל Microsoft SQL Server. מאגר החיבורים SqlClient ייתכן ויסות פנימי מספר נסיונות חיבור חדש לשרת. תהליך זה נועד להתרחש למשך פרק זמן קצר. במהלך זמן זה, מאגר החיבורים דוחות השגיאה האחרונה שאירעה במקום ביצוע חיבור לניסיון לשרת באופן אוטומטי. לאחר תקופת הזמן פג, בקשת החיבור הבא מיישום הלקוח משיגה true חיבור לשרת שבו פועל SQL Server. הערה לעתים, תקופת הזמן יכול לגדול גדול מאוד. בעיה זו יהיה תלוי כמה זמן שרת מסד הנתונים אינו זמין.
פתרון
כדי לפתור בעיה זו, הורד את הקובץ המתאים עבור המחשב שלך:
עבור מחשב מבוסס x86
הקובץ הבא עומד לרשותך להורדה במרכז ההורדות של Microsoft:http://download.microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-X86.exe
עבור מחשב מבוסס x64
הקובץ הבא עומד לרשותך להורדה במרכז ההורדות של Microsoft:http://download.microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-X64.exe
עבור מחשב המבוסס על Itanium
הקובץ הבא עומד לרשותך להורדה במרכז ההורדות של Microsoft: http://download.microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe לקבלת מידע נוסף אודות אופן ההורדה של קובצי תמיכה של מיקרוסופט, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
119591 כיצד לקבל קבצי תמיכה של Microsoft משירותים מקווניםMicrosoft סרקה קובץ זה לאיתור וירוסים. Microsoft השתמשה בתוכנת איתור הווירוסים העדכנית ביותר שהיתה זמינה בתאריך פרסום הקובץ. הקובץ מאוחסן בשרתים בעלי אבטחה מוגברת המסייעים למנוע שינויים בלתי מורשים בקובץ.
פתרון
כדי לעקוף בעיה זו, השתמש בשיטות ClearPool או ClearAllPools של האובייקט SqlConnection כדי לאפס את מאגר החיבורים.
מצב
Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.
מידע נוסף
לאחר החלת תיקון חם זה, עיכוב קטן עשוי עדיין להתרחש לפני יישום הלקוח יכול להתחבר בהצלחה לשרת מסד הנתונים כאשר שרת מסד הנתונים מתאושש בעקבות הפסקת. בדרך כלל, עיכוב זה אמור האחרון לא יותר מ 60 שניות, ללא קשר כמה זמן SQL Server בעבר היה לא זמין. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
824684 תיאור המינוח הרגיל המשמש לתיאור עדכוני התוכנה של מיקרוסופטלקבלת מידע נוסף אודות המחלקה SqlConnection , בקר באתר האינטרנט הבא של Microsoft מפתח רשת (MSDN):
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.80).aspxתיקון חם זה נכלל בחבילת התיקון החם אותו כמו התיקון החם במאמר הבא מתוך מאגר הידע Microsoft Knowledge Base:
תיקון 912151 : החיבור עלול זמן קצוב לפני נסה הראשונה כדי להתחבר אל שרת שותף של מעבר לגיבוי בעת כשל בעת ניסיון להתחבר אל מסד נתונים של SQL Server 2005 של אמצעי אחסון שעברו שיקוף באמצעות יישום המבוסס על ADO.NET 2.0
תיקון 912731 : מחובר ADO.NET כאשר יישום משתמש השמות System.Data.SqlClient, היישום עלול להיתקל גבוהה לשימוש ב- CPU ואת עלול להפסיק להגיב
תיקון 912732 : שגיאה עלולה להתרחש בעת הפעלת טרנזקציה חדשה ב- ADO.NET 2.0 על חיבור פתוח למסד נתונים של SQL Server 2005
תיקון 913177 : ייתכן שתקבל הודעת שגיאה כאשר יישום מחובר ADO.NET משתמש המחלקה SqlBulkCopy
תיקון 913764 : הודעת שגיאה בעת ניסיון להפעיל שאילתת UNION ALL או קריאה לפעולת השירות DeriveParameters: "שגיאה חמורה בחיבור פנימי"
תיקון 913765 : חריגה SqlException עלולה להתרחש כאשר תתקשר באחת מהשיטות Execute מופע של המחלקה SqlCommand ביישום ADO.NET 2.0
תיקון 913766 : עמודה A DateTime שאינו מכיל נתונים כלשהם באופן שגוי מיוצג על-ידי שדה DateTime.MinValue בעת ביטול עריכה בסידרה של אובייקט ערכת נתונים של .NET Framework 2.0 במחשב לקוח