Melakukan migrasi database Access ke SQL Server

Melakukan migrasi database Access ke SQL Server

Kita semua memiliki batasan, dan database Access tidak terkecuali. Misalnya, database Access memiliki batas ukuran 2 GB dan tidak bisa mendukung lebih dari 255 pengguna bersamaan. Jadi, ketika sudah waktunya untuk database Access Anda untuk masuk ke tingkat berikutnya, Anda bisa melakukan migrasi ke SQL Server. SQL Server (baik di tempat maupun di awan Azure) mendukung jumlah data yang lebih besar, lebih banyak pengguna bersamaan, dan memiliki kapasitas lebih besar dari mesin database JET/ACE. Panduan ini memberi Anda mulai mulus ke perjalanan SQL Server Anda, membantu mempertahankan akses solusi Front-end yang Anda buat, dan mudah-mudahan memotivasi Anda untuk menggunakan Access for Future Solutions. Panduan UPSIZING dihapus dari Access di Access 2013, jadi sekarang Anda bisa menggunakan Microsoft SQL Server Migration Assistant (SSMA). Untuk berhasil melakukan migrasi, ikuti tahapan ini.

Tahapan migrasi database ke SQL Server

Sebelum Anda memulai

Bagian berikut ini menyediakan latar belakang dan informasi lainnya untuk membantu Anda memulai.

Tentang database terpisah

Semua objek database Access bisa berupa dalam satu file database, atau mereka bisa disimpan dalam dua file database: database terdepan dan database back-end. Ini disebut memisahkan database dan dirancang untuk memfasilitasi berbagi dalam lingkungan jaringan. File database back-end hanya harus berisi tabel dan hubungan. File Front-end hanya boleh berisi semua objek lainnya, termasuk formulir, laporan, kueri, makro, modul VBA, dan tabel tertaut ke database back-end. Saat Anda melakukan migrasi database Access, database tersebut mirip dengan database terpisah di SQL Server yang bertindak sebagai back-end baru untuk data yang sekarang berada di server.

Sebagai hasilnya, Anda masih bisa mempertahankan database Access terdepan dengan tabel tertaut ke tabel SQL Server. Secara efektif, Anda bisa mendapatkan manfaat pengembangan aplikasi cepat yang disediakan database Access, bersama dengan skalabilitas SQL Server.

Manfaat SQL Server

Masih perlu beberapa meyakinkan untuk bermigrasi ke SQL Server? Berikut adalah beberapa manfaat tambahan untuk dipikirkan:

  • Pengguna yang lebih bersamaan    SQL Server bisa menangani lebih banyak pengguna bersamaan dibandingkan Access dan meminimalkan persyaratan memori saat pengguna lainnya ditambahkan.

  • Ketersediaan yang ditingkatkan    Dengan SQL Server, Anda bisa mencadangkan secara dinamis, baik incremental maupun selesai, database saat digunakan. Karena itu, Anda tidak harus memaksa pengguna keluar dari database untuk mencadangkan data.

  • Kinerja dan skalabilitas tinggi    Database SQL Server biasanya berperforma lebih baik dari database Access, terutama dengan database besar berukuran terabyte. Juga, SQL Server memproses kueri jauh lebih cepat dan efisien dengan memproses kueri secara paralel, menggunakan beberapa utas asli dalam satu proses untuk menangani permintaan pengguna.

  • Keamanan yang disempurnakan    Dengan menggunakan koneksi tepercaya, SQL Server berintegrasi dengan keamanan sistem Windows untuk menyediakan akses terpadu tunggal ke jaringan dan database, yang mempekerjakan yang terbaik dari kedua sistem keamanan. Hal ini lebih memudahkan untuk mengelola skema keamanan yang kompleks. SQL Server adalah penyimpanan yang ideal untuk informasi sensitif seperti nomor jaminan sosial, data kartu kredit, dan alamat yang bersifat rahasia.

  • Pemulihan segera    Jika sistem operasi mengalami crash atau Power padam, SQL Server bisa memulihkan database secara otomatis ke status konsisten dalam hitungan menit dan tanpa intervensi administrator database.

  • Penggunaan VPN    Akses dan jaringan privat virtual (VPN) tidak sejalan. Tapi dengan SQL Server, pengguna jarak jauh bisa menggunakan masih menggunakan database Front-end Access pada desktop dan back-end server SQL yang terletak di belakang firewall VPN.

  • Azure SQL Server    Selain manfaat dari SQL Server, menawarkan skalabilitas dinamis tanpa downtime, pengoptimalan cerdas, skalabilitas dan ketersediaan global, penghapusan biaya perangkat keras, dan berkurangnya administrasi.

