อาการ
สมมติว่าคุณมี Microsoft SQL Server ๒๐๑๒, ๒๐๑๔หรือ๒๐๑๖ทำงานบนเซิร์ฟเวอร์ที่มีการประมวลผลข้อมูลของรัฐบาลกลาง (FIPS) เปิดใช้งาน ในสถานการณ์นี้เมื่อคุณเรียกใช้หรือตรวจสอบความถูกต้องของ Microsoft SQL Server รวมบริการแพคเกจ (SSIS) ที่มีคอมโพเนนต์ของสคริปต์การไหลของข้อมูลคุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
InvalidOperationException: การดำเนินการนี้ไม่ได้เป็นส่วนหนึ่งของอัลกอริทึมการเข้ารหัสลับที่ผ่านการตรวจสอบ Windows Platform FIPS ที่ระบบความปลอดภัยการเข้ารหัส MD5 CryptoserviceProvider ... ctor()
หมายเหตุ ปัญหานี้เกิดขึ้นเมื่อมีการตั้งค่าคีย์ย่อยของรีจิสทรีต่อไปนี้เป็น 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจาก SSIS ใช้อัลกอริทึม MD5 อัลกอริทึม MD5 ไม่สอดคล้องกันกับ FIPS
การแก้ไข
ข้อมูล service pack
SQL Server 2016
เมื่อต้องการแก้ไขปัญหานี้ใน SQL Server ๒๐๑๖ให้รับ Service Pack 1 สำหรับ SQL server ๒๐๑๖
รุ่นใหม่แต่ละรุ่นสำหรับ SQL Server ๒๐๑๖ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในรุ่นก่อนหน้า เราขอแนะนำให้คุณติดตั้งรุ่นล่าสุดสำหรับ SQL Server ๒๐๑๖
SQL Server 2014เมื่อต้องการแก้ไขปัญหานี้ใน SQL Server ๒๐๑๔ให้รับ Service Pack 2 สำหรับ SQL Server ๒๐๑๔
การอัปเดตใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตก่อนหน้า เราขอแนะนำให้คุณติดตั้งรุ่นล่าสุดสำหรับ SQL Server ๒๐๑๔
SQL Server 2012เมื่อต้องการแก้ไขปัญหานี้ใน SQL Server ๒๐๑๒ให้รับ Service Pack 3 สำหรับ SQL Server ๒๐๑๒
การอัปเดตใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตก่อนหน้า เราขอแนะนำให้คุณติดตั้งservice pack ล่าสุดสำหรับ SQL Server ๒๐๑๒
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหานี้ให้ลองใช้วิธีการใดวิธีการหนึ่งต่อไปนี้:
-
ปิดใช้งานนโยบาย FIPS บนเซิร์ฟเวอร์ เมื่อต้องการทำสิ่งนี้ให้ดูที่ส่วน "การกำหนดค่าการตั้งค่านโยบาย FIPS" บนเว็บไซต์ TechNet ต่อไปนี้:
การรับมือกับระบบเพิ่มเติมหมายเหตุ
-
คุณต้องเริ่มต้นแอปพลิเคชันใหม่เพื่อให้การตั้งค่าใหม่มีผลใช้งาน
-
การตั้งค่านี้จะมีผลต่อค่ารีจิสทรีต่อไปนี้ใน Windows Server:
HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabledค่ารีจิสทรีนี้สะท้อนถึงการตั้งค่า FIPS ปัจจุบัน ถ้าเปิดใช้งานการตั้งค่านี้ค่าเป็น1 ถ้าการตั้งค่านี้ถูกปิดใช้งานค่าคือ0
-
-
ใช้โซลูชันอื่นๆของ Microsoft .NET แทนที่จะเป็นคอมโพเนนต์ของสคริปต์หมายเหตุ อัลกอริทึม MD5 เป็นแบบฮาร์ดไดรฟ์ภายในคอมโพเนนต์ของสคริปต์การไหลของข้อมูล ดังนั้นคุณจึงไม่สามารถเปลี่ยนคอมโพเนนต์ของสคริปต์นี้ได้
ข้อมูลเพิ่มเติม
บริการการรวมของ SQL Server ใช้อัลกอริทึมการเข้ารหัสลับ Windows หลายรายการที่ไม่สอดคล้องกับ FIPS 140-2 ซึ่งเป็นข้อกำหนดด้านความปลอดภัยสำหรับโมดูลที่เข้ารหัสลับ ตัวอย่างเช่น SSIS ๒๐๑๒ใช้ MD5 การดำเนินการนี้ไม่สอดคล้องกับ FIPS 140-2 สำหรับค่าแฮชของการประมวลผลที่ไม่ได้ใช้สำหรับการรักษาความปลอดภัย FIPS 140-2 กำหนดมาตรฐานความปลอดภัยที่รัฐบาลสหรัฐอเมริกาและแคนาดาใช้เพื่อตรวจสอบระดับความปลอดภัยสำหรับผลิตภัณฑ์ที่ใช้การเข้ารหัส
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"