Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Memigrasikan Database Microsoft Access ke SQL Server

Pengantar

Microsoft Access adalah sistem manajemen database desktop populer yang menggabungkan alat pengembangan aplikasi (Formulir, Laporan, Kueri, makro VBA) dengan DBMS relasional. MS Access sangat ideal untuk pengguna individu atau untuk kelompok kerja kecil di mana beberapa pengguna bekerja pada data pada saat yang sama dengan berbagi file database MS Access melalui jaringan area lokal.

Namun, begitu jumlah pengguna simultan tumbuh di atas segelintir, MS Access mulai mengalami masalah dengan berbagi data. Salah satu solusi untuk masalah “peningkatan skala” ini adalah dengan membagi database MS Access dan menyimpan data dalam DBMS berbasis server seperti Microsoft SQL Server.

Microsoft menyediakan alat praktis yang disebut "Microsoft SQL Server Migration Assistant untuk MS Access" (SSMA) untuk membantu memindahkan tabel database dari database MS Access ke SQL Server. Sebelum masuk ke langkah-langkah sebenarnya dari proses ini, akan sangat membantu untuk memahami arsitektur sistem database MS Access. Arsitektur ini dijelaskan mulai dari halaman berikutnya.

Persyaratan Sebelumnya

Sebelum melanjutkan lebih jauh dengan tutorial ini, pastikan perangkat lunak berikut sudah tersedia.

Tutorial ini ditulis menggunakan Microsoft Access 2013 (dari 64-bit MS Office) yang berjalan pada sistem operasi Windows 7 64-bit. MS Access 2010 dan 2016 juga dapat berfungsi tetapi belum diuji. Pastikan untuk memeriksa MS Office karena MS Access 32-bit tidak akan memiliki dukungan yang tepat untuk memungkinkan SSMA bekerja.

Anda mungkin juga perlu menginstal perangkat lunak MS Access 2010 Runtime. Perangkat lunak ini pada awalnya dirancang untuk membaca file database MS Access tanpa perlu menginstal versi lengkap MS Access. Asisten Migrasi Server QL menggunakan bagian Data Access Objects (DAO) di MS Access 2010 Runtime untuk membuka file MS Access.

Contoh file database MS Access disediakan (lihat halaman berikutnya untuk link ke file ini).

Sistem manajemen basis data target adalah Microsoft SQL Server. Tutorial ini memerlukan kredensial (nama pengguna, kata sandi, dll.) ke instance SQL Server. Anda dapat menginstal MS SQL Server di PC atau server Anda sendiri, menggunakan server yang ada di rumah atau tempat kerja Anda, atau menggunakan layanan berbasis cloud untuk menghosting SQL Server untuk Anda. Tutorial tentang menyiapkan instance SQL Server di GearHost tersedia di sini:/getting-started-with-gearhost-for-sql-server-database-development/

Perhatikan bahwa mulai tahun 2021, GearHost tidak lagi memiliki instance SQL Server Tingkat Gratis. Anda mungkin ingin mencoba mendapatkan akun Pelajar di Microsoft Azure dan menggunakan Database Azure SQL.

Anda juga harus memiliki Microsoft SQL Server Management Studio yang tersedia untuk menjelajahi dan bekerja secara langsung dengan SQL Server. Gunakan SQL Server Management Studio untuk menyambungkan ke instance SQL Server Anda dan membuat Database kosong.

Instance SQL Server yang dihosting oleh GearHost digunakan untuk tutorial ini. Contoh database bernama testmssqldb1 telah dibuat seperti yang ditunjukkan di SQL Server Management Studio Object Explorer di bawah ini.

Terakhir, pastikan untuk membuat cadangan file database MS Access apa pun sebelum memigrasikannya ke SQL Server.

Bagian berikutnya memperkenalkan arsitektur database Microsoft Access.

Arsitektur Basis Data Microsoft Access

