KB4046918 - תיקון: ביצוע נכשל כאשר פונקציית SQL CLR מפעילה משפטי Transact-SQL באמצעות קריאות התחזות ב SQL Server 2016 ו- 2017

חל על
SQL Server 2017 on Windows (all editions) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use)

סימפטומים

בחן את התרחיש הבא:

  • יש לך פונקציית SQL CLR ב- SQL Server 2016 וב- 2017.
  • הפונקציה CLR מפעילה משפטי Transact-SQL באמצעות קריאות התחזות, כגון על-ידי קריאה למשפט EXECUTE AS.

בתרחיש זה, הביצוע נכשל, ואתה מקבל את הודעת השגיאה הבאה:

הערה

  • Msg 6522, רמה 16, מצב 1, פרוצדורה : PrcedureName, שורה 0 [שורת התחלה אצווה LineNumber]
  • אירעה שגיאה .NET Framework במהלך הביצוע של שגרה מוגדרת על-ידי המשתמש או קובץ צבירה "ProcedureName":
  • System.Data.SqlClient.SqlException: למנהל השרת "LoginName" אין אפשרות לגשת למסד הנתונים "DatabaseName" תחת הקשר האבטחה הנוכחי.

פתרון

תיקון זה כלול בעדכון מצטבר מס' 1 עבור SQL Server 2017.

מידע על ערכות Service Pack עבור SQL Server 2016

בעיה זו נפתרה ב- Service Pack הבא עבור SQL Server:

Service Pack 2 עבור SQL SQL Server 2016

אודות גירסאות Build של SQL Server 2017

כל גירסת Build חדשה עבור SQL Server 2017 מכילה את כל התיקונים החמים ותיקוני האבטחה שהיו בגירסת ה- Build הקודמת. מומלץ להתקין את גירסת ה- Build העדכנית ביותר עבור SQL Server 2017.

אודות ערכות Service Pack עבור SQL Server:

ערכות Service Pack הן מצטברות. כל ערכת Service Pack חדשה מכילה את כל התיקונים הקיימים בערכות Service Pack קודמות, יחד עם תיקונים חדשים. אנו ממליצים להחיל את ערכת ה- Service Pack העדכנית ביותר ואת העדכון המצטבר העדכני ביותר עבור ערכת Service Pack זו. אין צורך להתקין ערכת Service Pack קודמת כדי להתקין את ערכת ה- Service Pack האחרונה. השתמש בטבלה 1 במאמר הבא לקבלת מידע נוסף אודות ערכת ה- Service Pack האחרונה והעדכון המצטבר האחרון.

כיצד לקבוע את הגירסה, המהדורה ורמת העדכון של SQL Server ומרכיביו

מצב

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

חומרי עזר

קבל מידע על המינוח שבו משתמשת Microsoft כדי לתאר עדכוני תוכנה.