Pilih opsi terbaik Azure SQL Server

Jika Anda bermigrasi ke Azure SQL Server, ada tiga opsi yang dapat dipilih, masing-masing dengan manfaat yang berbeda:

  • Database tunggal/kolam elastis    Opsi ini memiliki kumpulan sumber daya sendiri yang dikelola melalui server database SQL. Database tunggal seperti database yang terkandung di SQL Server. Anda juga dapat menambahkan kumpulan elastis, yang merupakan kumpulan database dengan sekumpulan sumber daya bersama yang dikelola melalui server database SQL. Fitur SQL Server yang paling umum digunakan tersedia dengan pencadangan, patch, dan pemulihan bawaan. Tapi tidak ada kepastian waktu pemeliharaan dan migrasi dari SQL Server yang mungkin sulit.

  • Contoh terkelola    Opsi ini adalah kumpulan database sistem dan pengguna dengan sekumpulan sumber daya bersama. Contoh terkelola seperti contoh database server SQL yang sangat kompatibel dengan SQL Server di tempat. Instans terkelola memiliki pencadangan, patch, dan pemulihan bawaan yang mudah dimigrasikan dari SQL Server. Namun, ada sejumlah kecil fitur SQL Server yang tidak tersedia dan tidak ada garansi waktu perawatan yang tepat.

  • Azure Virtual Machine    Opsi ini memungkinkan Anda menjalankan SQL Server di dalam mesin virtual di awan Azure. Anda memiliki kontrol penuh atas mesin SQL Server dan jalur migrasi yang mudah. Namun, Anda perlu mengelola pencadangan, perbaikan, dan pemulihan.

Untuk informasi selengkapnya, lihat memilih jalur migrasi database Anda ke Azure dan memilih opsi SQL Server yang tepat di Azure.

Langkah pertama

Ada beberapa masalah yang dapat Anda alamatangkan di depan yang bisa membantu merampingkan proses migrasi sebelum Anda menjalankan SSMA:

  • Menambahkan indeks tabel dan kunci utama    Pastikan setiap tabel Access memiliki indeks dan kunci utama. SQL Server mengharuskan semua tabel memiliki setidaknya satu indeks dan memerlukan tabel tertaut untuk memiliki kunci utama jika tabel bisa diperbarui.

  • Memeriksa hubungan kunci utama/Asing    Pastikan hubungan ini didasarkan pada bidang dengan tipe data dan ukuran yang konsisten. SQL Server tidak mendukung kolom gabungan dengan tipe data dan ukuran berbeda dalam batasan kunci asing.

  • Menghapus kolom lampiran    SSMA tidak melakukan migrasi tabel yang berisi kolom lampiran.

Sebelum Anda menjalankan SSMA, lakukan langkah pertama berikut ini.

  1. Tutup database Access.

  2. Pastikan bahwa pengguna saat ini tersambung ke database juga menutup database.

  3. Jika database berada dalam format file. MDB, maka Hapus keamanan tingkat pengguna.

  4. Mencadangkan database Anda. Untuk informasi selengkapnya, lihat memproteksi data Anda dengan proses pencadangan dan pemulihan.

Tips    Pertimbangkan menginstal Microsoft SQL Server Express Edition di desktop Anda yang mendukung hingga 10 GB dan merupakan cara yang gratis dan lebih mudah untuk dijalankan dan memeriksa migrasi Anda. Saat Anda tersambung, gunakan Localdb sebagai contoh database.

