DBA phải biết gì về SSAS?


40

Tôi đã thấy rất nhiều tài liệu bao gồm khía cạnh kinh doanh của SSAS, nhưng không thực sự nhiều về các khía cạnh quan trọng của quản trị và quản lý.

Từ quan điểm quản trị một phiên bản của Dịch vụ phân tích máy chủ SQL, một DBA đang làm việc phải biết gì về SSAS để quản lý nó một cách chính xác và hiệu quả?

Câu trả lời:


50

Tổng quan nhanh về SSAS cho các DBA

Vì vậy, bạn là một DBA của SQL Server và bạn vừa thừa hưởng một số hình khối ngoài màu xanh để quản lý. Một khóa học nhanh chóng về quản trị SSAS dường như được theo thứ tự.

Từ quan điểm hành chính, SSAS là một ứng dụng khá đơn giản, nếu thiếu tài nguyên. Nó đơn giản hơn nền tảng DBMS, mặc dù khác nhau theo nhiều cách. Ngoài ra, có một vài nhiệm vụ quản trị như tối ưu hóa dựa trên việc sử dụng cụ thể đối với SSAS mà bạn có thể phải thực hiện.

Sao lưu tập tin cấu hình của bạn

Tất cả dữ liệu cấu hình sống trong một tập tin được gọi là msdmsrv.ini. Đó là một tệp XML. Nếu bạn sửa đổi cấu hình thông qua SSMS (Kết nối với máy chủ, nhấp chuột phải vào máy chủ, chọn thuộc tính), bạn có thể đặt các tùy chọn sẽ phá vỡ máy chủ khi khởi động. Lấy một bản sao msmdsrv.initrước khi bạn chơi với bất cứ điều gì.

Thông số quan trọng

Bộ nhớ: SSAS là một con heo nhớ trong Kinh thánh. Nó thích bản dựng 64 bit nếu có thể và nhiều bộ nhớ. Các tham số chính sách sử dụng bộ nhớ điều khiển 'Bộ nhớ \ LowMemoryLimit' và 'Bộ nhớ \ HighMemoryLimit' . LowMemoryLimit không phải là cấp phát bộ nhớ tối thiểu. Đó là một ngưỡng mà SSAS coi hệ thống là bộ nhớ thấp và bắt đầu loại bỏ mọi thứ khỏi bộ nhớ cache của nó. HighMemoryLimit là mức tối đa tuyệt đối mà nó sẽ sử dụng.

Lưu ý rằng SSAS lưu trữ dữ liệu của nó trong các tệp (rất nhiều tệp - nó không có bất kỳ cơ chế nào tương đương với các nhóm tệp), do đó, nó sử dụng rất nhiều bộ đệm hệ thống tệp O / S cho các tệp đó. Lưu ý rằng mặc định cho các giới hạn này lần lượt là khoảng 65% và 80% bộ nhớ của máy, vì vậy nếu bạn muốn máy chủ OLAP cùng tồn tại với một phiên bản SQL Server, bạn sẽ cần phải tắt chúng để không chiến đấu với bộ nhớ máy chủ cơ sở dữ liệu.

Các thư mục: Năm tham số quan tâm bao gồm: DataDir, allowBrowsingFolders, BackupDir, LogDir và TempDir. DataDir và allowBrowsingFolders là quan trọng nhất.

  • AllowBrowsingFolders ảnh hưởng đến danh sách các thư mục mà máy chủ OLAP sẽ đưa các tệp dữ liệu của nó vào. Mọi thứ có giao diện người dùng (ví dụ: trình hướng dẫn triển khai) sẽ giới hạn các tùy chọn của bạn trong danh sách trong allowBrowsingFolders. Giá trị là một danh sách các thư mục được phân định bằng đường ống ('|').

  • DataDir là đường dẫn mặc định cho các tệp. Nếu bạn có ý định phân vùng khối trên nhiều khối lượng, bạn sẽ cần phải định cấu hình cho phépBạn phân bổ thích hợp.

  • LogDir là nơi máy chủ đặt các tệp nhật ký khác nhau bao gồm ghi lại chuyến bay và nhật ký truy vấn. Nhật ký ghi lại chuyến bay được sử dụng để khắc phục sự cố và nhật ký truy vấn OLAP được sử dụng để tối ưu hóa dựa trên việc sử dụng (sẽ nói thêm về điều này sau).

  • TempDir là một vị trí cho các tệp tạm thời mà SSAS tạo trong khi xử lý. Nếu bạn đang xử lý khối lượng dữ liệu lớn và gặp sự cố về hiệu suất, bạn có thể được lợi từ việc chuyển đổi điều này sang khối lượng khác từ dữ liệu.

  • BackupDir là những gì nó nói trên tin.