Sebagian besar sistem informasi yang menggunakan database untuk menyimpan data dapat dijelaskan oleh empat komponen utama:

  1. Antarmuka Pengguna – Ini adalah formulir, laporan, dan kueri yang berinteraksi dengan pengguna akhir sistem.
  2. Logika Bisnis – Ini adalah kode pemrograman yang menerapkan aturan bisnis berbeda yang dijalankan oleh organisasi. Misalnya, mungkin ada aturan bisnis bahwa tidak ada karyawan yang dapat ditugaskan lebih dari 30 jam per minggu pada satu proyek. Aturan ini akan diimplementasikan dalam kode pemrograman.
  3. Sistem Manajemen Basis Data – Ini adalah perangkat lunak yang digunakan untuk mengelola data dalam database. Mungkin juga memiliki fitur seperti kontrol konkurensi untuk memungkinkan banyak pengguna bekerja dengan data dengan aman. Beberapa contoh DBMS antara lain MS Access, MS SQL Server, Oracle, MySQL dan Postgres.
  4. Database – Di sinilah data aktual disimpan. Biasanya data diatur dalam satu set tabel database. Setiap tabel memiliki kolom dan record data.

Arsitektur Sistem Basis Data menjelaskan bagaimana masing-masing dari empat komponen ini diatur. Seringkali istilah "Front End" digunakan untuk menggambarkan komponen Antarmuka Pengguna dan Logika Bisnis. “Back End” terdiri dari DBMS dan Database.

Sebagai DBMS desktop, MS Access menyimpan semua komponen aplikasi sistem database dalam satu file. Perangkat lunak DBMS berjalan pada komputer desktop. Formulir, laporan, dan kueri Entri Data berinteraksi dengan tabel database yang disimpan dalam file MS Access Database yang sama (file .accdb) seperti yang ditunjukkan pada gambar di bawah ini.

Untuk berbagi data MS Access melalui jaringan area lokal, kita dapat "membagi" file database menjadi dua. Satu file akan berisi Formulir, Laporan, Kueri, dan bagian lain dari aplikasi database, sedangkan file database kedua hanya akan berisi tabel database dan datanya. Komponen aplikasi (Formulir, laporan, dll.) akan menggunakan Tautan Eksternal ke file database kedua untuk mengambil dan memperbarui data. Ini ditunjukkan pada gambar di bawah ini.

Seiring bertambahnya jumlah pengguna, metode berbagi data ini akan menjadi terbatas. Dalam hal ini kita dapat memigrasikan tabel database ke Microsoft SQL Server. Sekali lagi tautan eksternal akan digunakan untuk menghubungkan komponen aplikasi (Formulir, laporan, dll.) ke tabel database seperti yang ditunjukkan pada gambar di bawah.

Pendekatan "pemisahan" atau "peningkatan" ke SQL Server ini adalah fokus dari tutorial ini.

Bagian selanjutnya memperkenalkan contoh database MS Access yang akan digunakan untuk mendemonstrasikan migrasi database.

Contoh Database Karyawan

Tutorial ini menggunakan database Karyawan sederhana yang dapat diunduh dari tautan ini. Dalam database ini terdapat 4 tabel utama:Department, Employee, Project dan Project_Assignment.

Hubungan antar tabel ditunjukkan di bawah ini:

Ada 5 formulir Entri Data, satu kueri, dan satu laporan.

Luangkan waktu beberapa menit untuk menjelajahi database ini sebelum melanjutkan tutorial. Pastikan untuk menutup file database setelah Anda selesai menjelajah. Juga buat cadangan file jika Anda ingin mengulangi tutorial ini di masa mendatang.

Di bagian selanjutnya dari tutorial ini, Microsoft SQL Server Migration Assistant untuk utilitas MS Access akan diunduh dan diinstal.

Mengunduh dan Menginstal Asisten Migrasi Microsoft SQL Server untuk MS Access

Asisten Migrasi Microsoft SQL Server untuk MS Access dapat diunduh dari situs web Microsoft berikut:https://www.microsoft.com/en-us/download/details.aspx?id=54255

Klik Unduh tombol dan kemudian simpan file baru. Nama file harus seperti SSMA untuk Access.7.3.0.msi meskipun versi yang lebih baru mungkin tersedia di masa mendatang. Klik dua kali pada file SSMA untuk Access.7.3.0.msi untuk meluncurkan penginstal.

Saat layar Selamat Datang muncul, klik tombol Berikutnya tombol untuk pindah ke langkah berikutnya.