Tips    Jika memungkinkan, gunakan Access versi mandiri. Jika Anda hanya bisa menggunakan Office 365, maka gunakan mesin database Access 2010 untuk melakukan migrasi database Access Anda saat menggunakan SSMA. Untuk informasi selengkapnya, lihat Microsoft Access Database Engine 2010yang telah didistribusikan ulang.

Jalankan SSMA

Microsoft menyediakan Microsoft SQL Server Migration Assistant (ssma) untuk memudahkan migrasi. SSMA terutama melakukan migrasi tabel dan memilih kueri tanpa parameter. Formulir, laporan, makro, dan modul VBA tidak dikonversi. SQL Server metadata Explorer menampilkan objek database Access dan objek SQL Server yang memungkinkan Anda meninjau konten saat ini dari kedua database. Kedua koneksi tersebut disimpan dalam file migrasi Anda jika Anda memutuskan untuk mentransfer objek tambahan di masa mendatang.

Catatan    Proses migrasi dapat memakan waktu tergantung pada ukuran objek database Anda dan jumlah data yang harus ditransfer.

  1. Untuk melakukan migrasi database menggunakan SSMA, terlebih dahulu mengunduh dan menginstal perangkat lunak dengan mengklik ganda file MSI yang diunduh. Pastikan Anda menginstal versi 32 atau 64 bit yang sesuai untuk komputer Anda.

  2. Setelah menginstal SSMA, buka di desktop Anda, sebaiknya dari komputer dengan file database Access.

    Anda juga dapat membukanya di komputer yang memiliki akses ke database Access dari jaringan dalam folder bersama.

  3. Ikuti instruksi awal di SSMA untuk menyediakan informasi dasar seperti lokasi SQL Server, database Access, dan objek untuk dimigrasikan, informasi koneksi, dan apakah Anda ingin membuat tabel tertaut.

  4. Jika Anda bermigrasi ke SQL Server 2016 atau yang lebih baru dan ingin memperbarui tabel tertaut, tambahkan kolom rowversi dengan memilih Tinjau alat > pengaturan proyek > umum.

    Bidang rowversion membantu menghindari konflik rekaman. Access menggunakan bidang rowversion ini dalam tabel tertaut SQL Server untuk menentukan kapan rekaman terakhir diperbarui. Selain itu, jika Anda menambahkan bidang rowversion ke kueri, Access menggunakannya untuk memilih ulang baris setelah operasi pembaruan. Hal ini meningkatkan efisiensi dengan membantu menghindari kesalahan penulisan dan skenario penghapusan rekaman yang bisa terjadi ketika Access mendeteksi hasil berbeda dari penyerahan asli, seperti mungkin terjadi dengan tipe data angka titik mengambang dan pemicu yang dimodifikasi penyangga. Namun, hindari penggunaan bidang rowversi dalam formulir, laporan, atau kode VBA. Untuk informasi selengkapnya, lihat rowversion.

    Catatan    Hindari rowversion membingungkan dengan cap waktu. Meskipun stempel waktu kata kunci adalah sinonim untuk rowversion di SQL Server, Anda tidak bisa menggunakan rowversi sebagai cara untuk memasukkan stempel waktu ke entri data.

  5. Untuk mengatur tipe data yang tepat, pilih Tinjau alat > pengaturan proyek > ketikkan pemetaan. Misalnya, jika Anda hanya menyimpan teks bahasa Inggris, Anda bisa menggunakan tipe data varchar daripada nvarchar .

Mengonversi objek

SSMA mengonversi objek Access ke objek SQL Server, namun tidak menyalin objek dengan segera. SSMA menyediakan daftar objek berikut ini untuk dimigrasikan sehingga Anda dapat memutuskan apakah Anda ingin memindahkannya ke database SQL Server:

  • Tabel dan kolom

  • Pilih kueri tanpa parameter.

  • Kunci utama dan Asing

  • Indeks dan nilai default

  • Memeriksa batasan (memperbolehkan properti kolom panjang nol, aturan validasi kolom, validasi tabel)

Sebagai praktik terbaik, gunakan laporan penilaian SSMA, yang memperlihatkan hasil konversi, termasuk kesalahan, peringatan, pesan informasi, perkiraan waktu untuk melakukan migrasi, dan langkah koreksi kesalahan individu yang harus dilakukan sebelum Anda benar-benar memindahkan eknya.

