Bagikan melalui


Mengekspor inventori Access (AccessToSQL)

Jika Anda memiliki beberapa database Access dan Anda tidak yakin database mana yang akan dimigrasikan ke SQL Server, Anda dapat mengekspor inventori semua database Access dalam proyek. Anda kemudian dapat meninjau dan mengkueri metadata inventori untuk menentukan database dan objek mana dalam database yang akan dimigrasikan. Inventori ini memungkinkan Anda menemukan jawaban atas pertanyaan dengan cepat, seperti daftar berikut:

  • Apa database terbesar?
  • Siapa memiliki sebagian besar database?
  • Database mana yang berisi tabel yang sama?
  • Database mana yang belum dimodifikasi dalam enam bulan terakhir?
  • Database mana yang berisi informasi privat?

Contoh kueri yang digunakan untuk menjawab pertanyaan-pertanyaan ini disediakan di akhir artikel ini.

Metadata yang diekspor

SSMA mengekspor metadata tentang database Access, tabel, kolom, indeks, kunci asing, kueri, laporan, formulir, makro, dan modul. Metadata tentang masing-masing kategori item ini diekspor ke tabel terpisah. Untuk skema tabel ini, lihat Akses Skema Inventarisasi.

Mengekspor Data Inventaris

Untuk mengekspor inventori Access, Anda harus terlebih dahulu membuka atau membuat proyek SSMA, lalu menambahkan database Access yang ingin Anda analisis. Setelah Anda menambahkan database ke proyek SSMA, Anda mengekspor metadata tentang database tersebut ke database dan skema SQL Server tertentu. Jika perlu, SSMA membuat tabel untuk menyimpan metadata. SSMA kemudian menambahkan metadata tentang database Access ke database SQL Server.

Catatan

Database Access dapat dibagi menjadi beberapa file: database back-end yang berisi tabel dan database front-end yang berisi kueri, formulir, laporan, makro, modul, dan pintasan. Jika Anda ingin memigrasikan database terpisah ke SQL Server, tambahkan database front-end ke SSMA.

Instruksi berikut menjelaskan cara membuat proyek, menambahkan database ke proyek, menyambungkan ke SQL Server, lalu mengekspor data inventori.

Membuat proyek

  1. Buka SSMA untuk Access.

  2. Pada menu File, pilih Proyek Baru.

    Kotak dialog Proyek Baru muncul.

  3. Dalam kotak Nama , masukkan nama untuk proyek Anda.

  4. Dalam kotak Lokasi , masukkan atau pilih folder untuk proyek.

  5. Dalam kotak Kombo Migrasi ke , pilih versi target yang ingin Anda migrasikan, lalu pilih OK.

Untuk informasi selengkapnya tentang membuat proyek, lihat Membuat dan Mengelola Proyek.

Menemukan dan menambahkan database

  1. Pada menu File , pilih Temukan Database.

  2. Di Wizard Temukan Database, masukkan drive, jalur file, atau jalur UNC yang ingin Anda cari. Atau, pilih Telusuri untuk memilih drive atau folder jaringan.

  3. Pilih Tambahkan untuk menambahkan lokasi ke kotak daftar.

    Ulangi dua langkah sebelumnya untuk menambahkan lokasi pencarian tambahan.

  4. Secara opsional, tambahkan kriteria pencarian untuk menyempurnakan daftar database yang dikembalikan.

    Penting

    Kotak teks Semua atau bagian dari nama file tidak mendukung karakter kartubebas.

  5. Pilih Pindai.

    Halaman Pindai muncul. Ini memperlihatkan database yang telah ditemukan dan kemajuan pencarian. Untuk menghentikan pencarian, pilih Hentikan.

  6. Pada halaman Pilih File, pilih setiap database yang ingin Anda tambahkan ke proyek.

    Anda bisa menggunakan tombol Pilih Semua dan Hapus Semua di bagian atas daftar untuk memilih atau menghapus semua database. Anda juga dapat menahan tombol CTRL ke bawah untuk memilih beberapa baris, atau menahan tombol SHIFT ke bawah untuk memilih rentang baris.

  7. Pilih Selanjutnya.

  8. Pada halaman Verifikasi, pilih Selesai.