Linh tinh: Một vài thông số linh tinh cũng có thể được quan tâm. Một vài bộ mà bạn có thể phải điều chỉnh là:

  • DefaultMaxDrillENCRows: Điều này giới hạn kích thước của các tập hợp hàng khoan. Bạn có thể cần phải mân mê điều này để cho phép nhiều hơn.

  • Chủ đề / Thời gian chờ: Bạn có thể cần phải điều chỉnh những điều này. Tôi chưa bao giờ phải bận tâm.

Đó là những điều cơ bản. Bạn có thể cần phải điều chỉnh những người khác vì lý do cụ thể, nhưng bạn có thể làm bài tập về nhà của bạn về điều đó.

Hướng dẫn tham khảo cho các thuộc tính máy chủ SSAS có thể được tìm thấy ở đây.

Hoạt động

Triển khai: Bạn có thể biên dịch một dự án trong BIDS và nhận một tập hợp các tệp có thể được triển khai với trình hướng dẫn triển khai. Bạn có thể cần điều chỉnh đường dẫn tệp cho phân vùng và một vài thứ khác.

Các tác vụ quản trị được lập trình và theo đợt: Các lệnh được cấp cho SSAS thông qua API dịch vụ web có tên là XML / A. Microsoft cung cấp một công cụ tương tác để phát hành các liên kết MDX và XML / A. Nếu bạn phải nhúng MDX vào lệnh XML / A, hãy coi chừng nhu cầu sử dụng các lối thoát XML như &. Đây không phải là vấn đề với trình soạn thảo và công cụ truy vấn MDX trong SSMS.

Các công việc ngoại tuyến có thể được thực hiện thông qua các tác vụ xử lý khối SSIS khác nhau, tiện ích dòng lệnh được gọi ascmd.exehoặc API .Net được gọi là AMO. Bạn cũng có thể nhận được các công cụ quyền hạn khác nhau và như vậy. ascmd.exelấy một tệp XML / A và gửi nó đến máy chủ. Nếu bạn phải chỉnh sửa tệp theo lập trình, bạn có thể làm việc tốt hơn với các công cụ .Net thay vì cố gắng thao tác các tệp XML từ tập lệnh .cmd.

Các hướng dẫn hoạt động đi vào điều này một cách chi tiết hơn.

Bảo vệ

Bảo mật trên SSAS khá đơn giản. Nó có vai trò 'Máy chủ' toàn cầu có quyền quản trị trên toàn hệ thống. Thật không may, bạn cần 'Máy chủ' để tạo cơ sở dữ liệu, do đó, rất có thể bạn sẽ cần cấp nó cho nhà phát triển trên bất kỳ máy chủ OLAP phát triển nào bạn có.

Bảo mật khác chỉ có thể được áp dụng cho các lược đồ khối riêng lẻ. Bạn có thể cấp quyền để đọc, xử lý, truy sâu, viết lại và tương tự trên các mục riêng lẻ cho các vai trò trong một lược đồ. Các vai trò trên các lược đồ OLAP có thể được xác định trong BIDS và được triển khai với khối. Các nhóm hoặc người dùng AD có thể được gán cho các vai trò đó thông qua SSMS.

Một ví dụ về cách quản lý vai trò thành viên có thể được lập trình ở đây.

Tối ưu hóa dựa trên việc sử dụng

Là một DBA, bạn có thể tham gia vào cái này, nhưng trước tiên hãy tìm hiểu thêm về bộ lưu trữ vật lý. SSAS hoạt động bằng cách tính toán và duy trì các tổng hợp được xây dựng trước cùng với dữ liệu cơ sở. Nếu một truy vấn có thể được thỏa mãn bằng cách nhấn vào một tổng hợp, máy chủ OLAP sẽ sử dụng tùy chọn này cho dữ liệu cơ sở, vì tổng hợp sẽ liên quan đến I / O ít hơn nhiều và do đó sẽ nhanh hơn để lấy dữ liệu.

Tuy nhiên, bạn phải tính toán tổng hợp nào để tính toán (nghĩa là kết hợp các thuộc tính thứ nguyên nào để tạo ra các cuộn cho). BIDS có một công cụ sẽ đoán điều này và tạo ra một số cho bạn. Một số công cụ, chẳng hạn như trình trợ giúp BIDS cũng sẽ cho phép bạn chỉnh sửa các tập hợp theo cách thủ công.

Tối ưu hóa dựa trên việc sử dụng hoạt động bằng cách lấy nhật ký của các truy vấn thực tế được cấp cho máy chủ, sau đó sử dụng nhật ký đó để tìm ra một tập hợp tổng hợp sẽ tối ưu cho các truy vấn đó. Là một DBA, bạn có thể thiết lập ghi nhật ký truy vấn OLAP để thu thập dữ liệu này và sau đó chạy tối ưu hóa trên khối. Một lời giới thiệu về việc thiết lập nhật ký truy vấn có thể được tìm thấy ở đây.

