KB2430162-FIX: "นิพจน์ประกอบด้วยฟังก์ชันที่ไม่สามารถดำเนินการกับชุดที่มีมากกว่า๔,๒๙๔,๙๖๗,๒๙๖ tuples" ข้อความแสดงข้อผิดพลาดที่เกิดขึ้นเมื่อคุณพยายามเรียกใช้คิวรี MDX ใน SSAS ๒๐๐๘หรือ SSAS ๒๐๐๘ R2


Microsoft เผยแพร่ Microsoft SQL Server ๒๐๐๘ Service Pack 1 (SP1) หรือ SQL Server ๒๐๐๘ R2 แก้ไขเป็นไฟล์ที่สามารถดาวน์โหลดได้หนึ่งไฟล์ เนื่องจากการแก้ไขจะสะสมแต่ละรุ่นใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๐๘ก่อนหน้านี้ Service Pack 1 (SP1) หรือ SQL Server ๒๐๐๘ R2 เวอร์ชันแก้ไข

อาการ


พิจารณาสถานการณ์ต่อไปนี้:
  • คุณมีแบบสอบถามนิพจน์หลายมิติ (MDX) ที่ตรงกับเงื่อนไขต่อไปนี้ใน Microsoft SQL Server ๒๐๐๘ Analysis Services (SSAS) ๒๐๐๘หรือใน Microsoft SQL Server ๒๐๐๘ R2 Analysis Services (SSAS) ๒๐๐๘ R2:
    • คิวรีจะใช้ฟังก์ชัน CROSSJOIN
    • นิพจน์ของคิวรีมีชุดอาร์กิวเมนต์มากกว่าสองชุดที่ประกอบด้วย tuples จากลำดับชั้นแอตทริบิวต์ที่แตกต่างกันในมิติเดียวกัน
    • ชุดเหล่านี้จะถูกคั่นด้วยชุดอื่นที่ประกอบด้วย tuples จากมิติอื่น
    • ชุดผลลัพธ์ทางทฤษฎีสำหรับฟังก์ชัน CROSSJOIN มักจะเป็นมากกว่า๔,๒๙๔,๙๖๗,๒๙๖ tuples ตัวอย่างเช่นคุณมีคิวรี MDX ที่มีสิ่งต่อไปนี้:
      WITH SET S AS CROSSJOIN([Product].[Large Photo].[Large Photo], [Customer].[Customer].[Customer], [Product].[Product].[Product])SELECT {} ON 0,S.ITEM(1) ON 1FROM [Adventureworks]
  • คุณพยายามเรียกใช้คิวรี
ในสถานการณ์สมมตินี้คิวรีไม่ทำงาน นอกจากนี้คุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
นิพจน์มีฟังก์ชันที่ไม่สามารถดำเนินการกับชุดที่มีมากกว่า๔,๒๙๔,๙๖๗,๒๙๖ tuples
หมายเหตุ แบบสอบถาม MDX ชนิดนี้อาจถูกสร้างโดยอัตโนมัติโดยตาราง Pivot ของ Excel

การแก้ไข


ข้อมูลโปรแกรมอัปเดตสะสม

SQL Server ๒๐๐๘ SP1

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน11การอัปเดตที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ Service Pack 1 (SP1) ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๔๑๓๗๓๘ แพคเกจโปรแกรมปรับปรุงที่สะสม11สำหรับ SQL Server ๒๐๐๘ Service Pack 1
หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในเวอร์ชันก่อนหน้าของ SQL Server ๒๐๐๘ Service Pack 1 (SP1) เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๙๗๐๓๖๕ SQL Server ๒๐๐๘รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ Service Pack 1 ได้รับการเผยแพร่แล้ว

SQL Server 2008 R2

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน5การอัปเดตที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ R2 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๔๓๘๓๔๗ แพคเกจโปรแกรมปรับปรุงที่สะสม5สำหรับ SQL Server ๒๐๐๘ R2
หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไขรุ่นก่อนหน้าของ SQL Server ๒๐๐๘ R2 เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๙๘๑๓๕๖ รุ่นของ SQL Server ๒๐๐๘ R2 รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ R2 ถูกเผยแพร่

SQL Server ๒๐๐๘ Service Pack 2

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน2การปรับปรุงที่สะสมสำหรับ SQL Server ๒๐๐๘ Service Pack 2 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๔๖๗๒๓๙ แพคเกจโปรแกรมปรับปรุงที่สะสม2สำหรับ SQL Server ๒๐๐๘ Service Pack 2
หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๐๘รุ่นก่อนหน้านี้ Microsoft ขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๒๔๐๒๖๕๙ SQL Server ๒๐๐๘รุ่นที่เผยแพร่หลังจาก SQL Server ๒๐๐๘ Service Pack 2 ถูกเผยแพร่แล้ว
โปรแกรมแก้ไขด่วนของ Microsoft SQL Server ๒๐๐๘จะถูกสร้างขึ้นสำหรับ SQL Server service pack ที่เฉพาะเจาะจง คุณต้องนำโปรแกรมแก้ไขด่วนของ SQL Server ๒๐๐๘ Service Pack 2 ไปใช้กับการติดตั้ง SQL Server ๒๐๐๘ Service Pack 2 ตามค่าเริ่มต้นโปรแกรมแก้ไขด่วนใดๆที่มีให้ใน SQL Server service pack จะรวมอยู่ใน SQL Server service pack ถัดไป

วิธีแก้ไขปัญหาชั่วคราว


เมื่อต้องการแก้ไขปัญหานี้ให้ใช้นิพจน์ที่มีแอตทริบิวต์ที่อยู่ติดกันสองแอตทริบิวต์จากขนาดเดียวกันในแบบสอบถาม ตัวอย่างเช่นคิวรี MDX มีดังต่อไปนี้:
WITH SET S AS CROSSJOIN([Product].[Large Photo].[Large Photo], [Product].[Product].[Product], [Customer].[Customer].[Customer])SELECT {} ON 0,S.ITEM(1) ON 1FROM [Adventureworks]

สถานะ


Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"