Baca Perjanjian Lisensi Pengguna Akhir, klik Saya menerima perjanjian tombol radio, lalu klik Berikutnya tombol untuk melanjutkan.

Klik Pemasangan Khusus tombol dan kemudian pilih fitur untuk menginstal serta lokasi instalasi. Pilih semua fitur untuk diinstal dan pilih tujuan (biasanya drive C:). Klik tombol Berikutnya tombol untuk melanjutkan.

Pada titik ini produk siap dipasang. Klik tombol Pasang tombol untuk melanjutkan.

Pemasang akan membutuhkan waktu beberapa menit untuk menyelesaikan penginstalan. Selama waktu itu layar status akan muncul seperti yang ditunjukkan di bawah ini.

Setelah penginstalan SSMA selesai, klik tombol Selesai tombol.

Asisten Migrasi SQL Server untuk Access akan muncul di menu Mulai Windows. Juga akan ada SQL Server Migration Assistant untuk grup Access.

Sekarang setelah SSMA terinstal, database MS Access dapat dimigrasikan. Langkah-langkah ini diuraikan di halaman berikutnya.

Memigrasikan Basis Data MS Access

Pastikan Anda memiliki salinan cadangan database MS Access Anda.

Temukan item menu Microsoft SQL Server Migration Assistant untuk Access pada menu Start Windows dan klik untuk meluncurkan SSMA.

Wizard SSMA akan muncul menampilkan layar Selamat Datang. Perhatikan garis besar 6 langkah yang akan diselesaikan. Pada titik ini Anda harus memiliki file database MS Access Employee yang tersedia serta kredensial untuk Database MS SQL Server. Klik tombol Berikutnya tombol untuk pindah ke langkah pertama di Wizard.

Langkah pertama adalah membuat Proyek Migrasi baru. Beri nama proyek (Employee_Database_Migration_Project digunakan untuk contoh ini). Pilih folder untuk menyimpan Proyek. Terakhir, pilih versi SQL Server untuk database SQL Server target. SQL Server 2016 akan digunakan dalam contoh ini. Setelah selesai, klik tombol Berikutnya tombol.

Langkah selanjutnya adalah menambahkan database MS Access yang akan dimigrasikan. Formulir akan tampak kosong pada saat ini. Klik tombol Tambahkan Basis Data tombol.

Arahkan ke folder yang berisi file employee.accdb dan pilih file itu. Klik tombol Buka tombol.

File employee.accdb sekarang harus terdaftar. Klik tombol Berikutnya tombol untuk melanjutkan.

Sekarang database MS Access telah dibuka, langkah selanjutnya adalah memilih isi database yang akan dimigrasikan ke SQL Server. Umumnya, hanya Tabel yang akan dimigrasikan dan ini harus dipilih secara default. Perhatikan juga bahwa setiap indeks dan kunci utama yang merupakan bagian dari setiap tabel juga akan dimigrasikan. (Jika tidak ada tabel yang terdaftar, instal perangkat lunak MS Access 2010 Runtime dan coba lagi).

Untuk contoh ini, pastikan semua tabel database dipilih seperti yang ditunjukkan di bawah ini. Klik Berikutnya tombol untuk melanjutkan.

Langkah selanjutnya di Wizard adalah menentukan kredensial untuk contoh SQL Server target. Isi kolom sesuai dengan konfigurasi SQL Server Anda. Untuk contoh ini, contoh SQL Server di Gearhost digunakan.

Nama Inang akan menjadi nama host internet atau alamat IP server. Jika SQL Server diinstal pada PC atau server lokal Anda, gunakan localhost sebagai nama server.

Port Server adalah nomor port untuk pendengar SQL Server. Biarkan ini di default (kecuali Anda telah mengubah konfigurasi ini di SQL Server Anda).

Basis Data akan menjadi nama penduduk database pada contoh SQL Server. Untuk contoh ini, database sampel bernama testmssqldb1 telah dibuat di server.

Pilih metode Otentikasi untuk contoh SQL Server Anda. Untuk contoh ini, Otentikasi SQL Server akan digunakan. Nama pengguna dan sandi yang terkait dengan instance SQL Server harus disediakan.

Isi kredensial yang tersisa termasuk Nama Pengguna dan Kata Sandi dan pilih opsi yang sesuai jika koneksi akan dienkripsi atau tidak.

