Bagikan melalui


Menyebarkan Database (VB)

oleh Scott Mitchell

Menyebarkan aplikasi web ASP.NET memerlukan mendapatkan file dan sumber daya yang diperlukan dari lingkungan pengembangan ke lingkungan produksi. Untuk aplikasi web berbasis data, ini termasuk skema database dan data. Tutorial ini adalah yang pertama dalam seri yang mengeksplorasi langkah-langkah yang diperlukan untuk berhasil menyebarkan database dari lingkungan pengembangan ke produksi.

Pengantar

Menyebarkan aplikasi web ASP.NET memerlukan mendapatkan file dan sumber daya yang diperlukan dari lingkungan pengembangan ke lingkungan produksi. Selama enam tutorial terakhir, kami melihat penyebaran aplikasi web Ulasan Buku sederhana. Situs demo ini terdiri dari sejumlah sumber daya sisi server - ASP.NET halaman, file konfigurasi, Web.sitemap file, dan sebagainya - bersama dengan sumber daya sisi klien, seperti gambar dan file CSS. Tapi bagaimana dengan aplikasi web berbasis data? Langkah tambahan apa yang harus diambil untuk menyebarkan aplikasi web yang menggunakan database?

Selama beberapa tutorial berikutnya, kami akan membahas langkah-langkah yang diperlukan untuk menyebarkan aplikasi web berbasis data. Tutorial ini dimulai dengan memeriksa cara mendapatkan skema database dan konten dari lingkungan pengembangan ke lingkungan produksi, sementara tutorial berikutnya melihat perubahan konfigurasi yang diperlukan. Setelah itu kita akan menjelajahi tantangan penyebaran database yang menggunakan Layanan Aplikasi (Keanggotaan, Peran, Profil, dan sebagainya).

Memeriksa Aplikasi Web Ulasan Buku yang Diperbarui

Untuk menunjukkan penyebaran aplikasi web berbasis data, saya telah memperbarui aplikasi web Ulasan Buku dari situs web statis sederhana ke yang digerakkan oleh data. Seperti sebelumnya, ada dua versi aplikasi dalam unduhan tutorial ini: satu yang menggunakan model Proyek Aplikasi Web dan satu yang menggunakan model Proyek Situs Web.

Aplikasi web Book Reviews yang diperbarui menggunakan database Edisi Ekspres SQL Server 2008, yang disimpan di folder situs App_Data (~/App_Data/Reviews.mdf). Jika Anda telah menginstal SQL Server 2008 di komputer Anda maka demo harus berjalan tanpa kesalahan. Jika Anda memiliki versi SQL Server yang lebih lama, Anda dapat menginstal Edisi Ekspres SQL Server 2008 gratis atau Anda dapat menggunakan skrip database yang tersedia dalam unduhan tutorial ini untuk membuat database sendiri.

Database Reviews.mdf berisi empat tabel:

  • Genres - termasuk catatan untuk setiap genre, seperti Teknologi, Fiksi, dan Bisnis.
  • Books- termasuk catatan untuk setiap ulasan, dengan kolom seperti Title, , GenreIdReviewDate, dan Review, antara lain.
  • Authors - termasuk informasi tentang setiap penulis yang telah berkontribusi pada buku yang ditinjau.
  • BooksAuthors - tabel gabungan banyak-ke-banyak yang menentukan penulis apa yang telah menulis buku apa.

Gambar 1 memperlihatkan diagram ER dari empat tabel ini.

Database Aplikasi Web Ulasan Buku Terdiri dari Empat Tabel

Gambar 1: Database Aplikasi Web Ulasan Buku Terdiri dari Empat Tabel (Klik untuk melihat gambar ukuran penuh)

Versi sebelumnya dari situs web Ulasan Buku memiliki halaman ASP.NET terpisah untuk setiap buku. Misalnya, ada halaman bernama ~/Tech/TYASP35.aspx yang berisi ulasan untuk Teach Yourself ASP.NET 3,5 dalam 24 Jam. Versi situs web berbasis data baru ini memiliki ulasan yang disimpan dalam database dan satu halaman ASP.NET, Review.aspx?ID=bookId, yang menampilkan ulasan untuk buku yang ditentukan. Demikian juga, ada halaman Genre.aspx?ID=genreId yang mencantumkan buku yang ditinjau dalam genre yang ditentukan.

