อาการ
เมื่อคุณใช้ฐานข้อมูล SSISDB เพื่อจัดเก็บและจัดการแพคเกจ Microsoft SQL Server รวมบริการ (SSIS) และกำหนดค่าคุณสมบัติต่อไปนี้ในแค็ตตาล็อก SSIS:
-
ล้างบันทึกอย่างสม่ำเสมอ (ตั้งค่าเป็น True)
-
ระยะเวลาการเก็บข้อมูล (ตั้งค่าเป็นจำนวนวันที่ระบุซึ่งมีจำนวนวันที่มากเกินกว่าที่อาจเกิดขึ้นได้)
-
เอาเวอร์ชันเก่าออกเป็นระยะๆ (ตั้งค่าเป็น true)
-
จำนวนสูงสุดของเวอร์ชันต่อโครงการ
คุณอาจพบอาการต่อไปนี้อย่างน้อยหนึ่งอย่าง:
-
ใช้เวลานานในการปรับใช้แพคเกจ SSIS กับฐานข้อมูล SSIS จาก SSDT
-
แพคเกจ SSIS อาจใช้เวลานานในการดำเนินการหรือแม้แต่ล้มเหลวในบางกรณีเมื่องานการล้างข้อมูล SSISDB กำลังทำงานอยู่
-
อินสแตนซ์ของ SQL Server อาจมีปัญหาด้านประสิทธิภาพการทำงาน
-
งานการบำรุงรักษา SSIS อาจใช้เวลานาน (มากกว่าหนึ่งวัน) ในการดำเนินการให้เสร็จสมบูรณ์หรือแม้แต่ล้มเหลว
-
SSISDB อาจมีขนาดใหญ่เกินไป
การแก้ไข
ข้อมูล service pack สำหรับ SQL Server ๒๐๑๒
เมื่อต้องการแก้ไขปัญหานี้ให้ขอรับ service pack ล่าสุดสำหรับ Microsoft SQL Server ๒๐๑๒ สำหรับข้อมูลเพิ่มเติมให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๗๕๕๕๓๓ วิธีการขอรับ service pack ล่าสุดสำหรับ SQL Server ๒๐๑๒ หลังจากที่คุณนำ SQL Server ๒๐๑๒ Service Pack 2 (SP2) ไปใช้ให้ทำตามขั้นตอนเหล่านี้เพื่อแก้ไขปัญหานี้:
-
นำการติดตั้ง SQL Server ๒๐๑๒ SP2 บนอินสแตนซ์ของ SQL Server ที่เป็นโฮสต์แค็ตตาล็อก SSISB
-
เรียกใช้กระบวนงานที่เก็บไว้ ภายใน.cleanup_server_logใน SSISDB เพื่อดำเนินการล้างข้อมูลแบบเต็ม
EXEC SSISDB.internal.cleanup_server_log
-
เปลี่ยนฐานข้อมูล SSISDB ไปยังโหมดผู้ใช้คนเดียว
ALTER DATABASE SSISDB SET SINGLE_USER
-
โทรconfigure_catalogพร้อมกับพารามิเตอร์SEVER_OPERATION_ENCRYPTION_LEVELเพื่อเปลี่ยนระดับการเข้ารหัสลับของบันทึกการดำเนินการเป็นPER_PROJECT (2)จากค่าเริ่มต้นของPER_EXECUTION (1)
EXEC SSISDB.catalog.configure_catalog @property_name='SERVER_OPERATION_ENCRYPTION_LEVEL', @property_value='2'
-
เปลี่ยนฐานข้อมูล SSISDB กลับไปยังโหมดผู้ใช้หลายคน
ALTER DATABASE SSISDB SET MULTI_USER
-
เรียกใช้ภายใน.Cleanup_Server_execution_keysกระบวนงานที่เก็บไว้เพื่อล้างข้อมูลคีย์ระดับธุรกรรม
EXEC SSISDB.internal.Cleanup_Server_execution_keys @cleanup_flag = 1
ข้อมูลเพิ่มเติม
SQL Server ๒๐๑๒ Service Pack 2 จะแนะนำการเปลี่ยนแปลงการออกแบบคีย์ที่ช่วยบรรเทาปัญหานี้:
-
คุณสมบัติใหม่ (OPERATION_LOG_ENCRYPTION_LEVEL) จะถูกนำมาใช้ในตารางSSISDB.catalog_property เพื่อเปิดใช้งานตัวเลือกสำหรับการรักษาความปลอดภัยระดับโครงการ การตั้งค่านี้จะบอก SSIS เมื่อต้องการสร้างหนึ่งคีย์หรือใบรับรองคู่สำหรับแต่ละโครงการและนำมาใช้ใหม่สำหรับแต่ละรายการดังนั้นการลดจำนวนของใบรับรองที่ถูกเก็บไว้และจำเป็นต้องมีการล้างข้อมูลในอนาคต จำเป็นต้องมีการล้างข้อมูลแบบเต็มก่อนที่คุณจะเปลี่ยนจากระดับธุรกรรมเป็นระดับโครงการ
-
กระบวนงานที่เก็บไว้สองขั้นตอนจะถูกนำไปใช้เพื่อช่วยในการส่งต่อ SSISDB ที่มีอยู่จากระดับธุรกรรมไปยังระดับโครงการ:
-
cleanup_server_log
-
cleanup_server_execution_keys
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนสองขั้นตอนเหล่านี้และการใช้งานให้ไปที่เว็บไซต์ต่อไปนี้ใน SQL Server Books Online:
-
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"