Setelah semua kredensial dimasukkan, klik Berikutnya tombol.

Pada titik ini, Wizard Migrasi akan meminta untuk Menautkan aplikasi database (Formulir, laporan, dll.) ke tabel database SQL Server yang dihasilkan. Inilah yang dibutuhkan dalam kasus ini. Pastikan Tabel Tautan kotak centang dipilih dan klik Berikutnya tombol.

Layar Status Migrasi akan muncul saat data sumber dianalisis dan disiapkan untuk dimuat ke SQL Server.

Setelah konversi, kotak dialog akan muncul yang menampilkan daftar semua tabel dan indeks serta pemicu yang terkait (jika ada). Dalam contoh ini, semua tabel dan objek terkaitnya akan dimigrasikan ke SQL Server. Klik Oke untuk menutup kotak dialog ini.

Wizard akan terus memproses data tabel dan memuat objek yang dikonversi ke dalam database.

Selama Tautkan Tabel yang Dikonversi langkah, Wisaya mungkin meminta untuk memasukkan kembali kredensial SQL Server. Berikan kredensial ini lagi dan klik Hubungkan tombol.

Wizard migrasi akan dilanjutkan. Ketika migrasi selesai, layar ringkasan akan muncul. Jika ada kesalahan, klik Laporan . yang terkait tombol untuk meninjaunya. Setelah selesai, klik tombol Tutup tombol.

Layar SSMA utama akan muncul. Tarik ke bawah File menu dan pilih Simpan Proyek untuk menyimpan proyek saat ini. Pilih Karyawan database untuk mengekstrak dan menyimpan metadata.

Pada titik ini pekerjaan migrasi selesai dan kita dapat keluar dari program SSMA.

Bagian terakhir dari tutorial ini menunjukkan cara menjalankan aplikasi database MS Access yang baru dimigrasikan.

Menjalankan aplikasi database MS Access

Buka file database employeedb.accdb di MS Access. Perhatikan bahwa tabel asli sekarang telah diganti namanya. Misalnya tabel karyawan asli sekarang bernama SSMA$karyawan$lokal. Tabel ini masih disimpan di dalam file database employeedb.accdb.

Empat tautan tabel database new baru telah dibuat. Semua Formulir, Kueri, dan Laporan yang ada yang mereferensikan nama-nama ini sekarang akan merujuk tautan ke setiap tabel di database SQL Server. Untuk mengujinya, buka Formulir Entri Data Departemen.

Anda mungkin menerima pesan kesalahan “Login” atau “Koneksi gagal” seperti yang ditunjukkan di bawah ini:

Klik tombol OK dan kemudian berikan kredensial yang sesuai untuk contoh SQL Server. Kemudian klik tombol Oke tombol.

Dari perspektif pengguna akhir, tidak ada perubahan dalam tampilan atau fungsi formulir. Satu-satunya masalah kecil yang mungkin dialami pengguna adalah sedikit keterlambatan dalam membuka kumpulan data yang besar karena permintaan harus dikirim ke instance SQL Server jarak jauh yang kemudian perlu mengemas hasilnya dan mengembalikannya ke aplikasi database MS Access.

Buka beberapa formulir entri data tambahan dan pastikan semuanya berfungsi dengan baik.

Setelah fungsionalitas database yang dimigrasikan telah dikonfirmasi, tabel asli (sekarang diganti namanya) dapat dihapus dari file database employeedb.accdb. Setelah langkah ini, file database employeedb.accdb dapat didistribusikan ke pengguna sehingga mereka dapat mulai bekerja dengan data yang sekarang disimpan di lokasi pusat dalam contoh SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa pembacaan logis untuk fungsi agregat berjendela begitu tinggi?

  2. Bagaimana Anda membuat daftar kunci utama dari tabel SQL Server?

  3. Bagaimana cara menghasilkan nomor acak untuk setiap baris dalam pemilihan T-SQL?

  4. Gunakan Kasus untuk Pernyataan MERGE SQL Server:Menyinkronkan Tabel Online dan Riwayat

  5. SQL Server AlwaysOn Availability Groups:Instalasi dan konfigurasi, Bagian 1