Gambar 2 dan 3 memperlihatkan Genre.aspx halaman dan Review.aspx dalam tindakan. Perhatikan URL di bilah Alamat untuk setiap halaman. Pada Gambar 2 itu Genre.aspx?ID=85d164ba-1123-4c47-82a0-c8ec75de7e0e. Karena 85d164ba-1123-4c47-82a0-c8ec75de7e0e adalah GenreId nilai untuk genre Teknologi, judul halaman berbunyi "Ulasan Teknologi" dan daftar berpoin menghitung ulasan tersebut di situs yang berada di bawah genre ini.

Halaman Genre Teknologi

Gambar 2: Halaman Genre Teknologi (Klik untuk melihat gambar ukuran penuh)

Ulasan untuk Teach Yourself ASP.NET 3.5 dalam 24 Jam

Gambar 3: Ulasan untuk Teach Yourself ASP.NET 3.5 dalam 24 Jam (Klik untuk melihat gambar ukuran penuh)

Aplikasi web Ulasan Buku juga menyertakan bagian administrasi tempat administrator dapat menambahkan, mengedit, dan menghapus genre, ulasan, dan informasi penulis. Saat ini, setiap pengunjung dapat mengakses bagian administrasi. Dalam tutorial di masa mendatang kita akan menambahkan dukungan untuk akun pengguna dan hanya mengizinkan pengguna yang berwenang ke halaman administrasi.

Jika Anda mengunduh aplikasi Ulasan Buku, harap diingat bahwa tujuannya adalah untuk menunjukkan penyebaran aplikasi berbasis data. Ini tidak menunjukkan praktik terbaik sejauh desain aplikasi. Misalnya, tidak ada Lapisan Akses Data (DAL) terpisah; halaman ASP.NET berkomunikasi langsung dengan database melalui kontrol SqlDataSource atau kode ADO.NET di kelas code-behind mereka. Untuk tampilan yang lebih mendalam dalam membuat aplikasi berbasis data menggunakan arsitektur berjenjang, lihat tutorial Bekerja dengan Data saya.

Database tentang Pengembangan Versus Produksi

Saat Anda memulai pengembangan pada aplikasi web berbasis data, Anda harus menentukan string koneksi database, yang menyediakan detail aplikasi tentang cara menyambungkan ke database. Ini string koneksi menentukan, antara lain, server database, nama database, dan informasi keamanan. Paling sering, database yang digunakan oleh aplikasi selama pengembangan berbeda dari database yang digunakan saat dalam produksi. Ada banyak manfaat menggunakan database yang berbeda untuk pengembangan versus produksi. Memiliki database yang berbeda dalam pengembangan berarti Anda tidak perlu khawatir secara tidak sengaja memodifikasi atau menghapus data langsung. Ini juga memungkinkan Anda memasukkan data pengujian dummy atau membuat perubahan mencolok pada model data tanpa harus khawatir tentang efek pada aplikasi dalam produksi. Kelemahan dari memiliki database yang berbeda dalam lingkungan pengembangan dan produksi adalah bahwa ketika aplikasi disebarkan database dan setiap perubahan yang berkaitan dengan skema atau data database juga harus disebarkan.

Sebelum penyebaran pertama, hanya ada satu instans database, dan instans tersebut berada di lingkungan pengembangan. Saat menyebarkan aplikasi ke produksi untuk pertama kalinya, kita tidak hanya boleh menyalin file sisi server dan sisi klien yang diperlukan, tetapi juga menyalin database dari lingkungan pengembangan ke lingkungan produksi. Di sinilah kita berdiri sekarang dengan aplikasi web Ulasan Buku - database berada di App_Data folder di lingkungan pengembangan kita tetapi belum didorong ke lingkungan produksi.

Setelah aplikasi disebarkan, ada dua salinan database. Saat aplikasi matang, fitur baru dapat ditambahkan, memerlukan perubahan pada model data (seperti menambahkan kolom baru ke tabel yang sudah ada, membuat perubahan pada kolom yang ada, menambahkan tabel baru, dan sebagainya). Ketika aplikasi web berikutnya disebarkan, perubahan yang diterapkan pada database di lingkungan pengembangan sejak penyebaran terakhir harus diterapkan ke database produksi. Beberapa strategi untuk mengelola proses ini dibahas dalam tutorial di masa mendatang. Tutorial ini berfokus pada penyebaran seluruh database dari lingkungan pengembangan ke produksi.

