View a markdown version of this page

Menggunakan SSAS di Amazon RDS - Amazon Relational Database Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan SSAS di Amazon RDS

Setelah men-deploy proyek SSAS, Anda dapat memproses basis data OLAP secara langsung di SSMS.

Menggunakan SSAS pada RDS
  1. Pada SSMS, hubungkan ke SSAS menggunakan nama pengguna dan kata sandi untuk domain Active Directory.

  2. Perluas Basis data. Basis data SSAS yang baru di-deploy akan muncul.

  3. Temukan string koneksi, dan perbarui nama pengguna dan kata sandi untuk memberikan akses ke basis data SQL sumber. Hal ini diperlukan untuk memproses objek SSAS.

    1. Untuk mode Tabel, lakukan hal berikut:

      1. Perluas tab Koneksi.

      2. Buka menu konteks (klik kanan) untuk , lalu pilih Properti.

      3. Perbarui nama pengguna dan kata sandi dalam string koneksi.

    2. Untuk mode Multidimensi, lakukan hal berikut:

      1. Perluas tab Sumber Data.

      2. Buka menu konteks (klik kanan) untuk objek sumber data, lalu pilih Properti.

      3. Perbarui nama pengguna dan kata sandi dalam string koneksi.

  4. Buka menu konteks (klik kanan) untuk basis data SSAS yang Anda buat lalu pilih Memproses Basis Data.

    Bergantung pada ukuran data input, operasi pemrosesan akan memakan waktu beberapa menit untuk selesai.

Menyiapkan Windows-authenticated pengguna untuk SSAS

Pengguna administrator utama (kadang-kadang disebut pengguna master) dapat menggunakan contoh kode berikut untuk mengatur Windows-authenticated login dan memberikan izin prosedur yang diperlukan. Tindakan ini akan memberikan izin kepada pengguna domain untuk menjalankan tugas pelanggan SSAS, menggunakan prosedur transfer file S3, membuat kredensial, dan bekerja dengan proksi SQL Server Agent. Untuk informasi lebih lanjut, lihat Credentials (database engine) dan Create a SQL Server Agent proxy dalam dokumentasi Microsoft.

Anda dapat memberikan beberapa atau semua izin berikut sesuai kebutuhan kepada Windows-authenticated pengguna.

contoh
-- Create a server-level domain user login, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create domain user, if it doesn't already exist USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] GO -- Grant necessary privileges to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO USE [msdb] GO GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] with grant option ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO

Menambahkan pengguna domain sebagai administrator basis data

Anda dapat menambahkan pengguna domain sebagai administrator basis data SSAS dengan cara berikut:

  • Administrator basis data dapat menggunakan SSMS untuk membuat peran dengan hak istimewa admin, lalu tambahkan pengguna ke peran tersebut.

  • Anda dapat menggunakan prosedur tersimpan berikut.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_ADD_DB_ADMIN_MEMBER', @database_name='myssasdb', @ssas_role_name='exampleRole', @ssas_role_member='domain_name\domain_user_name';

    Parameter berikut yang diperlukan:

    • @task_type – Jenis tugas MSBI, dalam kasus ini SSAS_ADD_DB_ADMIN_MEMBER.

    • @database_name – Nama basis data SSAS yang Anda berikan hak istimewa administrator.

    • @ssas_role_name – Nama peran administrator basis data SSAS. Jika peran tersebut belum ada, ini akan dibuat.

    • @ssas_role_member – Pengguna basis data SSAS yang Anda tambahkan ke peran administrator.

Membuat proksi SSAS

Untuk dapat menjadwalkan pemrosesan basis data SSAS menggunakan SQL Server Agent, buat kredensial SSAS dan proksi SSAS. Jalankan prosedur ini sebagai Windows-authenticated pengguna.

Membuat kredensial SSAS
  • Buat kredensial untuk proksi. Untuk melakukannya, Anda dapat menggunakan SSMS atau pernyataan SQL berikut.

    USE [master] GO CREATE CREDENTIAL [SSAS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    catatan

    IDENTITY harus merupakan kredensial login yang diautentikasi domain. Ganti mysecret dengan kata sandi untuk kredensial login yang diautentikasi domain.

Membuat proksi SSAS
  1. Gunakan laporan SQL berikut untuk membuat proksi.

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSAS_Proxy',@credential_name=N'SSAS_Credential',@description=N'' GO
  2. Gunakan laporan SQL berikut untuk memberikan akses ke proksi kepada pengguna lain.

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSAS_Proxy',@login_name=N'mydomain\user_name' GO
  3. Gunakan laporan SQL berikut untuk memberikan akses subsistem SSAS ke proksi.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
Untuk melihat proksi dan izin pada proksi
  1. Gunakan laporan SQL berikut untuk melihat penerima izin dari proksi.

    USE [msdb] GO EXEC sp_help_proxy GO
  2. Gunakan laporan SQL berikut untuk melihat izin subsistem.

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

Menjadwalkan pemrosesan basis data SSAS menggunakan SQL Server Agent

Setelah membuat kredensial dan proksi serta memberikan akses SSAS ke proksi tersebut, Anda dapat membuat pekerjaan SQL Server Agent untuk menjadwalkan pemrosesan basis data SSAS.

Menjadwalkan pemrosesan basis data SSAS
  • Gunakan SSMS atau T-SQL untuk membuat pekerjaan SQL Server Agent. Contoh berikut menggunakan T-SQL. Anda dapat mengkonfigurasi jadwal pekerjaannya lebih lanjut melalui SSMS atau T-SQL.

    • Parameter @command menguraikan perintah XML for Analysis (XMLA) yang akan dijalankan oleh pekerjaan SQL Server Agent. Contoh ini mengonfigurasi pemrosesan basis data Multidimensi SSAS.

    • Parameter @server menguraikan nama server SSAS target dari pekerjaan SQL Server Agent.

      Untuk memanggil layanan SSAS dalam instans DB RDS yang sama di mana pekerjaan SQL Server Agent berada, gunakan localhost:2383.

      Untuk memanggil layanan SSAS dari luar instans DB RDS, gunakan titik akhir RDS. Anda juga dapat menggunakan titik akhir Kerberos Active Directory (AD) (your-DB-instance-name.your-AD-domain-name) jika instans DB RDS digabungkan dengan domain yang sama. Untuk instans DB eksternal, pastikan Anda mengonfigurasi grup keamanan VPC dengan benar yang terkait dengan instans DB RDS untuk koneksi yang aman.

    Anda dapat mengedit kueri lebih lanjut untuk mendukung berbagai operasi XMLA. Lakukan pengeditan baik dengan langsung memodifikasi T-SQL kueri atau dengan menggunakan UI SSMS berikut pembuatan pekerjaan SQL Server Agent.

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'SSAS_Job', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'SSAS_Job', @server_name = N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'SSAS_Job', @step_name=N'Process_SSAS_Object', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'ANALYSISCOMMAND', @command=N'<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500"> <Object> <DatabaseID>Your_SSAS_Database_ID</DatabaseID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>', @server=N'localhost:2383', @database_name=N'master', @flags=0, @proxy_name=N'SSAS_Proxy' GO

Merilis akses SSAS dari proksi

Anda dapat mencabut akses ke subsistem SSAS dan menghapus proksi SSAS menggunakan prosedur tersimpan berikut.

Untuk mencabut akses dan menghapus proksi
  1. Mencabut akses subsistem.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
  2. Mencabut izin pada proksi.

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSAS_Proxy',@name=N'mydomain\user_name' GO
  3. Hapus proksi.

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSAS_Proxy' GO