Melakukan migrasi Access database ke SQL Server

Catatan: Kami ingin secepatnya menyediakan konten bantuan terbaru dalam bahasa Anda. 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 di bagian bawah halaman ini? Berikut artikel dalam bahasa Inggris untuk referensi.

Kita semua memiliki batas, dan Access database adalah pengecualian tidak ada. Misalnya, Access database memiliki batas ukuran 2 GB dan tidak mendukung lebih dari 255 pengguna serentak. Jadi saat waktu untuk database Access Anda untuk masuk ke tingkat berikutnya, Anda bisa melakukan migrasi ke SQL Server. SQL Server (baik lokal atau di Azure awan) mendukung lebih jauh data, lebih serentak pengguna, dan memiliki kapasitas lebih besar dari mesin database JET ACE. Panduan ini memberi Anda mulai halus untuk perjalanan SQL Server Anda, membantu mempertahankan akses front-end solusi telah dibuat, dan hopefully memotivasi Anda untuk menggunakan Access untuk database yang akan datang solusi. Panduan Upsizing telah dihapus dari Access di Access 2013, jadi sekarang Anda bisa menggunakan Microsoft SQL Server migrasi asisten (SSMA). Untuk melakukan migrasi berhasil, ikuti tahap 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 dalam satu database file, atau mereka bisa disimpan di dua file database: front-end database dan database back-end. Ini disebut memisahkan database dan dirancang untuk memudahkan berbagi dalam lingkungan jaringan. File database back-end hanya harus berisi tabel dan hubungan. Front-end file hanya harus berisi semua objek lain, termasuk formulir, laporan, kueri, makro, modul VBA, dan tabel yang ditautkan ke database back-end. Saat Anda melakukan migrasi Access database, sangat mirip dengan database terpisah bahwa SQL Server bertindak sebagai back-end baru untuk data yang sekarang berada di server.

Sebagai akibatnya, Anda masih dapat mempertahankan database front-end Access dengan tabel yang ditautkan ke tabel SQL Server. Secara efektif, Anda dapat memperoleh manfaat pengembangan cepat aplikasi yang menyediakan Access database, bersama dengan skalabilitas SQL Server.

Manfaat SQL Server

Masih memerlukan beberapa meyakinkan untuk melakukan migrasi ke SQL Server? Berikut adalah beberapa manfaat tambahan untuk dipertimbangkan:

  • Pengguna lebih serentak    SQL Server dapat menangani pengguna serentak lebih banyak dari Access dan meminimalkan memori persyaratan saat lebih banyak pengguna yang ditambahkan.

  • Ketersediaan meningkat    Dengan SQL Server, Anda dapat secara dinamis cadangan, bertahap maupun lengkap, nama database saat ini sedang digunakan. Karena itu, Anda tidak harus memaksa pengguna keluar dari database untuk mencadangkan data.

  • Kinerja dan skalabilitas tinggi    Database SQL Server biasanya menjalankan dengan lebih baik daripada database Access, terutama dengan database besar, terabyte-ukuran. Juga, SQL Server proses kueri lebih cepat dan efisien dengan pemrosesan kueri paralel, menggunakan beberapa utas asli dalam proses tunggal untuk menangani permintaan pengguna.

  • Penyempurnaan keamanan    Menggunakan koneksi tepercaya, SQL Server yang terintegrasi dengan keamanan sistem Windows untuk menyediakan akses terintegrasi tunggal ke jaringan dan database, mempekerjakan terbaik sistem keamanan kedua. Hal ini lebih mudah untuk mengelola keamanan kompleks skema. SQL Server Penyimpanan ideal untuk informasi sensitif seperti nomor jaminan sosial, data kartu kredit, dan alamat yang rahasia.

  • Kemampuan pemulihan langsung    Jika sistem operasi mengalami crash atau power keluar, SQL Server secara otomatis dapat memulihkan database untuk negara yang konsisten dalam hitungan menit dan dengan intervensi administrator database tidak ada.

  • Penggunaan VPN    Akses dan jaringan privat Virtual (VPN) tidak mendapatkan. Tapi dengan SQL Server, jarak jauh pengguna bisa menggunakan masih menggunakan database front-end Access pada desktop dan SQL Server back-end terletak di balik VPN firewall.

Langkah pertama

Ada beberapa masalah Anda dapat alamat depan yang dapat membantu menyederhanakan proses migrasi sebelum Anda menjalankan SSMA:

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

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

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

Sebelum Anda menjalankan SSMA, lakukan langkah-langkah pertama yang berikut ini.

  1. Tutup Access database.

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

  3. Jika database berada dalam .mdb file format, lalu menghapus keamanan tingkat pengguna.

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

Tip    Pertimbangkan untuk menginstal edisi Microsoft SQL Server Express di desktop yang mendukung hingga 10 GB dan cara gratis dan lebih mudah untuk menjalankan dan memeriksa migrasi Anda.

