תיקון: מספר בעיות להתרחש בעת שימוש שרת מקושר שנוצר על-ידי ספק לקוח מקורית של SQL ב- SQL Server 2008

חל על: SQL Server 2008 DeveloperSQL Server 2008 EnterpriseSQL Server 2008 Standard

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

מאפייני הבעיה


במחשב שבו פועל Microsoft SQL Server 2008, אתה נתקל באחת או יותר מהבעיות הבאות בעת יצירת שרת מקושר באמצעות ספק לקוח מקורית של SQL (Sqlncli.dll).

הערה בעיות אלה מתרחשות גם ב- Microsoft SQL Server 2005 Service Pack 3 (SP3). עם זאת, התיקון החם במאמר זה אינו חל על SQL Server 2005 SP3.

בעיה 1

שקול את התרחיש הבא:
  • ב- SQL Server ניהול Studio, לפתוח חלון חדש שרת מקושר וליצור שרת מקושר על-ידי שימוש באחד כיוונונים הבאים:
    • ספק לקוח מקורית של SQL עם סוג שרת כמו שרת SQL
    • ספק לקוח מקורית של SQL (לא SQL מקורי לקוח 10) עם סוג השרת כמקור נתונים אחרים
    • Microsoft ספק OLE DB עבור SQL Server עם סוג השרת כמקור נתונים אחרים
  • הרחב את הקטלוג שרתים מקושרים ב- Studio ניהול שרת SQL כדי לראות את שרתים מקושרים.
בתרחיש זה, שירות SQL Server מפסיק לפעול באופן בלתי צפוי או קובץ dump המצומצמת נוצר שוב ושוב בתיקיה יומן רישום השגיאות של SQL Server. בעיה זו ממשיכה עד שירות SQL Server יופסק. בנוסף, סטודיו ניהול שרת SQL דוחות השגיאה הבאה:

כותרת: Microsoft SQL Server ניהול סטודיו
------------------------------
נכשל אחזור נתונים עבור בקשה זו. (Microsoft.SqlServer.Management.Sdk.Sfc)

לקבלת עזרה, לחץ על: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
מידע נוסף:
אירעה חריגה בעת ביצוע משפט Transact-SQL או אצווה. (Microsoft.SqlServer.ConnectionInfo)
------------------------------

תם הזמן הקצוב. משך הזמן הקצוב חלף לפני השלמת הפעולה או שהשרת אינו מגיב. (שרת SQL של Microsoft, שגיאה:-2)



הערה בעיה זו אינה מתרחשת אם אתה מפעיל שאילתה שרת מקושר בעת שימוש ספק לקוח מקורית של SQL עם סוג שרת כמו שרת SQL.

בעיה 2

שקול את התרחיש הבא:
  • צור שרת מקושר באמצעות ספק ה-Microsoft OLE DB למנהלי התקן ODBC.
  • מקור הנתונים של ODBC נוצר באמצעות ספק לקוח מקורית של SQL עם סוג השרת כמקור נתונים אחרים.
בתרחיש זה, שרת מקושר אינו מחזיר תוצאות.

פתרון


התיקון עבור בעיה זו פורסם לראשונה ב- 7 עדכון מצטבר עבור SQL Server 2008 Service Pack 1. לקבלת מידע נוסף אודות חבילת עדכון מצטבר זה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:-
979065 חבילת העדכון המצטבר 7 עבור SQL Server 2008 Service Pack 1
הערה מאחר גירסאות build הם מצטברים, כל פרסום תיקון חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2008 מהדורה. אנו ממליצים לך לשקול החלת העדכניים ביותר פרסום התיקון החם הזה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:-
970365 SQL Server 2008 בונה שפורסמו לאחר SQL Server 2008 Service Pack 1 פורסם
תיקונים חמים של Microsoft SQL Server 2008 נוצרות עבור ערכות שירות הספציפי של שרת SQL. עליך להחיל תיקון חם SQL Server 2008 Service Pack 1 להתקנה של SQL Server 2008 Service Pack 1. כברירת מחדל, כל תיקון חם הכלול ב- SQL Server service pack נכלל ב- SQL Server service pack הבא.

