การเรียกใช้แพคเกจ SSIS ที่ผู้ใช้โดเมนเป็นเจ้าของจาก SQL Server ที่ทำงานบนบัญชีบริการในเครื่อง


10

ฉันต้องการเรียกใช้แพคเกจ SSIS ที่มีภารกิจการถ่ายโอน SQL Server Objects เซิร์ฟเวอร์ที่เกี่ยวข้องอยู่ในโดเมนเดียวกัน แต่บริการเซิร์ฟเวอร์ SQL กำลังทำงานอยู่ในบัญชีบริการภายใน ดังนั้นสภาพแวดล้อมจะเป็นดังนี้:

โดเมน

เซิร์ฟเวอร์ 1

  • SQL Server ทำงานบนบัญชีท้องถิ่น
  • บนระบบไฟล์: แพคเกจ SSIS
  • ใน บริษัท ตัวแทนของเซิร์ฟเวอร์ SQL: งาน

เซิร์ฟเวอร์ 2

  • SQL Server ทำงานบนบัญชีท้องถิ่น

เพื่อให้สามารถเข้าสู่เซิร์ฟเวอร์ทั้งสองได้ฉันได้สร้างบัญชีโดเมนเพื่อใช้เป็นบัญชีบริการ เมื่อฉันใช้บัญชีโดเมนนี้เพื่อเข้าสู่ระบบเซิร์ฟเวอร์ 1 จากนั้นดำเนินการแพคเกจจากระบบไฟล์ทุกขั้นตอนสำเร็จ อย่างไรก็ตามเมื่อฉันพยายามเพิ่มงานไปยัง SQL Server ฉันพบปัญหาอย่างใดอย่างหนึ่งต่อไปนี้:

สถานการณ์ 1. เจ้าของงาน: บัญชีท้องถิ่น; เรียกขั้นตอน SSIS เป็นผู้รับมอบฉันทะเพื่อบัญชีโดเมน เมื่อฉันตั้งเจ้าของงานเป็นบัญชีท้องถิ่น แต่ใช้งานเป็นพร็อกซีไปยังบัญชีโดเมนงานของตัวเองจะดำเนินการได้สำเร็จ แต่แพคเกจมีข้อผิดพลาดเช่น

การดำเนินการล้มเหลวโดยมีข้อผิดพลาดต่อไปนี้: "ไดเรกทอรี 'LocalApplicationData' ไม่มีอยู่"

ข้อผิดพลาดนี้สามารถแก้ไขได้โดยการสร้างการเข้าสู่ระบบด้วยสิทธิ์ของผู้ดูแลระบบสำหรับผู้ใช้โดเมนบนเซิร์ฟเวอร์ 1 แต่นี่ไม่ใช่วิธีแก้ปัญหาที่เหมาะสม การเพิ่มบัญชีไปยังหนึ่งในกลุ่มตัวแทนของเซิร์ฟเวอร์ SQL / DTS ไม่ทำงานอย่างใดอย่างหนึ่ง

สถานการณ์ 2. เจ้าของงาน: บัญชีโดเมน; เรียกขั้นตอน SSIS เป็นผู้รับมอบฉันทะไปยังบัญชีโดเมน เมื่อฉันตั้งค่าทั้งเจ้าของงานและ 'เรียกใช้ในฐานะผู้ใช้' สำหรับขั้นตอนในบัญชีโดเมนงานจะไม่เริ่มเลยด้วยข้อผิดพลาดต่อไปนี้:

ไม่สามารถระบุได้ว่าเจ้าของ (ผู้ใช้ Domain \ Domain) ของงานJob nameมีการเข้าถึงเซิร์ฟเวอร์หรือไม่ (สาเหตุ: ไม่สามารถรับข้อมูลเกี่ยวกับกลุ่ม Windows NT / ผู้ใช้ 'ผู้ใช้ Domain \ Domain', รหัสข้อผิดพลาด 0x5 [SQLSTATE 42000] (ข้อผิดพลาด 15404)) .

ฉันเชื่อว่าข้อผิดพลาดสุดท้ายคือเพราะ SQL Server ทำงานในบัญชีท้องถิ่นและไม่สามารถดูได้ว่าบัญชีโดเมนสิทธิ์ใด

วิธีที่ถูกต้องในการทำให้งานเป็นอย่างไร สถานการณ์ที่ 2 รู้สึกสะอาดกว่าสำหรับฉัน แต่ดูเหมือนว่าเป็นไปไม่ได้เพราะ SQL Server ทำงานในบัญชีท้องถิ่น สถานการณ์ที่ 1 จะทำงานได้เช่นกัน แต่การให้สิทธิ์การดูแลระบบแก่ผู้ใช้โดเมนบน SQL Server ของฉันจะไม่เกิดขึ้น


