Bagikan melalui


Memindahkan Database Analysis Services

Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Sering kali ada situasi ketika administrator database SQL Server Analysis Services (dba) ingin memindahkan database model multidimensi atau tabular ke lokasi yang berbeda. Situasi ini sering didorong oleh kebutuhan bisnis, seperti memindahkan database ke disk yang berbeda untuk performa yang lebih baik, mendapatkan ruang untuk pertumbuhan database, atau untuk meningkatkan produk.

Database dapat dipindahkan dalam banyak cara. Dokumen ini menjelaskan skenario umum berikut:

  • Secara interaktif menggunakan SSMS

  • Secara terprogram menggunakan AMO

  • Dengan skrip menggunakan XMLA

Semua skenario mengharuskan pengguna untuk mengakses folder database dan menggunakan metode untuk memindahkan file ke tujuan akhir yang diinginkan.

Catatan

Mencopot database tanpa menetapkan kata sandi ke database akan meninggalkan database dalam status tidak aman. Sebaiknya tetapkan kata sandi ke database untuk melindungi informasi rahasia. Selain itu, keamanan akses yang sesuai harus diterapkan ke folder database, sub-folder, dan file untuk mencegah akses tidak sah ke folder tersebut.

Prosedur

Memindahkan database secara interaktif menggunakan SQL Server Management Directory

  1. Temukan database yang akan dipindahkan di panel kiri atau kanan SQL Server Management Studio.

  2. Klik kanan pada database dan pilih Lepaskan...

  3. Tetapkan kata sandi ke database yang akan dilepaskan, lalu klik OK untuk menjalankan perintah lepaskan.

  4. Gunakan mekanisme sistem operasi atau metode standar Anda untuk memindahkan file untuk memindahkan folder database ke lokasi baru.

  5. Temukan folder Database di panel kiri atau kanan SQL Server Management Studio.

  6. Klik kanan pada folder Database dan pilih Lampirkan...

  7. Dalam kotak teks folder , ketik lokasi baru folder database. Atau, Anda dapat menggunakan tombol telusuri (...) untuk menemukan folder database.

  8. Pilih mode ReadWrite untuk database.

  9. Ketik kata sandi yang digunakan di langkah 3 dan klik OK untuk menjalankan perintah lampirkan.

Memindahkan database secara terprogram menggunakan AMO

  1. Di aplikasi C#Anda, sesuaikan kode sampel berikut dan selesaikan tugas yang ditunjukkan.

private void MoveDb(Server server, string dbName,

string dbInitialLocation, string dbFinalLocation,

string dbPassword, ReadWriteMode dbReadWriteMode)

{

//Verify dbInitialLocation exists before continuing

if (server.Databases.ContainsName(dbName))

{

Database db;

//Save current cursor and change cursor to Cursors.WaitCursor

db = server.Databases[dbName];

db.Detach(dbPassword);

//Add your own code to copy the database files to the destination where you intend to attach the database

//Verify dbFinalLocation exists before continuing

server.Attach(dbFinalLocation, dbReadWriteMode, dbPassword);

//Restore cursor to its original

}

}

  1. Dalam aplikasi C#Anda, panggil MoveDb() dengan parameter yang diperlukan.

  2. Kompilasi dan jalankan kode Anda untuk memindahkan database.

Memindahkan database menurut skrip menggunakan XMLA

  1. Buka tab XMLA baru di SSMS.

  2. Salin templat skrip berikut untuk XMLA

<Detach xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">

<Object>

<DatabaseID>%dbName%</DatabaseID>

<Password>%password%</Password>

</Object>

</Detach>

  1. Ganti %dbName% dengan nama database dan %password% dengan kata sandi. Karakter % adalah bagian dari templat dan harus dihapus.

  2. Jalankan perintah XMLA.

  3. Gunakan mekanisme sistem operasi atau metode standar Anda untuk memindahkan file untuk memindahkan folder database ke lokasi baru.

  4. Salin templat skrip berikut untuk XMLA di tab XMLA baru

<Attach xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">

<Folder>%dbFolder%</Folder>

<ReadWriteMode xmlns="http://schemas.microsoft.com/analysisservices/2008/engine/100">%ReadOnlyMode%</ReadWriteMode>

</Attach>

  1. Ganti %dbFolder% dengan jalur UNC lengkap folder database, %ReadOnlyMode% dengan nilai readOnly atau ReadWrite yang sesuai, dan %password% dengan kata sandi. Karakter % adalah bagian dari templat dan harus dihapus.

  2. Jalankan perintah XMLA.

Lihat juga

Melampirkan dan Melepaskan Database Analysis Services
Lokasi Penyimpanan Database
Database ReadWriteModes
Lampirkan Elemen
Lepaskan Elemen
Elemen ReadWriteMode
Elemen DbStorageLocation