Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Jason Lee
Topik ini menjelaskan cara mengonfigurasi server database SQL Server 2008 R2 untuk mendukung penyebaran dan penerbitan web.
Tugas yang dijelaskan dalam topik ini umum untuk setiap skenario penyebaran—tidak masalah apakah server web Anda dikonfigurasi untuk menggunakan Layanan Agen Jarak Jauh IIS Web Deployment Tool (Web Deploy), Web Deploy Handler, atau penyebaran offline atau aplikasi Anda berjalan pada satu server web atau farm server. Cara Anda menyebarkan database dapat berubah sesuai dengan persyaratan keamanan dan pertimbangan lainnya. Misalnya, Anda dapat menyebarkan database dengan atau tanpa data sampel, dan Anda dapat menyebarkan pemetaan peran pengguna atau mengonfigurasinya secara manual setelah penyebaran. Namun, cara Anda mengonfigurasi server database tetap sama.
Anda tidak perlu menginstal produk atau alat tambahan apa pun untuk mengonfigurasi server database untuk mendukung penyebaran web. Dengan asumsi bahwa server database dan server web Anda berjalan di komputer yang berbeda, Anda hanya perlu:
- Izinkan SQL Server untuk berkomunikasi menggunakan TCP/IP.
- Izinkan lalu lintas SQL Server melalui firewall apa pun.
- Berikan akun komputer server web login SQL Server.
- Petakan login akun komputer ke peran database yang diperlukan.
- Berikan akun yang akan menjalankan penyebaran izin login SQL Server dan pembuat database.
- Untuk mendukung penyebaran berulang, petakan login akun penyebaran ke peran database db_owner .
Topik ini akan menunjukkan kepada Anda cara melakukan masing-masing prosedur ini. Tugas dan panduan dalam topik ini mengasumsikan bahwa Anda memulai dengan instans default SQL Server 2008 R2 yang berjalan di Windows Server 2008 R2. Sebelum melanjutkan, pastikan bahwa:
- Windows Server 2008 R2 Service Pack 1 dan semua pembaruan yang tersedia diinstal.
- Server bergabung dengan domain.
- Server memiliki alamat IP statis.
- SQL Server 2008 R2 Service Pack 1 dan semua pembaruan yang tersedia diinstal.
Instans SQL Server hanya perlu menyertakan peran Layanan Mesin Database, yang disertakan secara otomatis dalam penginstalan SQL Server apa pun. Namun, untuk kemudahan konfigurasi dan pemeliharaan, kami sarankan Anda menyertakan Alat Manajemen - Alat Dasar dan Manajemen - Peran server lengkap .
Catatan
Untuk informasi selengkapnya tentang menggabungkan komputer ke domain, lihat Bergabung dengan Komputer ke Domain dan Masuk. Untuk informasi selengkapnya tentang mengonfigurasi alamat IP statis, lihat Mengonfigurasi Alamat IP Statis. Untuk informasi selengkapnya tentang menginstal SQL Server, lihat Menginstal SQL Server 2008 R2.
Aktifkan Akses Jarak Jauh ke SQL Server
SQL Server menggunakan TCP/IP untuk berkomunikasi dengan komputer jarak jauh. Jika server database dan server web Anda berada di komputer yang berbeda, Anda perlu:
- Konfigurasikan pengaturan jaringan SQL Server untuk memungkinkan komunikasi melalui TCP/IP.
- Konfigurasikan firewall perangkat keras atau perangkat lunak apa pun untuk memungkinkan lalu lintas TCP (dan dalam beberapa kasus lalu lintas Protokol Datagram Pengguna (UDP) pada port yang digunakan instans SQL Server.
Untuk mengaktifkan SQL Server berkomunikasi melalui TCP/IP, gunakan Pengelola Konfigurasi SQL Server untuk mengubah konfigurasi jaringan untuk instans SQL Server Anda.
Untuk mengaktifkan SQL Server berkomunikasi menggunakan TCP/IP
Pada menu Mulai, arahkan ke Semua Program, klik Microsoft SQL Server 2008 R2, klik Alat Konfigurasi, lalu klik Pengelola Konfigurasi SQL Server.
Di panel tampilan pohon, perluas Konfigurasi Jaringan SQL Server, lalu klik Protokol untuk MSSQLSERVER.
Catatan
Jika Anda telah menginstal beberapa instans SQL Server, Anda akan melihat item Protokol untuk[nama instans] untuk setiap instans. Anda perlu mengonfigurasi pengaturan jaringan berdasarkan instans demi instans.
Di panel detail, klik kanan baris TCP/IP , lalu klik Aktifkan.
Dalam kotak dialog Peringatan , klik OK.
Anda perlu memulai ulang layanan MSSQLSERVER sebelum konfigurasi jaringan baru Anda akan berlaku. Anda dapat melakukannya pada prompt perintah, dari konsol Layanan, atau dari SQL Server Management Studio. Dalam prosedur ini, Anda akan menggunakan SQL Server Management Studio.
Tutup Pengelola Konfigurasi SQL Server.
Pada menu Mulai , arahkan ke Semua Program, klik Microsoft SQL Server 2008 R2, lalu klik SQL Server Management Studio.
Dalam kotak dialog Sambungkan ke Server, dalam kotak Nama server, ketik nama server database, lalu klik Sambungkan.
Di panel Object Explorer , klik kanan simpul server induk (misalnya, TESTDB1), lalu klik Mulai Ulang.
Dalam kotak dialog Microsoft SQL Server Management Studio , klik Ya.
Ketika layanan telah dimulai ulang, tutup SQL Server Management Studio.
Untuk mengizinkan lalu lintas SQL Server melalui firewall, Anda harus terlebih dahulu mengetahui port mana yang digunakan instans SQL Server Anda. Ini akan tergantung pada bagaimana instans SQL Server dibuat dan dikonfigurasi:
- Instans default SQL Server mendengarkan permintaan (dan merespons) pada port TCP 1433.
- Instans bernama SQL Server mendengarkan (dan merespons) permintaan pada port TCP yang ditetapkan secara dinamis.
- Jika layanan Browser SQL Server diaktifkan, klien dapat meminta layanan pada port UDP 1434 untuk mengetahui port TCP mana yang akan digunakan untuk instans SQL Server tertentu. Namun, layanan ini sering dinonaktifkan karena alasan keamanan.
Dengan asumsi Anda menggunakan instans default SQL Server, Anda perlu mengonfigurasi firewall untuk mengizinkan lalu lintas.
Arah | Dari Port | Ke Port | Tipe Port |
---|---|---|---|
Masuk | Mana pun | 1433 | TCP |
Keluar | 1433 | Mana pun | TCP |
Catatan
Secara teknis, komputer klien akan menggunakan port TCP yang ditetapkan secara acak antara 1024 dan 5000 untuk berkomunikasi dengan SQL Server, dan Anda dapat membatasi aturan firewall Yang sesuai. Untuk informasi selengkapnya tentang port dan firewall SQL Server, lihat Nomor port TCP/IP yang diperlukan untuk berkomunikasi ke SQL melalui firewall dan Cara: Mengonfigurasi Server untuk Mendengarkan di Port TCP Tertentu (Pengelola Konfigurasi SQL Server).
Di sebagian besar lingkungan Windows Server, Anda mungkin harus mengonfigurasi Windows Firewall di server database. Secara default, Windows Firewall mengizinkan semua lalu lintas keluar kecuali aturan secara khusus melarangnya. Untuk memungkinkan server web Anda mencapai database, Anda perlu mengonfigurasi aturan masuk yang memungkinkan lalu lintas TCP pada nomor port yang digunakan instans SQL Server. Jika Anda menggunakan instans default SQL Server, Anda dapat menggunakan prosedur berikutnya untuk mengonfigurasi aturan ini.
Untuk mengonfigurasi Windows Firewall untuk mengizinkan komunikasi dengan instans SQL Server default
Pada server database, pada menu Mulai , arahkan ke Alat Administratif, lalu klik Windows Firewall dengan Keamanan Tingkat Lanjut.
Di panel tampilan pohon, klik Aturan Masuk.
Di panel Tindakan , di bawah Aturan Masuk, klik Aturan Baru.
Di Wizard Aturan Masuk Baru, pada halaman Tipe Aturan, pilih Port, lalu klik Berikutnya.
Pada halaman Protokol dan Port , pastikan bahwa TCP dipilih, dan dalam kotak Port lokal tertentu, ketik 1433, lalu klik Berikutnya.
Pada halaman Tindakan , biarkan Izinkan koneksi dipilih dan klik Berikutnya.
Pada halaman Profil , biarkan Domain dipilih, kosongkan kotak centang Privat dan Publik , lalu klik Berikutnya.
Pada halaman Nama , beri aturan nama deskriptif yang sesuai (misalnya, instans default SQL Server – akses jaringan), lalu klik Selesai.
Untuk informasi selengkapnya tentang mengonfigurasi Windows Firewall untuk SQL Server, terutama jika Anda perlu berkomunikasi dengan SQL Server melalui port non-standar atau dinamis, lihat Cara: Mengonfigurasi Windows Firewall untuk Akses Mesin Database.
Mengonfigurasi Login dan Izin Database
Saat Anda menyebarkan aplikasi web untuk Layanan Informasi Internet (IIS), aplikasi berjalan menggunakan identitas kumpulan aplikasi. Di lingkungan domain, identitas kumpulan aplikasi menggunakan akun komputer server tempat mereka berjalan untuk mengakses sumber daya jaringan. Akun komputer mengambil formulir [nama domain]</strong>[nama komputer]$—misalnya, FABRIKAM\TESTWEB1$. Untuk mengizinkan aplikasi web Anda mengakses database di seluruh jaringan, Anda perlu:
- Tambahkan login untuk akun komputer server web ke instans SQL Server.
- Petakan login akun komputer ke peran database yang diperlukan (biasanya db_datareader dan db_datawriter).
Jika aplikasi web Anda berjalan di farm server, bukan satu server, Anda harus mengulangi prosedur ini untuk setiap server web di farm server.
Catatan
Untuk informasi selengkapnya tentang identitas kumpulan aplikasi dan mengakses sumber daya jaringan, lihat Identitas Kumpulan Aplikasi.
Anda dapat mendekati tugas-tugas ini dengan berbagai cara. Untuk membuat login, Anda dapat:
- Buat login secara manual di server database, menggunakan Transact-SQL atau SQL Server Management Studio.
- Gunakan Proyek Server SQL Server 2008 di Visual Studio untuk membuat dan menyebarkan login.
Login SQL Server adalah objek tingkat server, bukan objek tingkat database, sehingga tidak bergantung pada database yang ingin Anda sebarkan. Dengan demikian, Anda dapat membuat login kapan saja, dan pendekatan termampu sering kali adalah membuat login secara manual di server database sebelum Anda mulai menyebarkan database. Anda dapat menggunakan prosedur berikutnya untuk membuat login di SQL Server Management Studio.
Untuk membuat login SQL Server untuk akun komputer server web
Pada server database, pada menu Mulai , arahkan ke Semua Program, klik Microsoft SQL Server 2008 R2, lalu klik SQL Server Management Studio.
Dalam kotak dialog Sambungkan ke Server, dalam kotak Nama server, ketik nama server database, lalu klik Sambungkan.
Di panel Object Explorer , klik kanan Keamanan, arahkan ke Baru, lalu klik Masuk.
Dalam kotak dialog Masuk – Baru , dalam kotak Nama masuk, ketik nama akun komputer server web Anda (misalnya, FABRIKAM\TESTWEB1$).
Klik OK.
Pada titik ini, server database Anda siap untuk penerbitan Web Deploy. Namun, solusi apa pun yang Anda sebarkan tidak akan berfungsi sampai Anda memetakan login akun mesin ke peran database yang diperlukan. Memetakan login ke peran database memerlukan lebih banyak pemikiran, karena Anda tidak dapat memetakan peran hingga setelah Anda menyebarkan database. Untuk memetakan login akun komputer ke peran database yang diperlukan, Anda dapat:
- Tetapkan peran database ke login secara manual, setelah Anda menyebarkan database untuk pertama kalinya.
- Gunakan skrip pasca-penyebaran untuk menetapkan peran database ke login.
Untuk informasi selengkapnya tentang mengotomatiskan pembuatan login dan pemetaan peran database, lihat Menyebarkan Keanggotaan Peran Database ke Lingkungan Pengujian. Atau, Anda dapat menggunakan prosedur berikutnya untuk memetakan login akun mesin ke peran database yang diperlukan secara manual. Ingatlah bahwa Anda tidak dapat melakukan prosedur ini sampai setelah Anda menyebarkan database.
Untuk memetakan peran database ke login akun komputer server web
Buka SQL Server Management Studio seperti sebelumnya.
Di panel Object Explorer , perluas node Keamanan , perluas node Login , lalu klik dua kali login akun komputer (misalnya, FABRIKAM\TESTWEB1$).
Dalam kotak dialog Properti Masuk, klik Pemetaan Pengguna.
Di tabel Pengguna yang dipetakan ke login ini, pilih nama database Anda (misalnya, ContactManager).
Di daftar Keanggotaan peran database untuk: [nama database], pilih izin yang diperlukan. Dalam kasus solusi sampel Contact Manager, Anda harus memilih peran db_datareader dan db_datawriter .
Klik OK.
Meskipun memetakan peran database secara manual sering kali lebih dari memadai untuk lingkungan pengujian, itu kurang diinginkan untuk penyebaran otomatis atau satu klik ke lingkungan penahapan atau produksi. Anda dapat menemukan informasi selengkapnya tentang mengotomatiskan tugas semacam ini menggunakan skrip pasca-penyebaran di Menyebarkan Keanggotaan Peran Database untuk Lingkungan Pengujian.
Catatan
Untuk informasi selengkapnya tentang proyek server dan proyek database, lihat Proyek Database SQL Server Visual Studio 2010.
Mengonfigurasi Izin untuk Akun Penyebaran
Jika akun yang akan Anda gunakan untuk menjalankan penyebaran bukan administrator SQL Server, Anda juga harus membuat login untuk akun ini. Untuk membuat database, akun harus menjadi anggota peran server dbcreator atau memiliki izin yang setara.
Catatan
Saat Anda menggunakan Web Deploy atau VSDBCMD untuk menyebarkan database, Anda dapat menggunakan kredensial Windows atau kredensial SQL Server (jika instans SQL Server Anda dikonfigurasi untuk mendukung autentikasi mode campuran). Prosedur berikutnya mengasumsikan bahwa Anda ingin menggunakan kredensial Windows, tetapi tidak ada yang menghentikan Anda menentukan nama pengguna dan kata sandi SQL Server di string koneksi Anda saat mengonfigurasi penyebaran.
Untuk menyiapkan izin untuk akun penyebaran
Buka SQL Server Management Studio seperti sebelumnya.
Di panel Object Explorer , klik kanan Keamanan, arahkan ke Baru, lalu klik Masuk.
Dalam kotak dialog Masuk – Baru , dalam kotak Nama masuk, ketik nama akun penyebaran Anda (misalnya, FABRIKAM\matt).
Di panel Pilih halaman , klik Peran Server.
Pilih dbcreator, lalu klik OK.
Untuk mendukung penyebaran berikutnya, Anda juga perlu menambahkan akun penyebaran ke peran db_owner pada database setelah penyebaran pertama. Ini karena pada penyebaran berikutnya Anda memodifikasi skema database yang ada, daripada membuat database baru. Seperti yang dijelaskan di bagian sebelumnya, Anda tidak bisa menambahkan pengguna ke peran database hingga Anda membuat database, karena alasan yang jelas.
Untuk memetakan login akun penyebaran ke peran database db_owner
Buka SQL Server Management Studio seperti sebelumnya.
Di jendela Object Explorer , perluas simpul Keamanan , perluas simpul Masuk , lalu klik dua kali login akun komputer (misalnya, FABRIKAM\matt).
Dalam kotak dialog Properti Masuk, klik Pemetaan Pengguna.
Di tabel Pengguna yang dipetakan ke login ini, pilih nama database Anda (misalnya, ContactManager).
Di daftar Keanggotaan peran database untuk: [nama database], pilih peran db_owner.
Klik OK.
Kesimpulan
Server database Anda sekarang harus siap untuk menerima penyebaran database jarak jauh dan untuk memungkinkan server web IIS jarak jauh mengakses database Anda. Sebelum Anda mencoba menyebarkan dan menggunakan database, Anda mungkin ingin memeriksa poin-poin utama ini:
- Apakah Anda telah mengonfigurasi SQL Server untuk menerima koneksi TCP/IP jarak jauh?
- Apakah Anda telah mengonfigurasi firewall apa pun untuk mengizinkan lalu lintas SQL Server?
- Apakah Anda telah membuat login akun mesin untuk setiap server web yang akan mengakses SQL Server?
- Apakah penyebaran database Anda menyertakan skrip untuk membuat pemetaan peran pengguna, atau apakah Anda perlu membuat ini secara manual setelah Anda menyebarkan database untuk pertama kalinya?
- Apakah Anda telah membuat login untuk akun penyebaran dan menambahkannya ke peran server dbcreator ?
Bacaan lebih lanjut
Untuk panduan tentang menyebarkan proyek database, lihat Menyebarkan Proyek Database. Untuk panduan tentang membuat keanggotaan peran database dengan menjalankan skrip pasca-penyebaran, lihat Menyebarkan Keanggotaan Peran Database untuk Lingkungan Pengujian. Untuk panduan tentang cara memenuhi tantangan penyebaran unik yang diajukan database keanggotaan, lihat Menyebarkan Database Keanggotaan ke Lingkungan Perusahaan.