อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณสร้างแพคเกจ SQL Server ๒๐๐๘รวมบริการ R2 (SSIS) ที่มีคอมโพเนนต์ปลายทางของ SQL Server ในงาน Dataflow
-
คุณพยายามเรียกใช้แพคเกจนี้บนระบบที่เปิดใช้งานการควบคุมบัญชีผู้ใช้ (UAC) (ตัวอย่างเช่นใน Windows Vista หรือใน Windows 7) โดยใช้วิธีการใดวิธีการหนึ่งต่อไปนี้:
-
Business ข่าวกรองพัฒนา Studio (BIDS)
-
SQL Server Management Studio (SSMS) Explorer วัตถุ
-
DTExec.exe
-
DTExecUI.exe
-
ในสถานการณ์สมมตินี้คุณอาจได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับอย่างใดอย่างหนึ่งต่อไปนี้:
[ปลายทางของ SQL Server] ข้อผิดพลาด: ไม่สามารถเตรียมการแทรกจำนวนมากของ SSIS สำหรับการแทรกข้อมูลได้ SSIS . ข้อผิดพลาดของไปป์ไลน์: คอมโพเนนต์ "SQL Server ปลายทาง" ล้มเหลวขั้นตอนที่ดำเนินการล่วงหน้าและส่งกลับรหัสข้อผิดพลาด 0xC0202071 " ไม่สามารถคัดลอกข้อมูลเป็นกลุ่มได้ คุณอาจจำเป็นต้องเรียกใช้แพคเกจนี้ในฐานะผู้ดูแลระบบ
หมายเหตุ
-
คุณไม่พบข้อผิดพลาดเหล่านี้ถ้าคุณเรียกใช้แพคเกจภายใต้บัญชีผู้ดูแลที่มีอยู่แล้วภายในที่สร้างขึ้นในระหว่างการติดตั้งระบบปฏิบัติการ แต่คุณจะได้รับข้อความนี้สำหรับผู้ใช้อื่นรวมถึงผู้ที่เป็นสมาชิกของกลุ่มผู้ดูแลระบบภายใน
-
ปัญหานี้เกิดขึ้นเมื่อคุณเรียกใช้แพคเกจ SSIS เดียวกันกับงานของบริษัทตัวแทนการเซิร์ฟเวอร์ SQL
-
ข้อความแสดงข้อผิดพลาดที่สองจะถูกสร้างขึ้นหลังจากที่มีการติดตั้ง SQL ๒๐๐๘ Service Pack 2 (SP2) เท่านั้น
สาเหตุ
ปัญหานี้เกิดขึ้นกับระบบที่เปิดใช้งาน UAC เมื่อแอปพลิเคชัน (เช่น SSIS) เริ่มต้นโดยบัญชีผู้ใช้ที่เป็นสมาชิกของกลุ่มผู้ดูแลระบบจะได้รับโทเค็นการรักษาความปลอดภัยสองโทเค็น: โทเค็นสิทธิ์ต่ำและโทเค็นสิทธิ์ระดับสิทธิ์ โทเค็นสิทธิ์ระดับสูงจะถูกใช้เฉพาะเมื่อแอปพลิเคชันทำงานภายใต้บัญชีผู้ดูแลระบบโดยใช้ตัวเลือกเรียกใช้ในฐานะผู้ดูแลระบบ ตามค่าเริ่มต้นแล้ว SSIS จะใช้โทเค็นสิทธิ์ต่ำเสมอและจะทำให้เกิดความล้มเหลวเมื่อ SSIS เชื่อมต่อกับคอมโพเนนต์ปลายทางของ SQL Serverหมายเหตุ เมื่อคุณใช้บัญชีผู้ใช้ที่ไม่ใช่สมาชิกของกลุ่มผู้ดูแลระบบภายใน UAC จะไม่ปรากฏขึ้น
การแก้ไข
ข้อมูล service pack สำหรับ SQL Server ๒๐๐๘ R2
เมื่อต้องการแก้ไขปัญหานี้ให้ขอรับ service pack ล่าสุดสำหรับ SQL Server ๒๐๐๘ R2 สำหรับข้อมูลเพิ่มเติมให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๕๒๗๐๔๑ วิธีการขอรับ service pack ล่าสุดสำหรับ SQL Server ๒๐๐๘ R2
สถานะ
ไมโครซอฟท์ได้รับการยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งแสดงอยู่ในส่วน "นำไปใช้กับ" ปัญหานี้ได้รับการแก้ไขแล้วใน SQL Server ๒๐๐๘ R2 Service Pack 1 สำหรับ SQL Server ๒๐๐๘ R2 ครั้งแรก
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหานี้ให้ใช้วิธีการใดวิธีการหนึ่งต่อไปนี้:
-
ถ้าคุณกำลังเรียกใช้แพคเกจจาก SSMS จาก BIDS หรือจาก DTExecUI ให้เริ่มเครื่องมือเหล่านั้นจากบัญชีผู้ใช้ของผู้ดูแลระบบ เมื่อต้องการทำเช่นนี้ให้คลิกเริ่มชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่Sql server ๒๐๐๕หรือsql server ๒๐๐๘แล้วคลิกขวาที่เครื่องมือที่คุณกำลังใช้แล้วคลิกเรียกใช้ในฐานะผู้ดูแลระบบ ซึ่งจะเป็นการเริ่มต้นแอปพลิเคชันโดยใช้สิทธิ์ระดับผู้ดูแลของบัญชีผู้ดูแลที่มีอยู่แล้วภายในและการดำเนินการกับแพคเกจเสร็จเรียบร้อยแล้ว ในทำนองเดียวกันถ้าคุณกำลังเรียกใช้แพคเกจโดยใช้ DTExec ให้เริ่มต้นจากพร้อมท์คำสั่งยกระดับ เมื่อต้องการทำเช่นนี้ให้คลิกเริ่มคลิกโปรแกรมทั้งหมดคลิกเบ็ดเตล็ดคลิกขวาที่พร้อมท์คำสั่งแล้วคลิกเรียกใช้ในฐานะผู้ดูแลระบบหมายเหตุ ถ้าคุณไม่ได้เข้าสู่ระบบคอมพิวเตอร์ในฐานะผู้ดูแลระบบคุณจะได้รับพร้อมท์ให้ใส่บัญชีผู้ใช้ของผู้ดูแลระบบ ในการตอบสนองให้พิมพ์ชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบในกล่องโต้ตอบการควบคุมบัญชีผู้ใช้จากนั้นคลิกตกลง
-
แทนที่คอมโพเนนต์ปลายทางของ SQL Server ในงาน Dataflow ที่ล้มเหลวด้วยคอมโพเนนต์ปลายทางของ OLE DB ที่ชี้ไปยังตัวจัดการการเชื่อมต่อ SQL Server เดียวกัน
-
ใช้บัญชีผู้ใช้ที่ไม่ใช่สมาชิกของกลุ่มผู้ดูแลระบบภายในหลังจากที่คุณกำหนดสิทธิ์ในการ สร้างวัตถุส่วนกลาง ไปยังบัญชีผู้ใช้นั้น โดยทำตามขั้นตอนต่อไปนี้:
-
คลิก เริ่มแล้วชี้ไปที่ เครื่องมือการดูแลจากนั้นคลิก นโยบายความปลอดภัยภายในเครื่อง
-
ขยายนโยบายภายในเครื่องแล้วคลิกการกำหนดสิทธิ์ของผู้ใช้
-
ในบานหน้าต่างรายละเอียดให้ดับเบิลคลิกที่สร้างวัตถุส่วนกลาง
-
ในกล่องโต้ตอบการตั้งค่านโยบายความปลอดภัยภายในเครื่องให้คลิกเพิ่ม
-
ในกล่องโต้ตอบ เลือกผู้ใช้หรือกลุ่ม ให้คลิกบัญชีผู้ใช้ที่คุณต้องการเพิ่มแล้วคลิก เพิ่มจากนั้นคลิก ตกลง สองครั้ง
-