อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
-
คุณเรียกใช้อินสแตนซ์ของแค็ตตาล็อกบริการการรวมและแค็ตตาล็อก SSISDB ใน Microsoft SQL Server 2012 หรือ 2014 ในเซิร์ฟเวอร์ SQL
-
คุณสามารถให้สิทธิ์แก่สมาชิกของกลุ่ม Windows เพื่อที่จะสามารถเข้าถึง SSIS แค็ตตาล็อกโฟลเดอร์ โครงการ หรือสภาพแวดล้อมที่กำหนดสิทธิ์ได้สินค้า
หมายเหตุ คุณสามารถมอบสิทธิ์ในวิธีการต่อไปนี้:-
คุณใช้จัดการ Studio การทำเช่นนี้ คลิกขวาวัตถุในแค็ตตาล็อกบริการการรวม เลือกคุณสมบัติจากนั้น บนเพจสิทธิ์เรียกดูกลุ่ม เพิ่มกลุ่ม แล้ว เลือกสิทธิ์สำหรับกลุ่มนั้น
-
คุณเรียกใช้กระบวนงานที่เก็บต่อไปนี้:
[SSISDB].[catalog].[grant_permission]
-
-
ผู้ใช้ Windows ที่เป็นสมาชิกของกลุ่ม Windows พยายามที่จะดู และดำเนินการแพคเกจลงในฐานข้อมูล SSISDB ในแค็ตตาล็อกบริการการรวม โดยใช้ Studio จัดการหรือกระบวนงานที่เก็บไว้
ในสถานการณ์สมมตินี้ ผู้ใช้ไม่สามารถดูแพคเกจที่จะได้รับสิทธิ์ และไม่สามารถตรวจสอบ หรือเรียกใช้แพคเกจเหล่านั้น
สาเหตุ
ปัญหานี้เกิดขึ้น เพราะเป็นปัญหาในมุมมองภายใน SSISDB ซึ่งป้องกันไม่ให้ผู้ใช้มีสิทธิการใช้งานที่คาดไว้เมื่อสิทธิ์จะถูกมอบหมาย โดยใช้สมาชิก กลุ่ม Windows
การแก้ปัญหา
ปัญหานี้ถูกถาวรแรกในการปรับปรุงสะสมต่อไปนี้ของ SQL Server
ปรับปรุงสะสม 1 สำหรับ SQL Server 2014/en-us/help/2931693
ปรับปรุงสะสม 7 สำหรับ SQL Server 2012 SP1/en-us/help/2894115
แต่ละโปรแกรมปรับปรุงสะสมใหม่สำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และทั้งหมดที่แก้ไขความปลอดภัยที่ถูกรวมอยู่ในการปรับปรุงที่สะสมก่อนหน้านี้ ตรวจหาการปรับปรุงสะสมล่าสุดสำหรับ SQL Server:
วิธีแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ ไม่ได้ใช้กลุ่ม Windows ของผู้ใช้ต่าง ๆ SSIS กำหนดสิทธิ์การเข้าถึง แทน ใช้กับบทบาทฐานข้อมูลที่ผู้ใช้กำหนดเองใน SQL Server เมื่อต้องการย่อส่วนรายชื่อผู้ใช้ของ Windows จำเป็น และจากนั้น กำหนดให้สิทธิ์กับบทบาทฐานข้อมูลนั้น
เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
-
สร้างล็อกอินของ Windows จำเป็นกับอินสแตนซ์ของ SQL Server และจากนั้น ให้ผู้ใช้เข้าถึงฐานข้อมูล SSISDB ตัวอย่างเช่น คุณสามารถใช้จัดการ Studio โดยการรักษาความปลอดภัยล็อกอินคลิก แล้ว คลิกล็อกอินใหม่ หรือ คุณสามารถใช้สคริปต์ต่อไปนี้สำหรับการเข้าสู่ระบบผู้ใช้ Windows แต่ละ:
ใช้หลัก
GO
สร้างการเข้าสู่ระบบโดเมน\ชื่อผู้ใช้จาก WINDOWS ด้วย DEFAULT_DATABASE =หลัก
GO
ใช้SSISDB
GO
สร้างผู้ใช้โดเมน\ชื่อผู้ใช้สำหรับเข้าสู่ระบบโดเมน\ชื่อผู้ใช้
GO -
ในฐานข้อมูล SSISDB สร้างบทบาทฐานข้อมูลที่ผู้ใช้กำหนดเอง เช่นssis_users ตัวอย่างเช่น คุณสามารถใช้จัดการ Studio โดยไปยังฐานข้อมูลคลิSSISDBคลิกความปลอดภัยคลิกบทบาทคลิกบทบาทฐานข้อมูลและจากนั้น คลิกบทบาทฐานข้อมูลใหม่ หรือ คุณสามารถใช้สคริปต์ต่อไปนี้:
ใช้SSISDB
GO
สร้างบทบาทssis_users
GO -
เพิ่มผู้ใช้ที่ต้องการใน SSISDB ลงในบทบาทssis_users ตัวอย่างเช่น คุณสามารถใช้จัดการ Studio โดยไปยังฐานข้อมูลคลิSSISDBคลิกความปลอดภัยคลิกบทบาทคลิกบทบาทฐานข้อมูลคลิกสมาชิกของบทบาทและจากนั้น คลิกเพิ่ม หรือ คุณสามารถใช้สคริปต์ต่อไปนี้:
ใช้SSISDB
GO
เปลี่ยนบทบาทssis_usersเพิ่มสมาชิกโดเมน\ชื่อผู้ใช้
GO -
คลิกขวาวัตถุที่กำหนดสิทธิ์ได้ในแค็ตตาล็อกบริการรวม คลิกคุณสมบัติคลิกเรียกดูบนเพจสิทธิ์เพื่อเพิ่มบทบาทฐานข้อมูลลงในสิทธิ์ จากนั้นเงินช่วยเหลือหรือปฏิเสธกับสิทธิ์ที่ชัดแจ้งที่ต้องการดังนี้:
หมายเหตุ สิทธิ์เหล่านี้อาจไม่เพียงพอที่จะดำเนินการแพคเกจ SSIS เสร็จเรียบร้อยแล้ว แต่ละแพคเกจ SSIS จะออกแบบกำหนดเอง และอาจมีข้อกำหนดเฉพาะเพิ่มเติมในการเข้าถึงบางเซิร์ฟเวอร์ และฐานข้อมูล หรือที่ใช้ร่วมกันเพื่อตรวจสอบ หรือดำเนินการแพคเกจ SSIS เสร็จเรียบร้อยแล้ว
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติม ดูหัวข้อต่อไปนี้บนเว็บไซต์ Microsoft Developer Network (MSDN):
แค็ตตาล็อกของ SSIS
กล่องโต้ตอบคุณสมบัติของโฟลเดอร์
กล่องโต้ตอบคุณสมบัติของโครงการ
กล่องโต้ตอบคุณสมบัติของสภาพแวดล้อม
ดูคำศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์