Mengonversi objek database mengambil definisi objek dari metadata Access, mengubahnya menjadi sintaks Transact-SQL (T-SQL)yang setara, lalu memuat informasi ini ke dalam proyek. Anda bisa menampilkan objek SQL Server atau SQL Azure dan propertinya menggunakan SQL Server atau SQL Azure metadata Explorer.

Untuk mengonversi, memuat, dan melakukan migrasi objek ke SQL Server, ikuti panduan ini.

Tips    Setelah berhasil melakukan migrasi database Access, Simpan file proyek untuk digunakan nanti agar Anda bisa melakukan migrasi data lagi untuk pengujian atau migrasi akhir.

Menautkan tabel

Pertimbangkan menginstal versi terbaru dari SQL Server OLE DB dan ODBC driver dan bukan menggunakan driver asli SQL Server yang dikirimkan dengan Windows. Tidak hanya driver yang lebih baru lebih cepat, tetapi mereka mendukung fitur baru di Azure SQL yang tidak didukung oleh driver sebelumnya. Anda dapat menginstal driver di setiap komputer tempat database yang dikonversi digunakan. Untuk informasi selengkapnya, lihat Microsoft OLE DB driver 18 untuk SQL Server and Microsoft ODBC driver 17 untuk SQL Server.

Setelah Anda melakukan migrasi tabel Access, Anda bisa menautkan ke tabel di SQL Server yang kini menghosting data Anda. Menautkan langsung dari Access juga memberi Anda cara yang lebih sederhana untuk menampilkan data Anda daripada menggunakan alat manajemen SQL Server yang lebih kompleks.  Anda dapat melakukan kueri dan mengedit data tertaut tergantung pada izin yang disiapkan oleh administrator database SQL Server Anda.

Catatan    Jika Anda membuat DSN ODBC ketika Anda menautkan ke database SQL Server Anda selama proses penautan, baik membuat DSN yang sama pada semua mesin yang menggunakan aplikasi baru atau secara programatik menggunakan string koneksi yang disimpan dalam file DSN.

Untuk informasi selengkapnya, lihat menautkan ke atau mengimpor data dari database AZURE SQL Server dan mengimpor atau menautkan ke data dalam database SQL Server.

E-mail   Jangan lupa untuk menggunakan Manajer tabel tertaut di Access untuk dengan mudah melakukan refresh dan menautkan kembali tabel. Untuk informasi selengkapnya, lihat mengelola tabel tertaut.

Menguji dan merevisi

Bagian berikut ini menguraikan masalah umum yang bisa Anda hadapi selama migrasi dan cara menghadapinya.

Kueri

Hanya memilih kueri yang dikonversi; kueri lainnya tidak, termasuk kueri pemilihan yang memerlukan parameter. Beberapa kueri mungkin tidak sepenuhnya dikonversi, dan SSMA melaporkan kesalahan kueri selama proses konversi. Anda bisa mengedit secara manual objek yang tidak dikonversi menggunakan sintaks T-SQL. Kesalahan sintaks mungkin juga mengharuskan konversi secara manual fungsi dan tipe data Access ke SQL Server. Untuk informasi selengkapnya, lihat MEMBANDINGKAN SQL Access dengan SQL Server TSQL.

Tipe data

Access dan SQL Server memiliki tipe data yang sama, namun perlu mengetahui potensi masalah berikut ini.

Angka besar    Tipe data angka besar menyimpan nilai numerik non-moneter dan kompatibel dengan tipe data bigint SQL. Anda dapat menggunakan tipe data ini untuk menghitung angka besar secara efisien tetapi memerlukan penggunaan format file database Access 16 (16.0.7812 atau yang lebih baru). accdb dan berperforma lebih baik dengan versi 64-bit. Untuk informasi selengkapnya, lihat menggunakan tipe data angka besar dan Pilih antara Office versi 64-bit atau 32-bit.