Menyebarkan Database ke Lingkungan Produksi

Sisa tutorial ini melihat cara menyebarkan database dari lingkungan pengembangan ke lingkungan produksi. Jika Anda mengikutinya, Anda perlu memastikan bahwa akun Anda dengan penyedia host web Anda menyertakan dukungan database Microsoft SQL Server. Anda juga harus memiliki beberapa informasi yang ada, yaitu nama server database, nama database, dan nama pengguna dan kata sandi yang digunakan untuk menyambungkan ke database.

Seperti disebutkan sebelumnya dalam tutorial ini, database situs web Ulasan Buku adalah database Edisi Ekspres SQL Server 2008 yang disimpan dalam App_Data folder. Ini akan menjadi alasan bahwa menyebarkan database seperti itu akan sesingkat menyalin App_Data folder dari lingkungan pengembangan ke lingkungan produksi. Namun, sebagian besar penyedia host web tidak mendukung database hosting di App_Data folder karena alasan keamanan. Sebagai gantinya, host web menyediakan akun di server database SQL Server dalam lingkungannya. Menyebarkan database dari lingkungan pengembangan Anda ke lingkungan produksi mengharuskan database Anda terdaftar di server database host web Anda.

Jadi bagaimana Anda mendapatkan database Anda dari lingkungan pengembangan ke lingkungan produksi? Ada beberapa cara untuk mencapainya tergantung pada layanan apa yang ditawarkan host web Anda. Dengan beberapa host, seperti DiscountASP.NET, Anda dapat melakukan FTP cadangan database atau file aktual .mdf ke situs web Anda lalu, dari Panel Kontrol, memulihkan file cadangan atau melampirkan .mdf file ke server database SQL Server. Dengan alat-alat seperti itu menyebarkan database semampu menyalin App_Data folder ke lingkungan produksi dan kemudian melampirkannya melalui Panel Kontrol. Ini mungkin cara term mudah dan tercepat untuk menerbitkan database Anda untuk pertama kalinya.

Pendekatan lain adalah menggunakan Panduan Penerbitan Database. Panduan Penerbitan Database adalah aplikasi desktop Windows yang akan menghasilkan perintah SQL untuk membuat skema database Anda - tabel, prosedur tersimpan, tampilan, fungsi yang ditentukan pengguna, dan sebagainya - dan, secara opsional, data dalam tabelnya. Anda kemudian dapat menyambungkan ke server database penyedia host web Anda melalui SQL Server Management Studio lalu menjalankan skrip ini untuk menduplikasi database pada produksi. Lebih baik lagi, jika penyedia host web Anda mendukung Layanan Penerbitan Database Microsoft, Anda bisa memiliki skrip yang dihasilkan oleh Panduan Penerbitan Database yang secara otomatis dijalankan di server database atas nama Anda. Karena Panduan Penerbitan Database menghasilkan skrip yang membuat skema dan data database, itu akan berfungsi terlepas dari apakah penyedia host web Anda menawarkan fitur seperti melampirkan file yang diunggah .mdf .

Membuat Perintah SQL untuk Membuat Skema Database dan Data Menggunakan Panduan Penerbitan Database

Mari kita telusuri menggunakan Panduan Penerbitan Database untuk menyebarkan database Ulasan Buku ke produksi. Jika Anda menggunakan Visual Studio 2008 atau lebih tinggi, Panduan Penerbitan Database sudah diinstal.

Buka Visual Studio dan navigasikan ke Reviews.mdf database. Jika Anda menggunakan Visual Web Developer, buka Database Explorer; jika Anda menggunakan Visual Studio, gunakan Server Explorer. Gambar 4 memperlihatkan Reviews.mdf database di Database Explorer di Visual Web Developer. Seperti yang ditunjukkan Reviews.mdf Gambar 4, database terdiri dari empat tabel, tiga prosedur tersimpan, dan fungsi yang ditentukan pengguna.

Menemukan Database di Database Explorer atau Server Explorer

