Menginstal Pelaporan dan Layanan Informasi Internet Berdampingan

Berlaku untuk: SQL Server 2016 (13.x) Reporting Services dan Server Laporan Power BI yang lebih baru

Untuk konten yang terkait dengan versi SQL Server Reporting Services (SSRS) sebelumnya, lihat SQL Server 2014 Reporting Services.

Anda dapat menginstal dan menjalankan SQL Server Reporting Services (SSRS) dan Layanan Informasi Internet (IIS) di komputer yang sama. Versi IIS yang Anda gunakan menentukan masalah interoperabilitas yang harus Anda atasi.

Versi IIS Terbitan Deskripsi
8.0, 8.5 Permintaan yang ditujukan untuk satu aplikasi diterima oleh aplikasi yang berbeda.

HTTP.SYS memberlakukan aturan prioritas untuk reservasi URL. Permintaan yang dikirim ke aplikasi yang memiliki nama direktori virtual yang sama dan yang bersama-sama memantau port 80 mungkin tidak mencapai target yang dimaksudkan jika reservasi URL lemah relatif terhadap reservasi URL aplikasi lain.
Dalam kondisi tertentu, titik akhir terdaftar yang menggantikan titik akhir URL lain dalam skema reservasi URL mungkin menerima permintaan HTTP yang ditujukan untuk aplikasi lain.

Menggunakan nama direktori virtual unik untuk layanan Web Server Laporan dan portal web membantu Anda menghindari konflik ini.

Informasi terperinci tentang skenario ini disediakan dalam topik ini.

Aturan Prioritas untuk Reservasi URL

Sebelum dapat mengatasi masalah interoperabilitas antara IIS dan Reporting Services, Anda harus memahami aturan prioritas reservasi URL. Aturan prioritas dapat digeneralisasi ke dalam pernyataan berikut: reservasi URL yang memiliki nilai yang ditentukan lebih eksplisit adalah yang pertama untuk menerima permintaan yang cocok dengan URL.

  • Reservasi URL yang menentukan direktori virtual lebih eksplisit daripada yang menghilangkan direktori virtual.

  • Reservasi URL yang menentukan satu alamat (dengan alamat IP, nama domain yang sepenuhnya memenuhi syarat, nama komputer jaringan, atau nama host) lebih eksplisit daripada kartubebas.

  • Reservasi URL yang menentukan wildcard yang kuat lebih eksplisit daripada wildcard yang lemah.

Contoh berikut menunjukkan rentang reservasi URL, diurutkan dari yang paling eksplisit hingga paling tidak eksplisit:

Contoh Permintaan
https://123.234.345.456:80/reports Menerima semua permintaan yang dikirim ke https://123.234.345.456/reports atau https://<computername>/reports jika layanan nama domain dapat menyelesaikan alamat IP ke nama host tersebut.
https://+:80/reports Menerima permintaan apa pun yang dikirim ke alamat IP atau nama host apa pun yang valid untuk komputer tersebut selama URL berisi nama direktori virtual "laporan".
https://123.234.345.456:80 Menerima permintaan apa pun yang menentukan https://123.234.345.456 atau https://<computername> jika layanan nama domain dapat menyelesaikan alamat IP ke nama host tersebut.
https://+:80 Menerima permintaan yang belum diterima oleh aplikasi lain, untuk titik akhir aplikasi apa pun yang dipetakan ke Semua Ditetapkan.
https://*:80 Menerima permintaan yang belum diterima oleh aplikasi lain, untuk titik akhir aplikasi yang dipetakan ke Semua Tidak Ditetapkan.

Salah satu indikasi konflik port adalah Anda akan melihat pesan kesalahan berikut: 'System.IO.FileLoadException: Proses tidak dapat mengakses file karena sedang digunakan oleh proses lain. (Pengecualian dari HRESULT: 0x80070020).'

Reservasi URL untuk IIS 8.0, 8.5 dengan SQL Server Reporting Services