Ya/Tidak    Secara default, kolom Access ya/tidak dikonversi ke bidang bit SQL Server. Untuk menghindari penguncian rekaman, Pastikan bidang bit diatur ke tidak memperbolehkan nilai NULL. DI SSMA, Anda dapat memilih kolom bit untuk mengatur properti Izinkan nulls ke tidak. Dalam TSQL, gunakan pernyataan Buat tabel atau Ubah tabel .

Tanggal dan Waktu    Terdapat beberapa pertimbangan tanggal dan waktu:

  • Jika tingkat kompatibilitas database adalah 130 (SQL Server 2016) atau yang lebih tinggi, dan tabel tertaut berisi satu atau beberapa kolom datetime atau datetime2, tabel mungkin mengembalikan pesan yang #deleted dalam hasil. Untuk informasi selengkapnya, lihat mengakses tabel tertaut ke database SQL Server mengembalikan #deleted.

  • Gunakan tipe data datetime2 yang memiliki rentang tanggal lebih besar dari datetime.

  • Ketika menanyakan untuk tanggal di SQL Server, memperhitungkan waktu serta tanggalnya. Misalnya:

    • DateOrdered antara 1/1/19 dan 1/31/19 mungkin tidak menyertakan semua pesanan.

    • DateOrdered antara 1/1/19 00:00:00 AM dan 1/31/19 11:59:59 PM tidak menyertakan semua pesanan.

Lampiran   Tipe data lampiran menyimpan file dalam database Access. Di SQL Server, Anda memiliki beberapa opsi untuk dipertimbangkan. Anda bisa mengekstrak file dari database Access lalu mempertimbangkan menyimpan link ke file dalam database SQL Server Anda. Alternatifnya, Anda bisa menggunakan FILESTREAM, FileTables, atau remote BLOB Store (RBS) untuk mempertahankan lampiran yang disimpan di database SQL Server.

Hyperlink    Tabel Access memiliki kolom hyperlink yang tidak didukung oleh SQL Server. Secara default, kolom ini akan dikonversi ke kolom nvarchar (Max) di SQL Server, tapi Anda bisa mengustomisasi pemetaan untuk memilih tipe data yang lebih kecil. Dalam solusi Access Anda, Anda masih bisa menggunakan perilaku hyperlink dalam formulir dan laporan jika Anda mengatur properti hyperlink untuk kontrol ke True.

Bidang multifvaluasi    Bidang Access multifsafnya dikonversi ke SQL Server sebagai bidang ntext yang berisi kumpulan nilai yang dipisahkan. Karena SQL Server tidak mendukung tipe data multinilai yang memperagakan hubungan banyak ke banyak, desain tambahan dan pekerjaan konversi mungkin diperlukan.

Untuk informasi selengkapnya tentang akses pemetaan dan tipe data SQL Server, lihat membandingkan tipe data.

Catatan    Bidang multifvaluasi tidak dikonversi dan dihentikan di Access 2010.

Untuk informasi selengkapnya, lihat tipe tanggal dan waktu, string dan tipe biner, dan tipe numerik.

Visual Basic

Meskipun VBA tidak didukung oleh SQL Server, perhatikan kemungkinan masalah berikut:

Fungsi VBA dalam kueri    Kueri Access mendukung fungsi VBA pada data dalam kolom kueri. Tapi kueri Access yang menggunakan fungsi VBA tidak bisa dijalankan di SQL Server, sehingga semua data yang diminta dilewatkan ke Microsoft Access untuk diproses. Dalam kebanyakan kasus, kueri ini harus dikonversi menjadi kueri kirimlangsung.

Fungsi yang ditentukan pengguna dalam kueri    Kueri Microsoft Access mendukung penggunaan fungsi yang ditentukan dalam modul VBA untuk memproses data yang diteruskan. Kueri dapat berupa kueri mandiri, pernyataan SQL di sumber catatan formulir/laporan, sumber data kotak kombo dan kotak Daftar pada formulir, laporan dan bidang tabel, serta default atau ekspresi aturan validasi. SQL Server tidak bisa menjalankan fungsi yang ditentukan pengguna ini. Anda mungkin perlu mendesain ulang fungsi tersebut secara manual dan mengonversinya ke prosedur yang disimpan di SQL Server.

Mengoptimalkan kinerja