Công cụ để thực hiện việc này được gọi là 'Trình hướng dẫn tối ưu hóa dựa trên việc sử dụng.' Điều này tồn tại trong SSMS và có thể được tìm thấy bằng cách mở phân vùng trong trình thám hiểm và chọn 'Tối ưu hóa dựa trên sử dụng' khỏi menu chuột phải.

Các hướng dẫn thực hiện đi vào điều chỉnh một cách chi tiết hơn.

MDX

MDX trông hơi giống SQL nhưng hoạt động rất khác nhau. Một chuyên luận về 'MDX cho các lập trình viên SQL' là toàn bộ chủ đề theo đúng nghĩa của nó. Tôi đề nghị đọc qua một số hướng dẫn về nó và / hoặc nhận một cuốn sách về nó. Ngoài ra, những người thân thiện ở đây tại dba.se có thể giúp đỡ với câu hỏi nếu bạn có bất kỳ câu hỏi nào.

MDX không có bất kỳ khái niệm nào về các hàng lọc. Ngôn ngữ có rất nhiều thao tác được thiết lập để tìm ra những gì sẽ hiển thị trên các trục khác nhau của truy vấn 1 , cộng với 'CHỌN'. Bạn có thể sử dụng các withcâu lệnh trông hơi giống CTE để xác định các biện pháp và tập hợp.

Một số tài nguyên lập trình MDX giới thiệu có thể được tìm thấy ở đâyđây (tài liệu này khá cũ và rất dài). Ngoài ra còn có một vài cuốn sách hay về chủ đề này; câu hỏi SO này có khá nhiều tài nguyên dành cho SSAS.

1 Mặc dù nó có các toán tử không trống, giới hạn kết quả trong các kết hợp thực sự có dữ liệu. Hầu hết các truy vấn MDX bao gồm việc xác định các lát cắt sẽ hiển thị trên các trục và các toán tử không trống sẽ là cần thiết để tránh các truy vấn trả về số lượng ô trống của tổ hợp.


5
Thông tin tuyệt vời..đặc biệt là lời khuyên "bạn có thể thiết lập các tùy chọn sẽ phá vỡ máy chủ khi khởi động".
SqlACID

Đó là một câu trả lời tuyệt vời! Cảm ơn người đàn ông!
Mary

6

Bạn có thể nhận được một số câu trả lời về quản trị SSAS từ Hướng dẫn hoạt động dịch vụ phân tích SQL Server 2008 R2 dài này . Đây là cách giới thiệu bắt đầu:

Trong hướng dẫn này, bạn sẽ tìm thấy thông tin về cách kiểm tra và chạy Dịch vụ phân tích Microsoft SQL Server trong SQL Server 2005, SQL Server 2008 và SQL Server 2008 R2 trong môi trường sản xuất. Trọng tâm của hướng dẫn này là cách bạn có thể kiểm tra, theo dõi, chẩn đoán và loại bỏ các vấn đề sản xuất trên các khối có tỷ lệ lớn nhất. Bài viết này cũng cung cấp hướng dẫn về cách định cấu hình máy chủ để có hiệu suất tốt nhất có thể.

Rõ ràng nó được nhắm mục tiêu đến DBA / quản trị viên. Nếu bạn cũng phát triển các ứng dụng bằng SSAS, bạn cũng có thể xem Bảng trắng Hướng dẫn Hiệu suất Phân tích 2008


Cảm ơn bạn, DaniQuery. Tôi cũng đã tìm thấy bài báo này và có lẽ tôi đã từng đề cập đến nó trong câu hỏi (xin lỗi!), Nhưng tôi đang tìm kiếm một giới thiệu nhẹ nhàng hơn về chủ đề này, và ý kiến ​​được xây dựng dựa trên kinh nghiệm của các DBA đồng nghiệp của chúng tôi ở đây.
ivanmp

2
Tôi không thể nói từ kinh nghiệm vì tôi không trực tiếp làm việc trên SSAS :-( Tôi chỉ cố gắng làm quen bằng cách xem qua một số phần của tờ giấy trắng mà tôi đã đề cập ở trên và tôi cũng đã thực hiện một khóa đào tạo hai ngày từ các tác phẩm của Pragmatic vài tháng trở lại và đọc cuốn sách amzn.to/za1ypP . tác giả bởi các giảng viên cũng giới thiệu rất cơ bản có thể được tìm thấy trên chương 17 của cuốn sách này - Bắt đầu, Microsoft® SQL Server ® 2008 Administration ( amzn.to/xnKAWw )
DaniSQL
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.