ฉันได้เห็นวัสดุจำนวนมากครอบคลุมด้านธุรกิจของ SSAS แต่ไม่มากเกี่ยวกับประเด็นสำคัญของการบริหารและการจัดการ
จากมุมมองของการดูแลอินสแตนซ์ของ SQL Server Analysis Services DBA ที่ทำงานต้องรู้อะไรเกี่ยวกับ SSAS เพื่อจัดการอย่างถูกต้องและมีประสิทธิภาพ
ฉันได้เห็นวัสดุจำนวนมากครอบคลุมด้านธุรกิจของ SSAS แต่ไม่มากเกี่ยวกับประเด็นสำคัญของการบริหารและการจัดการ
จากมุมมองของการดูแลอินสแตนซ์ของ SQL Server Analysis Services DBA ที่ทำงานต้องรู้อะไรเกี่ยวกับ SSAS เพื่อจัดการอย่างถูกต้องและมีประสิทธิภาพ
คำตอบ:
ดังนั้นคุณเป็น SQL Server DBA และคุณเพิ่งสืบทอดคิวบ์บางส่วนจากสีน้ำเงินเพื่อจัดการ หลักสูตรความผิดพลาดอย่างรวดเร็วเกี่ยวกับการบริหาร SSAS น่าจะเป็นไปตามลำดับ
จากมุมมองของผู้ดูแลระบบ SSAS นั้นค่อนข้างตรงไปตรงมาหากแอปพลิเคชันหิวทรัพยากร มันง่ายกว่าแพลตฟอร์ม DBMS แม้ว่าจะแตกต่างกันในหลาย ๆ ทาง นอกจากนี้ยังมีงานการจัดการบางอย่างเช่นการเพิ่มประสิทธิภาพตามการใช้งานเฉพาะสำหรับ SSAS ที่คุณอาจต้องรับมือ
สำรองไฟล์การกำหนดค่าของคุณ
ทุกชีวิต config msdmsrv.ini
ข้อมูลในไฟล์ที่เรียกว่า มันเป็นไฟล์ XML หากคุณคนจรจัดด้วยการกำหนดค่าผ่าน SSMS (เชื่อมต่อกับเซิร์ฟเวอร์คลิกขวาบนเซิร์ฟเวอร์เลือกคุณสมบัติ) คุณสามารถตั้งค่าตัวเลือกที่จะทำลายเซิร์ฟเวอร์เมื่อเริ่มต้นขึ้น คัดลอกmsmdsrv.ini
ก่อนที่คุณจะเล่นกับอะไร
พารามิเตอร์ที่สำคัญ
หน่วยความจำ: SSAS เป็นหมูหน่วยความจำในพระคัมภีร์ไบเบิล มันชอบ 64 บิตที่สร้างถ้าเป็นไปได้และหน่วยความจำมากมาย นโยบายการใช้งานหน่วยความจำของพารามิเตอร์'Memory \ LowMemoryLimit' และ 'Memory \ HighMemoryLimit' LowMemoryLimit ไม่ใช่การจัดสรรหน่วยความจำขั้นต่ำ เป็นเกณฑ์ที่ SSAS พิจารณาว่าระบบมีหน่วยความจำเหลือน้อยและเริ่มล้างข้อมูลออกจากแคช HighMemoryLimit เป็นจำนวนสูงสุดที่จะใช้
โปรดทราบว่า SSAS เก็บข้อมูลไว้ในไฟล์ (ไฟล์จำนวนมาก - มันไม่มีกลไกใดเทียบเท่ากับกลุ่มไฟล์) ดังนั้นจึงใช้ประโยชน์จากการแคชระบบไฟล์ O / S เป็นจำนวนมากสำหรับไฟล์เหล่านั้น โปรดทราบว่าค่าเริ่มต้นสำหรับขีด จำกัด เหล่านี้คือประมาณ 65% และ 80% ของหน่วยความจำของเครื่องตามลำดับดังนั้นหากคุณต้องการให้เซิร์ฟเวอร์ OLAP อยู่ร่วมกับอินสแตนซ์ของ SQL Server คุณจะต้องปิดการใช้งานเพื่อไม่ให้ต่อสู้กับหน่วยความจำ เซิร์ฟเวอร์ฐานข้อมูล
ไดเรกทอรี: ห้าพารามิเตอร์ที่น่าสนใจครอบคลุม: DataDir, AllowedBrowsingFolders, BackupDir, LogDir และ TempDir DataDir และ AllowedBrowsingFolders เป็นสิ่งสำคัญที่สุด
AllowedBrowsingFoldersส่งผลกระทบต่อรายการโฟลเดอร์ที่เซิร์ฟเวอร์ OLAP จะใส่ไฟล์ข้อมูลไว้สิ่งใดก็ตามที่มีส่วนต่อประสานผู้ใช้ (เช่นตัวช่วยสร้างการปรับใช้) จะ จำกัด ตัวเลือกของคุณไว้ในรายการใน AllowedBrowsingFolders ค่านี้เป็นรายการไดเรกทอรีที่คั่นด้วยไปป์ ('|')
DataDirเป็นพา ธ เริ่มต้นสำหรับไฟล์ หากคุณตั้งใจที่จะแบ่งพาร์ทิชันคิวบ์มากกว่าหลายวอลุ่มคุณจะต้องกำหนดค่า AllowedBrowsingFolders อย่างเหมาะสม
LogDirเป็นที่ที่เซิร์ฟเวอร์วางไฟล์บันทึกต่าง ๆ รวมถึงเครื่องบันทึกการบินและบันทึกการสืบค้น บันทึกเครื่องบันทึกการบินใช้สำหรับการแก้ไขปัญหาและบันทึกการสืบค้น OLAP ใช้สำหรับการปรับให้เหมาะสมตามการใช้งาน (เพิ่มเติมในภายหลัง)
TempDirเป็นตำแหน่งสำหรับไฟล์ชั่วคราวที่ SSAS สร้างขึ้นในขณะประมวลผล หากคุณกำลังประมวลผลปริมาณข้อมูลขนาดใหญ่และมีปัญหาด้านประสิทธิภาพคุณอาจได้รับประโยชน์จากการเปลี่ยนแปลงนี้ไปสู่ปริมาณอื่นจากข้อมูล
BackupDirคือสิ่งที่มันบอกบนกระป๋อง
เบ็ดเตล็ด: พารามิเตอร์เบ็ดเตล็ดเล็กน้อยอาจเป็นที่สนใจเช่นกัน สองชุดที่คุณอาจต้องปรับแต่งคือ:
DefaultMaxDrillthroughRows:นี่เป็นการ จำกัด ขนาดของชุดข้อมูลการเจาะลึกแถว คุณอาจต้องทำเช่นนี้เพื่อให้มากขึ้น
เธรด / หมดเวลา:คุณอาจต้องปรับเปลี่ยนสิ่งเหล่านี้ ฉันไม่เคยรำคาญ
นั่นคือพื้นฐาน คุณอาจต้องปรับแต่งคนอื่นด้วยเหตุผลเฉพาะ แต่คุณสามารถทำการบ้านได้
คู่มืออ้างอิงสำหรับคุณสมบัติเซิร์ฟเวอร์ SSAS สามารถดูได้ที่นี่
การดำเนินงาน
การปรับใช้: คุณสามารถรวบรวมโครงการใน BIDS และรับชุดของไฟล์ที่สามารถปรับใช้ด้วยตัวช่วยสร้างการปรับใช้ คุณอาจต้องปรับพา ธ ไฟล์สำหรับพาร์ติชั่นและสิ่งอื่น ๆ
งานของผู้ดูแลระบบที่ตั้งโปรแกรมและแบทช์:คำสั่งถูกส่งไปยัง SSAS ผ่านเว็บเซอร์วิส API ที่เรียกว่า XML / A Microsoft จัดเตรียมเครื่องมือแบบโต้ตอบสำหรับการออกคำสั่ง MDX และ XML / A หากคุณมีการฝัง MDX ในคำสั่ง XML / A, ระวังจำเป็นที่จะต้องใช้ XML &
หนีเช่น นี่ไม่ใช่ปัญหาของเครื่องมือแก้ไขและแบบสอบถาม MDX ใน SSMS
งานออฟไลน์สามารถทำได้ผ่านงานการประมวลผลคิวบ์ SSIS ต่างๆยูทิลิตี้บรรทัดคำสั่งที่เรียกว่าascmd.exe
หรือ. Net API ชื่อ AMO นอกจากนี้คุณยังสามารถรับเครื่องมือเสริมความสามารถต่างๆได้เช่นกัน ascmd.exe
นำไฟล์ XML / A และโพสต์ไปยังเซิร์ฟเวอร์ หากคุณต้อง frig ไฟล์โดยทางโปรแกรมคุณอาจทำงานได้ดีกว่าด้วยเครื่องมือ. net ขนาดเล็กแทนที่จะพยายามจัดการไฟล์ XML จากสคริปต์. cmd
คู่มือการดำเนินงานไปสู่การนี้ในรายละเอียดมากขึ้น
ความปลอดภัย
ความปลอดภัยบน SSAS นั้นค่อนข้างง่าย มีบทบาท 'เซิร์ฟเวอร์' ทั่วโลกที่มีสิทธิ์ระดับผู้ดูแลระบบทั้งระบบ น่าเสียดายที่คุณต้องมี 'เซิร์ฟเวอร์' เพื่อสร้างฐานข้อมูลดังนั้นจึงมีความเป็นไปได้ค่อนข้างมากที่คุณจะต้องให้สิทธิ์แก่นักพัฒนาในการพัฒนาเซิร์ฟเวอร์ OLAP ที่คุณมี
การรักษาความปลอดภัยอื่นสามารถใช้ได้กับคิวบ์คิวบ์แต่ละตัวเท่านั้น คุณสามารถให้สิทธิ์ในการอ่านประมวลผลการฝึกซ้อมการเขียนกลับและสิ่งที่คล้ายกันในแต่ละไอเท็มกับบทบาทภายในสคีมา บทบาทบน OLAP schemas สามารถกำหนดได้ภายใน BIDS และปรับใช้กับคิวบ์ กลุ่มโฆษณาหรือผู้ใช้สามารถกำหนดให้กับบทบาทเหล่านั้นผ่าน SSMS
ตัวอย่างของวิธีการจัดการความเป็นสมาชิกของบทบาททางโปรแกรมสามารถดูได้ที่นี่
การเพิ่มประสิทธิภาพตามการใช้งาน
ในฐานะ DBA คุณอาจมีส่วนร่วมในเรื่องนี้ได้เป็นอย่างดี แต่ก่อนอื่นคุณควรรู้พื้นฐานเกี่ยวกับการจัดเก็บข้อมูลจริง SSAS ทำงานโดยการคำนวณและสร้างมวลรวมที่สร้างไว้ล่วงหน้าพร้อมกับข้อมูลพื้นฐาน หากแบบสอบถามสามารถตอบสนองได้โดยการกดปุ่มการรวมเซิร์ฟเวอร์ OLAP จะใช้สิ่งนี้ในการตั้งค่าข้อมูลพื้นฐานเนื่องจากการรวมจะเกี่ยวข้องกับ I / O น้อยกว่ามากดังนั้นจึงเป็นการดึงข้อมูลได้เร็วขึ้น
อย่างไรก็ตามคุณต้องคำนวณหาผลรวมของการคำนวณ (เช่นการรวมกันของคุณลักษณะส่วนข้อมูลเพื่อสร้าง rollups สำหรับ) การประมูลมีเครื่องมือที่จะคาดเดาสิ่งนี้และสร้างบางอย่างให้คุณ เครื่องมือบางอย่างเช่นตัวช่วย BIDSจะช่วยให้คุณสามารถแก้ไขการรวมได้ด้วยตนเอง
การปรับให้เหมาะสมตามการใช้งานทำงานโดยการบันทึกของแบบสอบถามที่เกิดขึ้นจริงที่ออกให้กับเซิร์ฟเวอร์แล้วใช้บันทึกนั้นเพื่อกำหนดชุดของการรวมที่จะดีที่สุดสำหรับแบบสอบถามเหล่านั้น ในฐานะ DBA คุณอาจตั้งค่าการบันทึกแบบสอบถาม OLAP เพื่อจับข้อมูลนี้แล้วเรียกใช้การปรับให้เหมาะสมบนคิวบ์ คุณสามารถดูประกาศเกี่ยวกับการตั้งค่าบันทึกแบบสอบถามได้ที่นี่
เครื่องมือในการทำเช่นนี้เรียกว่า'ตัวช่วยสร้างการเพิ่มประสิทธิภาพการใช้งาน' สิ่งนี้อาศัยอยู่ใน SSMS และสามารถพบได้โดยการเปิดพาร์ทิชันในตัวสำรวจและเลือก 'การเพิ่มประสิทธิภาพการใช้งาน' จากเมนูคลิกขวา
คู่มือการปฏิบัติงานที่จะเข้าสู่การปรับแต่งในรายละเอียดเพิ่มเติม
MDX
MDXดูเหมือน SQL แต่ทำงานแตกต่างกันมาก บทความเกี่ยวกับ 'MDX สำหรับ SQL โปรแกรมเมอร์' เป็นหัวข้อทั้งหมดในสิทธิของตนเอง ฉันขอแนะนำให้อ่านบทเรียนบางอย่างเกี่ยวกับเรื่องนี้และ / หรือรับหนังสือเกี่ยวกับเรื่องนี้ นอกจากนี้ผู้คนที่เป็นมิตรที่ dba.se สามารถช่วยตอบคำถามหากคุณมีคำถาม
MDX ไม่มีแนวคิดใด ๆ ในการกรองแถว ภาษามีชุดการทำงานจำนวนมากเพื่อหาว่าจะแสดงผลอย่างไรในแกนต่าง ๆ ของเคียวรี1บวกกับ 'เลือก' คุณสามารถใช้with
ข้อความที่มีลักษณะคล้าย CTE เพื่อกำหนดมาตรการและชุด
ทรัพยากรการเขียนโปรแกรม MDX เบื้องต้นสามารถพบได้ที่นี่และที่นี่ (อันนี้ค่อนข้างเก่าและยืดยาวมาก) นอกจากนี้ยังมีหนังสือดี ๆ เกี่ยวกับเรื่องนี้; คำถาม SO นี้มีการเผยแพร่ไปยังทรัพยากร SSAS ค่อนข้างน้อย
1แม้ว่ามันจะมีโอเปอเรเตอร์ที่ไม่ว่างเปล่าซึ่งจะ จำกัด ผลลัพธ์เป็นชุดค่าผสมที่มีข้อมูลจริง แบบสอบถาม MDX ส่วนใหญ่ประกอบด้วยการกำหนดว่าส่วนใดที่จะแสดงบนแกนและผู้ประกอบการที่ไม่ว่างจะมีความจำเป็นเพื่อหลีกเลี่ยงการค้นหาที่ส่งคืนปริมาณเซลล์ว่างเปล่าในระดับ combinatoric
คุณอาจได้รับบางส่วนของคำตอบเกี่ยวกับการบริหาร SSAS จากนี้กระดาษสีขาวยาวSQL Server 2008 R2 Analysis Services คู่มือการดำเนินงาน นี่คือวิธีที่การแนะนำเริ่มต้น:
ในคู่มือนี้คุณจะพบข้อมูลเกี่ยวกับวิธีทดสอบและเรียกใช้ Microsoft SQL Server Analysis Services ใน SQL Server 2005, SQL Server 2008 และ SQL Server 2008 R2 ในสภาพแวดล้อมการผลิต จุดเน้นของคู่มือนี้คือวิธีที่คุณสามารถทดสอบตรวจสอบวินิจฉัยและลบปัญหาการผลิตในก้อนที่ใหญ่ที่สุดได้ บทความนี้ยังให้คำแนะนำเกี่ยวกับวิธีการกำหนดค่าเซิร์ฟเวอร์เพื่อประสิทธิภาพที่ดีที่สุด
เห็นได้ชัดว่ามีการกำหนดเป้าหมายเป็น DBA / ผู้ดูแลระบบ หากคุณพัฒนาแอพพลิเคชั่นโดยใช้ SSAS คุณสามารถดูเอกสารคู่มือประสิทธิภาพของ Analysis Services 2008