Sejauh ini, cara paling penting untuk mengoptimalkan kinerja dengan SQL Server baru Anda, akan memutuskan kapan menggunakan kueri lokal atau jarak jauh. Saat Anda melakukan migrasi data ke SQL Server, Anda juga berpindah dari server file ke model komputasi database server klien. Ikuti panduan umum berikut:

  • Menjalankan kueri kecil dan baca-saja pada klien untuk akses tercepat.

  • Menjalankan kueri panjang, baca/tulis di server untuk memanfaatkan daya pemrosesan yang lebih besar.

  • Minimalkan Traffic jaringan dengan filter dan agregasi untuk mentransfer hanya data yang Anda perlukan.

Mengoptimalkan kinerja dalam model database server klien

Untuk informasi selengkapnya, lihat membuat kueri kirimlangsung.

Berikut ini adalah panduan tambahan yang direkomendasikan.

Menempatkan logika di server    Aplikasi Anda juga bisa menggunakan tampilan, fungsi yang ditentukan pengguna, prosedur yang disimpan, bidang terhitung, dan pemicu untuk memusatkan dan berbagi logika aplikasi, aturan dan kebijakan bisnis, kueri kompleks, validasi data, dan kode integritas referensial pada Server, bukan pada klien. Tanyakan pada diri Anda, Apakah kueri atau tugas ini dapat dilakukan di server lebih baik dan lebih cepat? Terakhir, uji setiap kueri untuk memastikan kinerja optimal.

Menggunakan tampilan dalam formulir dan laporan    Di Access, lakukan hal berikut:

  • Untuk formulir, gunakan tampilan SQL untuk formulir baca-saja dan tampilan terindeks SQL untuk formulir baca/tulis sebagai sumber rekaman.

  • Untuk laporan, gunakan tampilan SQL sebagai sumber rekaman. Namun, buat tampilan terpisah untuk setiap laporan, sehingga Anda dapat memperbarui laporan tertentu dengan lebih mudah, tanpa memengaruhi laporan lainnya.

Meminimalkan pemuatan data dalam formulir atau laporan    Jangan Tampilkan data hingga pengguna memintanya. Misalnya, Pertahankan properti recordsource kosong, buat pengguna memilih filter pada formulir Anda, lalu isi properti recordsource dengan filter Anda. Atau, gunakan klausa Where dari DoCmd. OpenForm dan DoCmd. OpenReport untuk menampilkan catatan yang diperlukan oleh pengguna. Pertimbangkan menonaktifkan navigasi rekaman.

Berhati-hatilah dengan kueri heterogen   Hindari menjalankan kueri yang menggabungkan tabel Access lokal dan tabel tertaut SQL Server, terkadang disebut kueri hibrid. Tipe kueri ini masih memerlukan akses untuk mengunduh semua data SQL Server ke komputer lokal lalu menjalankan kueri, namun tidak menjalankan kueri di SQL Server.

Kapan menggunakan tabel lokal    Pertimbangkan menggunakan tabel lokal untuk data yang jarang berubah, seperti daftar negara bagian atau provinsi di negara atau kawasan. Tabel statis sering kali digunakan untuk pemfilteran dan dapat berperforma lebih baik pada Front-end Access.

Untuk informasi selengkapnya, lihat penasihat penyetelan mesin database, gunakan Penganalisis kinerja untuk mengoptimalkan database Access, dan mengoptimalkan aplikasi Microsoft Office Access yang tertaut ke SQL Server.

Lihat Juga

panduan migrasi database Azure

blog migrasi data Microsoft

Microsoft Access ke Migrasi SQL Server, konversi danhttps://www.fmsinc.com/consulting/sqlserverupsizing.aspxUPSIZING

Cara berbagi database desktop Access

Catatan:  Halaman ini diterjemahkan menggunakan mesin dan mungkin terdapat kesalahan tata bahasa atau masalah keakuratan. Kami bertujuan menyediakan konten yang bermanfaat untuk Anda. Dapatkah Anda memberi tahu kami apakah informasi ini bermanfaat untuk Anda? Berikut adalah artikel dalam bahasa Inggris untuk referensi.

Kembangkan keterampilan Office Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×