Mengingat aturan prioritas yang diuraikan di bagian sebelumnya, Anda dapat mulai memahami bagaimana reservasi URL yang ditentukan untuk Reporting Services dan IIS mempromosikan interoperabilitas. Reporting Services menerima permintaan yang secara eksplisit menentukan nama direktori virtual untuk aplikasinya; IIS menerima semua permintaan yang tersisa, yang kemudian dapat diarahkan ke aplikasi yang berjalan dalam model proses IIS.

Aplikasi Reservasi URL Deskripsi Meminta tanda terima
Server Laporan https://+:80/ReportServer Wildcard yang kuat pada port 80, dengan direktori virtual server laporan. Menerima semua permintaan pada port 80 yang menentukan direktori virtual server laporan. Layanan Web Server Laporan menerima semua permintaan ke https://< computername>/reportserver.
Portal web https://+:80/Reports Kartubebas yang kuat pada port 80, dengan direktori virtual Laporan. Menerima semua permintaan pada port 80 yang menentukan direktori virtual laporan. Portal web menerima semua permintaan untuk https://< computername>/reports.
IIS https://*:80/ Kartubebas lemah di port 80. Menerima permintaan yang tersisa pada port 80 yang tidak diterima oleh aplikasi lain.

Penyebaran Berdampingan dari SQL Server Reporting Services di IIS 8.0, 8.5

Masalah interoperabilitas antara IIS dan Reporting Services terjadi ketika situs Web IIS memiliki nama direktori virtual yang identik dengan yang digunakan oleh Reporting Services. Misalnya, Anda memiliki konfigurasi berikut:

  • Situs Web di IIS yang ditetapkan ke port 80 dan direktori virtual bernama "Laporan".

  • Instans server laporan yang diinstal dalam konfigurasi default, di mana reservasi URL juga menentukan port 80 dan aplikasi portal web juga menggunakan "Laporan" untuk nama direktori virtual.

Mengingat konfigurasi ini, permintaan yang dikirim ke https://< computername>:80/reports akan diterima oleh portal web. Aplikasi yang diakses melalui direktori virtual Laporan di IIS tidak akan lagi menerima permintaan setelah instans server laporan diinstal.

Jika Anda menjalankan penyebaran berdampingan dari versi Reporting Services yang lebih lama dan lebih baru, Anda mungkin mengalami masalah perutean yang baru saja dijelaskan. Ini karena semua versi Reporting Services menggunakan "ReportServer" dan "Reports" sebagai nama direktori virtual untuk server laporan dan aplikasi portal web, meningkatkan kemungkinan Anda akan memiliki direktori virtual "laporan" dan "reportserver" di IIS.

Untuk memastikan bahwa semua aplikasi menerima permintaan, ikuti panduan berikut:

  • Untuk penginstalan Reporting Services, gunakan nama direktori virtual yang belum digunakan oleh situs Web IIS pada port yang sama dengan Reporting Services. Jika ada konflik, instal Reporting Services dalam mode "hanya file" (menggunakan opsi Instal tetapi jangan konfigurasikan server di Wizard Penginstalan) sehingga Anda dapat mengonfigurasi direktori virtual setelah Penyetelan selesai. Salah satu indikasi bahwa konfigurasi Anda memiliki konflik adalah Anda akan melihat pesan kesalahan: System.IO.FileLoadException: Proses tidak dapat mengakses file karena sedang digunakan oleh proses lain. (Pengecualian dari HRESULT: 0x80070020).

  • Untuk penginstalan yang Anda konfigurasikan secara manual, adopsi konvensi penamaan default di URL yang dikonfigurasi. Jika Anda menginstal SQL Server 2016 (13.x) Reporting Services atau yang lebih baru (SSRS) sebagai instans bernama, sertakan nama instans saat membuat direktori virtual.

Langkah berikutnya

Mengonfigurasi URL Server Laporan
Mengonfigurasi URL
Menginstal Server Laporan Mode Asli Reporting Services

Ada pertanyaan lagi? Coba tanyakan forum Reporting Services