Cách đơn giản hóa việc triển khai SSAS từ môi trường DEV sang PRO


7

Đây là vấn đề của tôi: Trong công ty của tôi, có một nhóm các nhà phát triển tạo ra các hình khối, kích thước (...) trong SSAS trong môi trường DEV (hãy gọi nó là SSASDEV). Môi trường này được giới hạn trong cơ sở dữ liệu SQL Server trong DEV (hãy gọi nó là SQDEV). Công việc của tôi là triển khai công việc của họ từ môi trường DEV sang môi trường PRO. Môi trường PRO này (SSASPRO) dựa trên cơ sở dữ liệu SQL Server khác (SQPRO).

Hiện tại, tập lệnh nhóm phát triển SSAS, gửi cho tôi tập lệnh XMLA, tôi cần thay đổi mọi quy tắc bảo mật được xác định và chuỗi kết nối được chỉ định trong XMLA này (quy tắc bảo mật vì nó dựa trên các Vai trò khác nhau tùy thuộc vào môi trường và chuỗi kết nối vì của cơ sở dữ liệu SQL Server). Đây là một công việc nặng nhọc phải làm cho mỗi lần triển khai nên tôi muốn tự động hóa việc này.

Cách duy nhất tôi tìm thấy là

(1) - để kịch bản khối DEV và áp dụng XMLA trên PRO (những gì được thực hiện ngay bây giờ).

(2) - để đồng bộ hóa các hình khối (có nghĩa là, không xử lý, áp dụng lại các quy tắc bảo mật và sửa đổi chuỗi kết nối).

Tôi không thể tưởng tượng tôi là người duy nhất trong tình huống này trên toàn thế giới! Có ai có một mẹo hoặc một gợi ý cho tôi? Có cách nào đơn giản nhất tồn tại và tôi đã bỏ lỡ nó? Là tổ chức thực tập của tôi (cơ sở dữ liệu khác nhau cho từng môi trường) không hợp lý cho SSAS?

Tôi làm việc với SSAS 2008R2 và 2012

Cảm ơn rất nhiều vì câu trả lời của bạn!

Câu trả lời:


2

Tôi sẽ cho bạn biết cách chúng tôi triển khai trong các dự án SSAS của tôi giữa các môi trường khác nhau. Chúng tôi sử dụng một tập lệnh Powershell:

Phần 1:

  • lấy phiên bản cuối cùng từ máy chủ xây dựng và triển khai tệp để tạo phiên bản làm việc cuối cùng của XMLA;
  • lấy XMLA được tạo từ máy chủ xây dựng và sao chép nó vào máy chủ QA;

Phần 2:

  • Bây giờ, trên máy chủ QA, chúng tôi thay đổi thủ công tên máy chủ, tên cơ sở dữ liệu (được đặt làm tham số cho tập lệnh PS), chúng tôi xác minh rằng tất cả các tập lệnh bắt buộc đều ở đó;
  • một tập lệnh PS chạy XMLA kết quả trên máy chủ QA hiện tại, do đó cơ sở dữ liệu SSAS được tạo (mặc dù không được xử lý);
  • một tập lệnh XMLA chỉ huy toàn bộ quá trình của khối và kích thước của nó;

Tất cả các bước này được thực hiện tự động nhất có thể, với sự can thiệp càng ít từ nhà phát triển / anh chàng QA càng tốt. Chúng tôi, mặc dù, chèn một số nhãn cầu ở giữa, chỉ để giữ cho tâm trí của chúng tôi an toàn. Tôi sẽ không nói rằng đó là điều tốt nhất, nhưng nó hoạt động và hoàn thành công việc. Trước bước cuối cùng, tôi chắc chắn rằng bạn có thể chèn bất kỳ tập lệnh XMLA nào để loại bỏ các vai trò hiện có và tạo các vai trò mới. Và để thay đổi tập lệnh PS để thực thi một số tập lệnh SQL hoặc XMLA mới, không khó chút nào. Tôi cho rằng vai trò và quyền không thay đổi nhiều, vì vậy chúng có thể được viết kịch bản và sử dụng lại.

PS: đây là một môi trường với người dùng tên miền và máy chủ cố định (vì vậy chúng tôi có thể sử dụng cổ phần, tài khoản miền và tất cả những thứ đó). Nếu bạn có một môi trường khác, việc hoàn thành nó có thể khó khăn hơn.


Cảm ơn phản hồi của bạn và chia sẻ kinh nghiệm của bạn! Bây giờ chúng ta có ít nhiều "cách làm" thủ công (trừ các tập lệnh PS).
từ

1
Vậy thì, giải pháp cho vấn đề của bạn là sử dụng một số ngôn ngữ kịch bản để thực hiện nhiệm vụ của mình. Powershell không dễ học, bởi vì nó xấu như địa ngục, nhưng nó được tích hợp tốt với SQL, .NET .. và nó dễ sử dụng sau khi bạn có một tập lệnh đã hoạt động.
Mary

Vâng, tôi đã bắt đầu giải pháp này. Tuy nhiên, tôi rất ngạc nhiên khi thấy rằng không có công cụ "tích hợp" nào trong SQL Server để làm điều đó.
từ

Chà, công việc triển khai không thực sự là một phần của chính SQL Server. Có thể có các công cụ cung cấp tích hợp liên tục trong môi trường Máy chủ SQL, nhưng tôi không quen lắm với chúng.
Mary

Bất cứ ai cũng có kinh nghiệm sử dụng TFS với các dịch vụ phân tích?
sam yi

0

Đã một vài năm, nhưng tôi tin rằng đây là những gì chúng tôi đã làm việc ở vị trí cũ của tôi.

Bắt đầu với cơ sở dữ liệu AS có vai trò, nhưng không có thành viên vai trò, tạo tập lệnh để thêm thành viên và lưu chúng dưới dạng tệp XML riêng biệt. Ngoài ra, nếu có bất kỳ thành viên nào cần phải xóa, tập lệnh cũng là một tệp riêng biệt.

Khi di chuyển cơ sở dữ liệu AS sang một phiên bản mới, các tập lệnh cấp phép này được thực thi sau khi cơ sở dữ liệu chính được hoàn thành. Bạn có thể thực thi chúng bằng powershell hoặc SSIS để tiến tới tự động hóa các triển khai.

Để tự động hóa thêm điều này, bạn có thể tạo kịch bản cho từng quyền riêng lẻ và tạo một vài bảng cơ sở dữ liệu SQL có chứa mối quan hệ giữa cơ sở dữ liệu AS và quyền và vị trí tập lệnh. Sau đó, sử dụng powershell hoặc SSIS để lập trình áp dụng các quyền cho cơ sở dữ liệu AS như một phần của quy trình triển khai.

Tóm lại, các vai trò mà bạn tạo có thể tồn tại trong tất cả các môi trường của bạn (và TFS). Nó chỉ là thành viên của các vai trò cần được thay đổi giữa các môi trường, có thể được xử lý bằng các tập lệnh. Thiết lập ban đầu đòi hỏi một số đầu tư, nhưng sau khi hoàn thành nó hoạt động khá trơn tru.

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.