Tip    Jika memungkinkan, gunakan versi mandiri dari Access. Jika Anda hanya bisa menggunakan Office 365, lalu gunakan mesin database Access 2010 untuk melakukan migrasi Access database saat menggunakan SSMA. Untuk informasi selengkapnya, lihat Microsoft Access Database Engine 2010 Redistributable.

Menjalankan SSMA

Microsoft menyediakan Microsoft SQL Server migrasi asisten (SSMA) untuk mempermudah migrasi. SSMA terutama memigrasikan tabel dan kueri pemilihan dengan parameter tidak ada. Formulir, laporan, makro, dan modul VBA tidak dikonversi.

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

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

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

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

  4. Jika Anda melakukan migrasi ke SQL Server 2016 atau yang lebih baru dan ingin memperbarui tabel tertaut, tambahkan kolom cap waktu dengan memilih Alat Tinjau > Proyek pengaturan > umum. Untuk informasi selengkapnya, lihat tabel tertaut Access ke database SQL Server mengembalikan #deleted.

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

SQL Server Metadata Explorer menampilkan objek database Access dan objek SQL Server memungkinkan Anda untuk meninjau konten yang saat ini dari database kedua. Koneksi dua ini disimpan di file migrasi Anda harus memutuskan untuk mentransfer objek tambahan di masa mendatang.

Catatan    Proses migrasi bisa memerlukan beberapa waktu bergantung pada ukuran objek database Anda dan jumlah data yang harus dialihkan.

Mengonversi objek

SSMA mengonversi objek Access ke objek SQL Server, tetapi tidak menyalin objek langsung. SSMA menyediakan daftar objek berikut ini untuk melakukan migrasi sehingga Anda bisa memutuskan apakah Anda ingin memindahkannya ke database SQL Server:

  • Tabel dan kolom

  • Pilih kueri tanpa parameter.

  • Utama dan kunci asing

  • Indeks dan nilai Default

  • Periksa batasan (Perbolehkan panjang kolom properti nol, aturan validasi kolom, tabel validasi)

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

Mengonversi objek database akan membawa definisi objek dari Access metadata, mengonversi mereka setara Transact-SQL (T-SQL) sintaks, dan lalu memuat informasi ini ke dalam proyek. Anda kemudian bisa menampilkan objek SQL Server atau SQL Azure dan propertinya dengan menggunakan SQL Server atau SQL Azure Metadata Explorer.

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

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

Tautkan tabel

Pertimbangkan untuk menginstal versi terbaru dari SQL Server OLE DB dan driver ODBC daripada menggunakan driver SQL Server native yang kapal dengan Windows. Tidak hanya driver yang lebih baru lebih cepat, tetapi mereka mendukung fitur baru di Azure SQL yang tidak driver sebelumnya. Anda dapat menginstal driver di tiap komputer tempat database yang telah dikonversi digunakan. Untuk informasi selengkapnya, lihat Microsoft OLE DB Driver 18 untuk SQL Server dan Microsoft 17 Driver ODBC untuk SQL Server.

Setelah Anda melakukan migrasi tabel Access, Anda dapat menautkan ke tabel di SQL Server yang menghosting sekarang data Anda. Menghubungkan secara langsung dari Access juga menyediakan Anda dengan cara yang lebih sederhana untuk menampilkan data Anda daripada menggunakan alat manajemen SQL Server yang lebih kompleks.  Anda dapat kueri dan mengedit data yang ditautkan bergantung pada izin menyiapkan oleh administrator database SQL Server.

Catatan    Jika Anda membuat ODBC DSN bila Anda menautkan ke database SQL Server Anda selama proses penautan, membuat DSN sama pada semua mesin yang menggunakan aplikasi baru.

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

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

Uji dan merevisi

Bagian berikut menjelaskan masalah umum yang bisa Anda temui selama migrasi dan cara menangani dengan mereka.

Kueri

Hanya pilih kueri dikonversi; kueri lain tidak, termasuk pilih kueri yang mengambil parameter. Beberapa kueri mungkin tidak benar-benar mengonversi, SSMA laporan dan kueri kesalahan selama proses konversi. Anda bisa secara manual mengedit objek yang tidak dikonversi dengan menggunakan sintaks T-SQL. Kesalahan sintaks juga memerlukan secara manual mengonversi tipe data dan fungsi khusus Access ke SQL Server yang. Perbedaan sintaks SQL umum menyertakan:

  • Access menggunakan tanda bintang (*) sebagai karakter wildcard sementara T-SQL menggunakan persen (%).

  • Access menggunakan tanda kutip di sekitar nama tabel dan objek. T-SQL dapat menggunakannya untuk nama tabel dengan spasi, tetapi ini bukan standar penamaan berlatih. Dalam banyak kasus, nama objek harus diubah namanya tanpa spasi, tapi kueri harus juga ditulis ulang untuk menampilkan nama tabel baru. Gunakan tanda kurung siku [] untuk tabel yang tidak dapat diubah namanya tapi yang tidak mematuhi penamaan standar.

  • Access menambahkan tanda kurung ekstra di sekitar parameter dalam kueri, yang dapat dihapus.

  • SQL Server menangani nilai NULL dan penggabungan string secara berbeda. Menguji kueri untuk memastikan bahwa kanan nilai yang dikembalikan.

  • Untuk pernyataan bersyarat, Access menggunakan IIF sementara T-SQL sering menggunakan kasus, meskipun SQL Server 2012 dan yang lebih baru mendukung IIF.

  • Beberapa fungsi dan tipe data yang digunakan secara berbeda di Access dan T-SQL. SSMA harus mengonversi ini untuk Anda, tetapi Anda mungkin perlu melakukan perubahan manual lebih lanjut.