Untuk informasi selengkapnya tentang menambahkan database ke proyek, lihat Menambahkan dan Menghapus File Database Access.

Sambungkan ke SQL Server

  1. Pada menu File, pilih Koneksi ke SQL Server.

  2. Dalam kotak dialog koneksi, masukkan atau pilih nama instans SQL Server.

    • Jika Anda menyambungkan ke instans default di komputer lokal, Anda dapat memasukkan localhost atau titik (.).

    • Jika Anda menyambungkan ke instans default di komputer lain, masukkan nama komputer.

    • Jika Anda menyambungkan ke instans bernama, masukkan nama komputer, garis miring terbalik, dan nama instans. Misalnya: MyServer\MyInstance.

  3. Dalam kotak Database , masukkan nama database target untuk metadata yang diekspor.

  4. Jika instans SQL Server Anda dikonfigurasi untuk menerima koneksi pada port non-default, masukkan nomor port yang digunakan untuk koneksi SQL Server di kotak Port server . Untuk instans default SQL Server, nomor port default adalah 1433. Untuk instans bernama, SSMA mencoba mendapatkan nomor port dari Layanan Browser SQL Server.

  5. Di daftar dropdown Autentikasi, pilih jenis autentikasi yang akan digunakan untuk koneksi. Untuk menggunakan akun Windows saat ini, pilih Autentikasi Windows. Untuk menggunakan login SQL Server, pilih Autentikasi SQL Server, lalu berikan nama pengguna dan kata sandi.

Untuk informasi selengkapnya tentang menyambungkan ke SQL Server, lihat Koneksi ke SQL Server (AccessToSQL).

Mengekspor informasi inventori

  1. Di Access Metadata Explorer, perluas Access-metabase.

  2. Pilih kotak centang di samping Database.

    Untuk menghilangkan database individual atau objek database, perluas folder Database , lalu kosongkan kotak centang di samping database atau objek database.

  3. Klik kanan Database dan pilih Ekspor Skema.

  4. Dalam kotak dialog Pilih Skema untuk Ekspor , pilih skema target untuk metadata yang diekspor, lalu pilih OK.

Setiap kali Anda mengekspor metadata, SSMA menambahkan data ke inventori. Data yang ada dalam inventaris tidak diperbarui atau dihapus.

Mengkueri metadata yang diekspor

Setelah mengekspor metadata tentang database Access, Anda bisa mengkueri metadata. Instruksi berikut menjelaskan cara menggunakan jendela Editor Kueri di SQL Server Management Studio untuk menjalankan kueri.

Metadata kueri

  1. Dari menu Mulai, arahkan ke Semua Program, arahkan ke Microsoft SQL Server 2005 atau ke Microsoft SQL Server 2008 atau ke Microsoft SQL Server 2012, lalu pilih SQL Server Management Studio.

  2. Dalam kotak dialog Koneksi ke Server, verifikasi pengaturan, lalu pilih Koneksi.

  3. Pada toolbar Management Studio, pilih Kueri Baru untuk membuka Editor Kueri.

  4. Di jendela Editor Kueri, masukkan kueri. Beberapa contoh diperlihatkan di bagian berikut.

  5. Tekan tombol F5 untuk menjalankan kueri.

Contoh kueri

Sebelum menjalankan salah satu kueri berikut, Anda harus menjalankan kueri USE database_name untuk memastikan kueri dijalankan terhadap database yang berisi metadata yang diekspor. Misalnya, jika Anda mengekspor metadata ke database bernama MyAccessMetadata, Anda akan menambahkan pernyataan berikut di awal kode Transact-SQL:

USE MyAccessMetadata;
GO

Contoh berikut semuanya menggunakan skema dbo . Jika Anda mengekspor metadata ke skema lain, pastikan untuk mengubah skema saat Anda menjalankan kueri ini.

Tabel dan kolom apa yang ada di database ini?

Kueri berikut menggabungkan tabel yang berisi metadata kolom, tabel, dan database, lalu mengembalikan nama semua database, tabel, dan kolom, diurutkan menurut nama kolom:

SELECT DatabaseName,
    TableName,
    ColumnName
FROM dbo.SSMA_Access_InventoryColumns C
INNER JOIN dbo.SSMA_Access_InventoryTables T
    ON C.TableId = T.TableId
INNER JOIN dbo.SSMA_Access_InventoryDatabases D
    ON T.DatabaseId = D.DatabaseId
ORDER BY ColumnName;

Apa database terbesar?

Kueri berikut mengembalikan nama database, ukuran file, dan jumlah tabel di setiap database Access, diurutkan menurut ukuran file:

SELECT DatabaseName,
    FileSize,
    TablesCount
FROM dbo.SSMA_Access_InventoryDatabases
ORDER BY FileSize DESC;

Siapa adalah pemilik sebagian besar database?

Kueri berikut mengembalikan nama database dan pemilik setiap database Access, yang diurutkan menurut pemilik.

SELECT DatabaseName, FileOwner
FROM dbo.SSMA_Access_InventoryDatabases
ORDER BY FileOwner;

Database mana yang berisi tabel yang sama?

Kueri berikut menggunakan subkueri untuk menemukan semua nama tabel yang muncul lebih dari sekali dalam daftar tabel, lalu menggunakan daftar tabel ini untuk mendapatkan nama database. Hasilnya dikembalikan sebagai nama database lalu nama tabel, dan diurutkan menurut nama tabel.

SELECT DatabaseName,
    TableName
FROM dbo.SSMA_Access_InventoryTables T
INNER JOIN dbo.SSMA_Access_InventoryDatabases D
    ON D.DatabaseId = T.DatabaseId
WHERE TableName IN (
    SELECT TableName
    FROM dbo.SSMA_Access_InventoryTables
    GROUP BY TableName
    HAVING COUNT(*) > 1
)
ORDER BY TableName;

Database mana yang tidak dimodifikasi dalam enam bulan terakhir?

Kueri berikut mendapatkan tanggal saat ini, mendapatkan nilai bulan selama enam bulan yang lalu, lalu mengembalikan daftar database dengan tanggal yang dimodifikasi lebih besar dari enam bulan yang lalu.

SELECT DatabaseName,
    DateModified
FROM dbo.SSMA_Access_InventoryDatabases
WHERE DATEDIFF(MONTH, DateModified, GETDATE()) > 6
ORDER BY DateModified;

Database mana yang berisi informasi privat?

Database Access Anda mungkin berisi informasi sensitif atau pribadi. Anda mungkin ingin memindahkan database ini ke SQL Server untuk memanfaatkan fitur keamanannya. Jika Anda tahu bahwa kolom yang berisi data sensitif memiliki nama tertentu, atau berisi karakter tertentu, Anda bisa menggunakan kueri untuk menemukan semua kolom yang berisi informasi tersebut. Misalnya, Anda dapat menemukan semua kolom yang menyertakan string "gaji". Kueri kemudian mengembalikan nama database, nama tabel, dan nama kolom.

SELECT DatabaseName,
    TableName,
    ColumnName
FROM dbo.SSMA_Access_InventoryColumns C
INNER JOIN dbo.SSMA_Access_InventoryTables T
    ON C.TableId = T.TableId
INNER JOIN dbo.SSMA_Access_InventoryDatabases D
    ON T.DatabaseId = D.DatabaseId
WHERE ColumnName LIKE '%salary%';

Jika Anda tidak mengetahui nama kolom, Anda bisa menulis kueri untuk mengembalikan semua kolom. Untuk melakukan ini, hapus klausa WHERE dari kueri sebelumnya.

Baca juga