מידע נוסף


באפשרותך לאשר את גירסת הקבצים Sqlncli.dll ו- Sqlservr.exe על-ידי הפעלת השאילתה הבאה:
select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'
אם אתה משתמש ב- Microsoft SQL Server 2008 Service Pack 1 (SP1) או גירסאות מאוחרות יותר של Microsoft SQL Server 2008, השאילתה תחזיר את פרטי הגירסה שלהלן:
  • הקובץ Sqlncli.dll תהיה גירסה מאוחר יותר מאשר 9.0:3207.0.
  • הקובץ Sqlservr.exe תהיה גירסה מאוחר יותר או שווה ל- 10.0:2531.0, אך מוקדם יותר מ- 10.0:2766.0.
אם אתה משתמש ב- Microsoft SQL Server 2008 RTM או גירסאות מאוחרות יותר של SQL Server 2008 RTM, השאילתה תחזיר את פרטי הגירסה שלהלן:
  • הקובץ Sqlncli.dll תהיה גירסה מאוחר יותר מאשר הגירסה 9.0:3207.0.
  • הקובץ Sqlservr.exe תהיה גירסה מאוחר יותר או שווה ל- 10.0:1600.0, אך מוקדם יותר מ- 10.0:1835.0.

פתרון הבעיה


כדי לעקוף בעיות אלה, בצע את הפעולות הבאות:

Workaround 1:

1. מחק את שרת מקושר שכשלו.

2. יצירת שרת מקושר חדש באמצעות ספק SQL Server מקורי לקוח 10.0 (SQLNCLI10). לשם כך:
א. לחץ לחיצה ימנית על שרתים מקושרים ובחר שרת מקושר חדש.
b. בחר מקור נתונים אחר ובחר 10.0 לקוח מקורית של SQL Server עבור ספק.

Workaround 2:
  1. צור מפתח משנה של הרישום בשם "SQLNCLI" בנתיב הבא:
    HKLM\Software\Microsoft\DataAccess
  2. צור ערך רישום מסוג REG_DWORD בשם "SQLOSPartitioning" תחת מפתח זה.
  3. הגדר את הערך של ערך זה 0x0.

מצב


Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.

מידע נוסף


תוכנה כללכותרת כללתיאור הכללגירסאות מוצר שמולם להעריך את הכלל
יועץ מרכז המערכתשרת SQL חסר עדכון KB979779 כדי למנוע נזק לזיכרון לקוח מקורית של SQLספק לקוח מקורית של SQL התואם ל- SQL Server 2005 אינו קיים בשרת זה. זו גירסה ישנה יותר של SQLNCLI.dll הצליחה העלול ב- SQL Server 2008 ו- SQL Server 2008 R2 כאשר ספירת ספקים ויצירת מקושר שרתים. גירסאות build ספציפיים של SQL Server 2008 ו- SQL Server 2008 R2 ניתן להיתקל בבעיות והמושפעות נתקע בעת יצירה או באמצעות שרת מקושר שנוצרו באמצעות פעולה זו SQLNCLI.dll. עדכן את המופעים המושפעות של SQL Server 2008 ו- SQL Server 2008 R2 עם התיקונים הנדרשים או להימנע משימוש SQLNCLI.dll זו בעת יצירת שרתים מקושרים.SQL Server 2008

SQL Server 2008 R2


הפניות


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

935897 דגם מתן שירות מצטבר זמין מהצוות SQL Server כדי לספק תיקונים חמים עבור בעיות שדווחו



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

822499 סכימה חדשה למתן שמות עבור חבילות עדכוני תוכנה של Microsoft SQL Server


לקבלת מידע נוסף על מינוח עדכוני התכנה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
824684 תיאור המינוח הרגיל המשמש לתיאור עדכוני התוכנה של מיקרוסופט