Tipe data

Akses dan SQL Server memiliki tipe data yang serupa, tapi Ketahuilah potensi masalah berikut ini.

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

Lampiran   Tipe lampiran menyimpan file dalam Access database. Di SQL Server, Anda memiliki beberapa opsi untuk dipertimbangkan. Anda bisa mengekstrak file dari Access database dan lalu pertimbangkan menyimpan link ke file di database SQL Server Anda. Alternatifnya, Anda bisa menggunakan FILESTREAM atau FileTables untuk menyimpan lampiran yang disimpan dalam database SQL Server.

Hyperlink    Tabel Access memiliki kolom hyperlink yang SQL Server tidak mendukung. Secara default, kolom ini akan dikonversi menjadi nvarchar(max) kolom di SQL Server, tetapi Anda dapat 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 multinilai    Bidang multinilai akses dikonversi ke SQL Server sebagai bidang ntext yang berisi dipisahkan sekumpulan nilai. Karena SQL Server tidak mendukung tipe data multinilai yang model hubungan banyak-ke-banyak, desain tambahan dan konversi kerja mungkin diperlukan.

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

Catatan    Bidang multinilai ada tidak dikonversi dan dihentikan di Access 2010.

Visual Basic

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

Fungsi VBA dalam kueri    Kueri Access mendukung fungsi VBA pada data di kolom kueri. Tetapi kueri Access yang menggunakan fungsi VBA tidak dapat berjalan di SQL Server, sehingga semua data yang diminta yang diberikan ke Microsoft Access untuk pemrosesan. Dalam banyak kasus, kueri ini akan dikonversi menjadi kueri jarak jauh ( kueri kirim langsung, prosedur tersimpan atau tampilan) yang menjalankan di SQL Server untuk kinerja yang optimal.

Fungsi ditentukan pengguna, dalam kueri    Kueri Microsoft Access mendukung penggunaan fungsi yang ditentukan dalam modul VBA memproses data diserahkan kepada mereka. Kueri dapat kueri mandiri, pernyataan SQL di sumber rekaman formulir laporan, data sumber dari kotak kombo dan daftar kotak pada formulir, laporan dan bidang tabel, dan ekspresi aturan validasi default. SQL Server tidak bisa menjalankan fungsi yang ditentukan pengguna ini. Anda mungkin perlu mendesain ulang fungsi-fungsi ini dan mengonversinya menjadi prosedur tersimpan di SQL Server secara manual.

Mengoptimalkan kinerja

Jauh, cara yang paling penting untuk mengoptimalkan kinerja dengan SQL Server Anda baru, back-end adalah memutuskan kapan menggunakan kueri lokal atau jarak jauh. Saat Anda melakukan migrasi data Anda ke SQL Server, Anda juga memindahkan dari file server ke model database klien-server komputasi. Ikuti panduan umum berikut:

  • Menjalankan kueri kecil, baca-saja di klien untuk tercepat akses.

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

  • Meminimalkan lalu lintas jaringan dengan filter dan agregasi untuk mentransfer hanya data yang Anda perlukan.

Mengoptimalkan kinerja dalam klien server database model

Aplikasi Anda juga bisa menggunakan fungsi yang ditentukan pengguna, prosedur tersimpan dan pemicu untuk memusatkan dan berbagi aplikasi logika, aturan bisnis dan kebijakan, kueri kompleks, validasi data, dan integritas referensial kode di server, dan bukan pada klien.

Hindari menjalankan kueri yang menggabungkan tabel Access lokal dan tabel SQL Server, sering kali disebut kueri hibrid. Tipe kueri ini masih memerlukan akses ke Unduh semua data SQL Server ke komputer lokal dan lalu menjalankan kueri, tidak menjalankan kueri di SQL Server.

Tidak dapat dibuka recordset formulir yang didasarkan pada tabel besar dan Nonaktifkan navigasi catatan.

Akhirnya, menguji setiap kueri untuk memastikan kinerja yang optimal.

Untuk informasi selengkapnya, lihat Database mesin penyelarasan penasihat, gunakan Penganalisis kinerja mengoptimalkan Access database, dan Mengoptimalkan Microsoft Office Access aplikasi tertaut ke SQL Server.

Lihat Juga

Panduan migrasi Azure Database

Microsoft Data migrasi Blog

Microsoft Access ke SQL Server migrasi, konversi dan Upsizing

Cara berbagi database desktop Access

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.

×