สนับสนุนนโยบายสำหรับแอสเซมบลี.NET Framework ที่รับการทดสอบในสภาพแวดล้อมการโฮสต์การ CLR ของเซิร์ฟเวอร์ SQL

นำไปใช้กับ: SQL Server 2012 EnterpriseSQL Server 2012 StandardSQL Server 2012 Developer

บทนำ


บทความนี้อธิบายถึงนโยบายการสนับสนุนสำหรับแอสเซมบลี Microsoft .NET Framework รับการทดสอบในการ.NET Framework ทั่วไปภาษารันไทม์ (CLR) -โฮสต์สภาพแวดล้อมใน Microsoft SQL Server

ข้อมูลเพิ่มเติม


แอสเซมบลีการทดสอบและสนับสนุน

เมื่อคุณลงทะเบียนแอสเซมบลีที่อ้างอิงแอสเซมบลี.NET Framework ที่รับการทดสอบใน SQL Server คุณอาจได้รับข้อความเตือนต่อไปนี้:

คำเตือน: การ Microsoft .Net กรอบงานแอสเซมบลี 'AssemblyName' คุณกำลังลงทะเบียนจะไม่เต็มจำนวนทดสอบในสภาพแวดล้อมโฮสต์ของ SQL Server

ข้อความหมายความ ว่า ไม่ได้ทดสอบแอสเซมบลี.NET Framework ในสภาพแวดล้อมการโฮสต์การ CLR ของเซิร์ฟเวอร์ SQL ดังนั้น แอสเซมบลีจะไม่ได้รับการสนับสนุนในสภาพแวดล้อมการโฮสต์การ CLR ของเซิร์ฟเวอร์ SQL

แอสเซมบลี.NET Framework ที่รับการทดสอบอาจจบการทำงานของกระบวนการโฮสต์เมื่อเงื่อนไขสำคัญเช่นเงื่อนไขต่ำหน่วยความจำเกิดขึ้น คุณสามารถใช้แอสเซมบลีในสภาพแวดล้อมการโฮสต์ CLR เซิร์ฟเวอร์ SQL คุณต้องเสี่ยง อย่างไรก็ตาม Microsoft SQL Server ลูกค้าสนับสนุนบริการ (CSS) จะช่วยให้คุณสามารถใช้ และแก้ไขปัญหาที่เกี่ยวข้องกับแอสเซมบลี.NET Framework ที่ไม่สนับสนุน ถ้า CSS เป็นตัวกำหนดว่า แอสเซมบลีที่ไม่สนับสนุนเฉพาะที่ทำให้การตัดสินค้าจากคลังของ SQL Server คุณอาจถูกขอให้หยุดการใช้แอสเซมบลี นอกจากนี้ คุณอาจถูกขอให้หยุดการใช้แอสเซมบลีชั่วคราวเมื่อ CSS แก้ไขปัญหาประเด็น SQL Server เฉพาะถ้าจำเป็น

ลงทะเบียนแอสเซมบลี

มีอยู่สองชนิดของแอสเซมบลี.NET: ขาว และผสม แอสเซมบลี.NET แท้ประกอบด้วยคำแนะนำ MSIL เท่านั้น แอสเซมบลีแบบผสมประกอบด้วยทั้งคำแนะนำเครื่องจักรที่ไม่มีการจัดการและคำแนะนำ MSIL แอสเซมบลีแบบผสมโดยทั่วไป จะถูกคอมไพล์ใน c ++คอมไพเลอร์แบบ โดยใช้สวิตช์ "clr" และนอกจากนี้ยัง ประกอบด้วยคำแนะนำเครื่องจักรซึ่งสร้างขึ้นจากรหัส c ++ดั้งเดิม

เมื่อคุณใช้แอสเซมบลี.NET Framework ที่ที่ไม่ได้อยู่ในรายการได้รับการสนับสนุน คุณจำเป็นต้องใช้คำสั่งสร้างแอสเซมบลีที่ลงทะเบียนแอสเซมบลีและแอสเซมบลีที่อ้างอิงภายในฐานข้อมูล SQL Server คำสั่ง SQL Server สร้างแอสเซมบลีที่ให้เฉพาะแท้กรอบงาน.NET แอสเซมบลีสามารถลงทะเบียน ถ้าแอสเซมบลีหรือแอสเซมบลีที่อ้างอิงใด ๆ ไม่ใช่แอสเซมบลี.NET Framework ที่แท้ (และ ดังนั้น ไม่ใช่แอสเซมบลีแบบผสม), คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

6544 ระดับ 16 ข่าวสารเกี่ยวกับสถานะ 1 บรรทัด 2

สร้างส่วนประกอบสำหรับแอสเซมบลี '<ชื่อแอสเซมบลี >' ล้มเหลวเนื่องจากแอสเซมบลี '<ชื่อแอสเซมบลี >' รูปแบบ'หรือ'ไม่ใช่แท้.NET แอสเซมบลี

Unverifiable PE หัวข้อ / "บ้านเกิด"ส่วนที่เหลือ

ในกรณีนี้ คุณไม่สามารถใช้แอสเซมบลี.NET Framework ร่วมกับ SQL CLR นอกจากแอสเซมบลีนี้ในรายการได้รับการสนับสนุนที่ได้รับการบันทึกไว้ในบทความนี้ นอกจากนี้ แอสเซมบลี.NET Framework ที่สามารถเปลี่ยนจากแอสเซมบลีที่แท้แอสเซมบลีที่ผสมกันระหว่างเวอร์ชัน ถ้าคุณใช้แอสเซมบลีที่ไม่ได้อยู่ในรายการได้รับการสนับสนุน คุณอาจมีสถานการณ์ที่แอสเซมบลีที่ทำงาน ใน.NET Framework รุ่นหนึ่ง แต่ไม่ใช่ ในอีก ข้อจำกัดนี้ใช้ไม่ได้กับแอสเซมบลีในรายการได้รับการสนับสนุนเนื่องจากแอสเซมบลีไม่จำเป็นในการลงทะเบียน โดยใช้คำสั่งสร้างแอสเซมบลี

นอกจากนี้ คุณต้องรักษาแอสเซมบลีเหล่านี้หลังจากที่คุณปรับรุ่น Microsoft .NET Framework สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อไปยังบทความในฐานความรู้ของ Microsoft:
949080ข้อผิดพลาดเมื่อคุณเรียกใช้รูทีนการ CLR หรือใช้แอสเซมบลีใน SQL Server: "แอสเซมบลีในร้านค้าโฮสต์มีลายเซ็นที่แตกต่างจากแอสเซมบลีใน GAC หรือไม่ (ยกเว้นจาก HRESULT: 0x80131050) "

แอสเซมบลีที่ได้รับการสนับสนุนในสภาพแวดล้อมการโฮสต์การ CLR ของเซิร์ฟเวอร์ SQL

แอสเซมบลี.NET Framework ดังต่อไปนี้ที่ได้รับการสนับสนุนในสภาพแวดล้อมการโฮสต์ CLR เซิร์ฟเวอร์ SQL:
  • Microsoft.VisualBasic.dll
  • Mscorlib.dll
  • System.Data.dll
  • System.dll
  • System.Xml.dll
  • Microsoft.VisualC.dll
  • CustomMarshalers.dll
  • System.Security.dll
  • System.Web.Services.dll
  • System.Data.SqlXml.dll
  • System.Transactions.dll
  • System.Data.OracleClient.dll
  • System.Configuration.dll