Gambar 4: Temukan Database di Database Explorer atau Server Explorer (Klik untuk melihat gambar ukuran penuh)

Klik kanan pada nama database dan pilih opsi "Terbitkan ke penyedia" dari menu konteks. Ini meluncurkan Panduan Penerbitan Database (lihat Gambar 5). Klik Berikutnya untuk melanjutkan melewati layar percikan.

Cuplikan layar jendela Wizard Penerbitan Database, yang memperlihatkan layar percikan dan tombol Berikutnya untuk memajukan wizard.

Gambar 5: Layar Splash Wizard Penerbitan Database (Klik untuk melihat gambar ukuran penuh)

Layar kedua dalam panduan mencantumkan database yang dapat diakses oleh Panduan Penerbitan Database dan memungkinkan Anda memilih apakah akan membuat skrip semua objek dalam database yang dipilih atau memilih objek mana yang akan diskrip. Pilih database yang sesuai dan biarkan opsi "Skrip semua objek dalam database yang dipilih" dicentang.

Catatan

Jika Anda mendapatkan kesalahan "Tidak ada objek dalam database databaseName dari jenis yang dapat ditulis oleh panduan ini" saat mengklik Berikutnya di layar yang diperlihatkan di Gambar 6, pastikan jalur ke file database Anda tidak terlalu panjang. Kesalahan ini dapat muncul jika jalur ke file database terlalu panjang.

Cuplikan layar jendela Panduan Penerbitan Database, yang memperlihatkan database yang disorot dalam daftar dan kotak centang Skrip semua objek yang terisi.

Gambar 6: Layar Splash Wizard Penerbitan Database (Klik untuk melihat gambar ukuran penuh)

Dari layar berikutnya Anda dapat membuat file skrip atau, jika host web Anda mendukungnya, terbitkan database langsung ke server database penyedia host web Anda. Seperti yang ditunjukkan Gambar 7, saya memiliki skrip yang ditulis ke file C:\REVIEWS.MDF.sql.

Skrip Database ke File atau Terbitkan Langsung ke Penyedia Host Web Anda

Gambar 7: Buat Skrip Database ke File atau Terbitkan Langsung ke Penyedia Host Web Anda (Klik untuk melihat gambar ukuran penuh)

Layar berikutnya meminta Anda untuk berbagai opsi pembuatan skrip. Anda dapat menentukan apakah skrip harus menyertakan pernyataan drop untuk menghapus objek yang ada ini. Ini default ke True, yang baik-baik saja saat menyebarkan database untuk pertama kalinya. Anda juga dapat menentukan apakah database target SQL Server 2000, SQL Server 2005, atau SQL Server 2008. Terakhir, Anda dapat menunjukkan apakah akan membuat skrip skema dan data, hanya data, atau hanya skema. Skema adalah kumpulan objek database, tabel, prosedur tersimpan, tampilan, dan sebagainya. Data adalah informasi yang berada dalam tabel.

Seperti yang diilustrasikan Gambar 8, saya telah mengonfigurasi wizard untuk menghilangkan objek database yang ada, untuk menghasilkan skrip untuk database SQL Server 2008, dan untuk menerbitkan skema dan data.

Tentukan Opsi Penerbitan

Gambar 8: Tentukan Opsi Penerbitan (Klik untuk melihat gambar ukuran penuh)

Dua layar terakhir meringkas tindakan yang akan diambil lalu menampilkan status pembuatan skrip. Hasil bersih menjalankan wizard adalah bahwa kita memiliki file skrip yang berisi perintah SQL yang diperlukan untuk membuat database pada produksi dan mengisinya dengan data yang sama seperti pada pengembangan.

Menjalankan Perintah SQL Pada Database Lingkungan Produksi

Sekarang setelah kita memiliki skrip yang berisi perintah SQL untuk membuat database dan datanya yang tersisa adalah menjalankan skrip pada database produksi. Beberapa penyedia host web menawarkan kotak teks di Panel Kontrol tempat Anda dapat memasukkan perintah SQL untuk dijalankan di database Anda. Jika Anda memiliki file skrip yang sangat besar, maka opsi ini mungkin tidak berfungsi ( REVIEWS.MDF.sql file skrip berukuran lebih dari 425 KB, misalnya).