UPDATE:

@JonSeigel และ @ Mr.Brownstone:

ดูเหมือนว่าเป็นไปได้ว่าปัญหานี้เกิดขึ้นเนื่องจากการไม่มีสิทธิ์ อย่างไรก็ตามข้อผิดพลาดเกี่ยวกับการไม่มี 'LocalApplicationData' - หนึ่งในโฟลเดอร์ที่สร้างขึ้นสำหรับแต่ละบัญชี ฉันลงชื่อเข้าใช้เซิร์ฟเวอร์แล้วโดยใช้ข้อมูลรับรองที่แพคเกจทำงานอยู่ (ต่อไปนี้จะสร้างไดเรกทอรีโปรไฟล์) และลองใช้การอนุญาตหลายอย่างร่วมกันสำหรับไดเรกทอรีโปรไฟล์ แม้ว่าเมื่อให้สิทธิ์เกือบทั้งหมดในไดเรกทอรีนี้ด้วยตนเองฉันก็จะได้รับข้อผิดพลาดดังกล่าวข้างต้น

ในขณะที่ทำวิจัยเพิ่มเติมฉันวิ่งเข้าไปในฟอรัมที่http://www.sqlservercentral.com/Forums/Topic391332-148-1.aspx#bm391441ซึ่งค่อนข้างคล้ายกัน - โดยไม่มีวิธีแก้ปัญหาเช่นกัน


มีเหตุผลที่คุณไม่ได้ใช้บัญชีโดเมนสำหรับบริการ SQL หรือไม่
Eric Higgins

ใช่ แต่ฉันไม่ทราบสาเหตุใด (ฉันเดาบางอย่างเกี่ยวกับวัฏจักร DTAP และโดเมนไม่สามารถใช้ได้ทุกที่) อย่างไรก็ตามมันเป็นสภาพแวดล้อมที่กำหนดซึ่งฉันไม่ได้รับอนุญาตให้เปลี่ยนแปลง
vstrien

สถานการณ์ # 1 ดูเหมือนจะเป็นคำตอบ ฉันคิดว่าข้อความแสดงข้อผิดพลาดที่คุณได้รับมาจากภายในแพ็คเกจ ในคำอื่น ๆ แพคเกจกำลังดำเนินการ แต่งานภายในนั้นต้องการสิทธิ์มากกว่าบัญชีบริการได้รับอนุญาต คุณอาจไม่ต้องให้สิทธิ์ระดับผู้ดูแลระบบกับบัญชีเพื่อให้สำเร็จ (ให้สิทธิ์แบบละเอียดแทนหรือเปลี่ยนกระบวนการที่ไม่ต้องการสิทธิ์)
Jon Seigel

คุณสามารถเพิ่มการเข้าสู่ระบบ SQL (การรับรองความถูกต้องของ SQL) ไปยัง SQL Server ระยะไกล (เซิร์ฟเวอร์ 2) ได้หรือไม่? หากคุณมีตัวเลือกนั้นคุณสามารถใช้การเข้าสู่ระบบ SQL ในการเชื่อมต่อ SSIS ที่ใช้สำหรับปลายทาง นั่นหมายความว่าคุณจะต้องใช้รหัสผ่านเพื่อเข้ารหัสแพ็คเกจ แต่จะแก้ปัญหาของคุณได้
ร้อยเอ็ด Gavish

@Justicator: อาจเป็นทางเลือกสุดท้าย แต่เมื่อใดก็ตามที่สามารถเข้าสู่ระบบโดเมนได้ฉันไม่ต้องการใช้การรับรองความถูกต้องของ SQL
vstrien

คำตอบ:


5

ความเห็นส่วนตัวของฉันคือตัวเลือก # 1 เป็นวิธีที่จะไป แต่ฉันไม่เห็นว่าคุณจำเป็นต้องให้สิทธิ์การเข้าถึงกับผู้ดูแลระบบในบัญชีโดเมน ฉันคิดว่ามันต้องมีการเข้าถึงโฟลเดอร์และไฟล์บางอย่างและเพื่อให้คุณสามารถให้สิทธิ์ผู้ใช้โดเมนในการเข้าถึงทรัพยากรที่จำเป็นในการเรียกใช้แพคเกจได้สำเร็จ สิ่งนี้สามารถทำได้ผ่านกล่องโต้ตอบคุณสมบัติไฟล์ / โฟลเดอร์และเลือกแท็บความปลอดภัย - ไม่จำเป็นต้องตั้งค่ามันสำหรับทุกไฟล์และโฟลเดอร์ในขณะที่คุณสามารถตั้งค่าการอนุญาตของไดเรกทอรีหลักและตั้งค่าให้แทนที่คุณสมบัติลูก

ฉันหวังว่านี่จะช่วยคุณได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.