Pendekatan yang lebih baik adalah terhubung langsung ke server database produksi menggunakan SQL Server Management Studio (SSMS). Jika Anda memiliki Edisi SQL Server non-Ekspres yang terinstal di komputer Anda, kemungkinan Anda sudah menginstal SQL Server Management Studio. Jika tidak, Anda dapat mengunduh dan menginstal salinan gratis SQL Server Management Studio Express Edition.

Luncurkan SSMS dan sambungkan ke server database host web Anda menggunakan informasi yang disediakan oleh penyedia host web Anda.

Cuplikan layar kotak dialog Sambungkan ke Server, yang memperlihatkan informasi server data host web di bidang teks.

Gambar 9: Sambungkan ke Server Database Penyedia Host Web Anda (Klik untuk melihat gambar ukuran penuh)

Perluas tab Database dan temukan database Anda. Klik tombol Kueri Baru di sudut kiri atas Toolbar, tempelkan perintah SQL dari file skrip yang dibuat oleh Panduan Penerbitan Database, dan klik tombol Jalankan untuk menjalankan perintah ini di server database produksi. Jika file skrip Anda sangat besar, mungkin perlu beberapa menit untuk menjalankan perintah.

Cuplikan layar jendela Microsoft SQL Server Management Studio, yang memperlihatkan perintah file skrip yang dijalankan di server produksi.

Gambar 10: Sambungkan ke Server Database Penyedia Host Web Anda (Klik untuk melihat gambar ukuran penuh)

Itu saja yang ada untuk itu! Pada titik ini database pengembangan telah diduplikasi ke produksi. Jika Anda Merefresh database di SSMS, Anda akan melihat objek database baru. Gambar 11 memperlihatkan tabel database produksi, prosedur tersimpan, dan fungsi yang ditentukan pengguna, yang mencerminkan tabel pada database pengembangan. Dan karena kami menginstruksikan Panduan Penerbitan Database untuk menerbitkan data, tabel database produksi memiliki data yang sama dengan tabel database pengembangan pada saat wizard dijalankan. Gambar 12 memperlihatkan data dalam Books tabel pada database produksi.

Objek Database Telah Diduplikasi pada Database Produksi

Gambar 11: Objek Database Telah Diduplikasi pada Database Produksi (Klik untuk melihat gambar ukuran penuh)

Database Produksi Berisi Data yang Sama seperti pada Database Pengembangan

Gambar 12: Database Produksi Berisi Data yang Sama seperti pada Database Pengembangan (Klik untuk melihat gambar ukuran penuh)

Pada titik ini kami hanya menyebarkan database pengembangan ke produksi. Kami belum melihat penyebaran aplikasi web itu sendiri atau memeriksa perubahan konfigurasi apa yang diperlukan agar aplikasi pada produksi menggunakan database produksi. Kami akan membahas masalah ini di tutorial berikutnya!

Ringkasan

Menyebarkan aplikasi web berbasis data memerlukan penyalinan database yang digunakan selama pengembangan ke lingkungan produksi. Banyak penyedia host web menawarkan alat untuk menyederhanakan proses penyebaran database. Misalnya, dengan DiscountASP.NET Anda dapat FTP file database .mdf Anda (atau cadangan) lalu melampirkan database ke server database dari Panel Kontrol. Opsi lain yang berfungsi terlepas dari fitur apa yang ditawarkan penyedia host web Anda adalah alat Panduan Penerbitan Database Microsoft, yang menghasilkan skrip perintah SQL untuk membuat skema dan data database pengembangan. Setelah skrip ini dibuat, Anda dapat menjalankannya pada database produksi.

Sekarang setelah database aplikasi web Ulasan Buku sedang diproduksi, kita dapat menyebarkan aplikasi. Namun, informasi konfigurasi aplikasi web menentukan string koneksi ke database, dan yang string koneksi mereferensikan database pengembangan. Kita perlu memperbarui informasi string koneksi ini saat menyebarkan situs ke produksi. Tutorial berikutnya melihat perbedaan konfigurasi ini dan menelusuri langkah-langkah yang diperlukan untuk menerbitkan situs Ulasan Buku berbasis data ke produksi.

Selamat Pemrograman!

Bacaan lebih lanjut

Untuk informasi selengkapnya tentang topik yang dibahas dalam tutorial ini, lihat sumber daya berikut: