Izin yang diberikan kepada pengguna tidak cukup untuk melakukan operasi ini. (rsAccessDenied) "}

99

Saya membuat model laporan menggunakan SSRS (2005) dan diterbitkan ke server lokal. Tetapi ketika saya mencoba menjalankan laporan untuk model yang saya terbitkan menggunakan pembuat laporan, saya mendapatkan kesalahan berikut.

Kesalahan eksekusi laporan: Izin yang diberikan kepada pengguna tidak cukup untuk melakukan operasi ini. (rsAccessDenied)

jbcedge.dll
sumber
Saya menemukan ini membantu .... msdn.microsoft.com/en-GB/library/bb630430.aspx Windows menganggap semua orang adalah pengguna standar ...
Trabumpaline

Jawaban:

94

Itu karena kurangnya hak istimewa untuk pengguna yang Anda jalankan pembuat laporan, cukup berikan pengguna atau grup hak istimewa untuk menjalankan pembuat laporan. Silakan kunjungi artikel ini

Atau untuk jalan pintas:

  1. Mulai Internet Explorer menggunakan "Run as Administrator"
  2. Buka http: // localhost / reports
  3. Pergi ke tab properti (SSRS 2008)
  4. Keamanan-> Penugasan Peran Baru
  5. Tambahkan DOMAIN / USERNAME atau DOMAIN / USERGROUP
  6. Periksa pembuat laporan
Emad Mokhtar
sumber
8
Tidak yakin apakah ini khusus tahun 2012 tetapi saya harus mengatur keamanan di "pengaturan situs" juga.
uli78
15
Untuk tahun 2014, atur peran di "Pengaturan Folder" dan "Pengaturan Situs"
Josh Noe
4
Satu hal dari artikel ini, yang dapat membantu Anda: untuk mengkonfigurasi gunakan IE dan "Run as Administrator". Lalu pergi ke Pengaturan Folder (atur diri Anda sebagai Manajer Konten), dan ke Pengaturan Situs (peran: administrator). Kemudian kembali ke browser default Anda, dan itu akan berfungsi. (Saya di 2012).
Tomasz Gandor
4
Saya harus menggunakan DOMAIN \ USERNAME sebagai ganti garis miring ke depan.
Paul
4
Gagal di langkah # 2. Saya mendapat pesan ini: Pengguna tidak memiliki izin yang diperlukan. Verifikasi bahwa izin yang memadai telah diberikan dan pembatasan Kontrol Akun Pengguna Windows (UAC) telah diatasi.
RDeveloper
18

Saya tahu ini sudah lama sekali, tetapi Anda (atau pendatang baru lainnya) dapat menyelesaikan masalah ini dengan

  1. Tambahkan [Domain \ User] ke Administrator , IISUser , SQLReportingUser kelompok
  2. Hapus Kunci Enkripsi di alat konfigurasi SSRS
  3. Jalankan kembali Perubahan Database di alat konfigurasi SSRS
  4. Buka WebServiceUrl dari alat konfigurasi SSRS ( http: // localhost / reportserver )
  5. membuat Folder Laporan secara manual
  6. buka Properti folder yang dibuat dan tambahkan peran ini ke keamanan ( builtin \ users, builtin \ Administrator, domain \ user )
  7. Sebarkan laporan Anda dan masalah Anda teratasi
Nasser Hadjloo
sumber
2
Hai, Masalah dengan saya adalah semua laporan berfungsi kecuali hanya satu. Kesalahan adalah-Izin yang diberikan kepada pengguna 'NT AUTHORITY \ IUSR' tidak cukup untuk melakukan operasi ini. (rsAccessDenied). Perbedaan apa yang ada untuk satu laporan?
Richa
5
Saya bahkan tidak memiliki grup ini! Saya memiliki Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Usersebagai gantinya! Apa yang harus saya lakukan dalam kasus ini? Seberapa sering hal itu berubah! : o
user2173353
18

Klik kanan Microsoft BI -> Klik Jalankan sebagai Administrator -> buka laporan SSRS Anda yang ada atau buat laporan SSRS baru Anda dan kemudian gunakan laporan Anda setelah itu sesuai, Anda akan menerima satu URL web untuk melihat laporan Anda. Salin URL itu dan tempelkan ke browser web (Jalankan sebagai Administrator) dan Anda akan mendapatkan tampilan laporan Anda. Anda dapat menggunakan Internet Explorer, yang sangat penting untuk layanan web

Jika salah artinya, Mohon maafkan saya karena saya memang seperti ini sehingga saya baru saja menulis.

Robert Bosco
sumber
2
Memulai Visual Studio (BI) sebagai administrator (klik kanan) melakukan trik untuk saya.
maets
10

Pastikan Anda memiliki akses yang dikonfigurasi ke URL http: // localhost / reports menggunakan Konfigurasi Layanan Pelaporan SQL. Untuk melakukan ini:

  1. Buka Manajer Konfigurasi Layanan Pelaporan -> lalu sambungkan ke contoh server laporan -> lalu klik URL Manajer Laporan.
  2. Di halaman URL Manajer Laporan, klik tombol Lanjutan -> lalu di Beberapa Identitas untuk Manajer Laporan, klik Tambahkan.
  3. Di kotak popup Add a Report Manager HTTP URL, pilih Host Header dan ketik: localhost
  4. Klik OK untuk menyimpan perubahan Anda.
  5. Sekarang mulai / jalankan Internet Explorer menggunakan Run as Administator ... (CATATAN: Jika Anda tidak melihat tautan 'Pengaturan Situs' di pojok kiri atas saat berada di http: // localhost / laporan, itu mungkin karena Anda tidak menjalankan IE sebagai Administator atau Anda belum menetapkan 'domain \ nama pengguna' komputer Anda ke peran layanan pelaporan, lihat cara melakukannya di beberapa langkah berikutnya.)
  6. Lalu pergi ke: http: // localhost / reports (Anda mungkin harus masuk dengan nama pengguna dan kata sandi Komputer Anda)
  7. Sekarang Anda akan diarahkan ke halaman Beranda Layanan Pelaporan SQL Server di sini: http: //localhost/Reports/Pages/Folder.aspx
  8. Dari halaman Home, klik tab Properties, lalu klik New Role Assignment
  9. Di kotak teks Nama grup atau pengguna, tambahkan 'domain \ nama pengguna' yang ada di pesan kesalahan (dalam kasus saya, saya menambahkan: DOUGDELL3-PC \ DOUGDELL3 untuk 'domain \ nama pengguna', dalam kasus Anda, Anda dapat menemukan domain \ nama pengguna untuk komputer Anda di pesan galat rsAccessDenied).
  10. Sekarang centang semua kotak centang; Browser, Pengelola Konten, Laporan Saya, Penerbit, Pembuat Laporan, lalu klik OK.
  11. Anda domain \ nama pengguna sekarang harus ditetapkan ke Peran yang akan memberi Anda akses untuk menyebarkan laporan Anda ke Server Laporan. Jika Anda menggunakan Visual Studio atau SQL Server Business Intelligence Development Studio untuk menyebarkan laporan Anda ke server laporan lokal, Anda sekarang dapat melakukannya.
  12. Mudah-mudahan, itu membantu Anda mengatasi pesan kesalahan rsAccessDenied Server Laporan Anda ...

Sekadar memberi tahu Anda bahwa tutorial ini dilakukan di komputer Windows 7 dengan SQL Server Reporting Services 2008.

Artikel Referensi: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html

Soheila Hg
sumber
2
Perhatikan bahwa jawaban link-only tidak disarankan, jawaban SO harus menjadi titik akhir dari pencarian solusi (vs. referensi lain yang berhenti, yang cenderung menjadi basi seiring waktu). Harap pertimbangkan untuk menambahkan sinopsis yang berdiri sendiri di sini, dengan menyimpan tautan sebagai referensi.
kleopatra
6

Anda juga dapat memastikan bahwa Identitas di Application Pool Anda memiliki izin yang tepat.

  1. Buka Manajer IIS

  2. Klik Kumpulan aplikasi

  3. Identifikasi kumpulan aplikasi situs tempat Anda menyebarkan laporan

  4. Periksa apakah identitas disetel ke beberapa akun layanan atau akun pengguna yang memiliki izin admin

  5. Anda dapat mengubah identitas dengan menghentikan kolam, mengklik kanan, dan memilih Pengaturan Lanjutan ...

Di bawah Model Proses adalah bidang Identitas

Kasey Mohsen
sumber
1
Saya juga harus melakukan hal berikut pada Server Windows 2008 R2. Bagi saya yang berhasil adalah Open IE di Admin Mode, yaitu Right Clikc IE -> Run as Administartor. Kemudian navigasikan ke http: // {baseurl Anda}: {port dasar Anda} / Reports / Bagi saya ini adalah devsql2008r2: 80 / Reports. Ini menyelesaikan kesalahan saya. Chrome atau Firefox tidak bisa tetap terbuka.
Vishnoo Rath
Dengan kata lain: jawaban ini akan memperbaiki skenario di mana Aplikasi kustom Anda yang mencoba memanggil SSRS berjalan seperti UserAdi AppPool Identity. Tapi itu UserATIDAK dikonfigurasi pada server SSRS untuk memiliki akses (misalnya tidak dalam BUILTIN\Administratorsgrup). Jadi perbaikannya adalah mengubah identitas AppPool ke beberapa pengguna administrator di domain. Atau perbarui pengaturan SSRS untuk menyertakan pengguna Identitas AppPool saat ini.
Don Cheadle
5

di bawah Pengaturan situs di Manajer laporan> Konfigurasikan definisi peran tingkat sistem> centang opsi Definisi ExecuteReport lalu Buat Grup Pengguna Sistem, Berikan akses ke grup tersebut di Hubungkan ke basis data Layanan pelaporan Anda di properti server dan tambahkan grup dan izinkan akses sebagai Pengguna Sistem ... Seharusnya berhasil

kamal
sumber
5

Saya memiliki SQL2008 / Windows 2008 Enterprise dan inilah yang harus saya lakukan untuk memperbaiki rs.accessdeniedkesalahan 404, 401 dan 503:

  • Menambahkan Pengguna NT ke Pengguna Server Laporan SQL dan Grup IIS_USR
  • Saya mengubah SQL Reporting Service ke akun Lokal (itu adalah Domain dengan Admin Lokal)
  • Saya menghapus kunci enkripsi di Reporting Services Configuration (tab terakhir di daftar)
  • dan KEMUDIAN berhasil.
Berikan Thomas
sumber
5

Saya telah menggunakan langkah-langkah berikut dan berhasil untuk saya.

Buka Manajer Konfigurasi Layanan Pelaporan -> lalu sambungkan ke contoh server laporan -> lalu klik URL Manajer Laporan.

Di halaman URL Manajer Laporan, klik tombol Lanjutan -> lalu di Beberapa Identitas untuk Manajer Laporan, klik Tambahkan.

Di kotak popup Add a Report Manager HTTP URL, pilih Host Header dan ketik: localhost Klik OK untuk menyimpan perubahan Anda.

Kemudian:

  1. menyalin URL server laporan
  2. Jalankan Google chrome / Internet Explorer sebagai administrator
  3. Rekatkan URL di bilah alamat dan tekan enter.

ini berfungsi dengan baik untuk saya di Internet Explorer dan Google Chrome, tetapi tidak untuk mozilla Firefox.

Jika Firefox meminta nama pengguna dan Kata Sandi, saya menyediakannya tetapi tidak berfungsi. Saya admin dan memiliki hak penuh.

Saya telah melakukan 1 perubahan lagi, set "Pengaturan Kontrol Akun Pengguna" untuk tidak pernah memberi tahu.

Jika Anda mendapatkan jenis pengecualian saat menyebarkan laporan ini dari Visual Studio kemudian lakukan hal berikut:

  1. Buka Google chrome / Internet Explorer dengan hak administrator.
  2. buka URL server laporan di dalamnya.

3. Klik pada "New Role Assignment" tambahkan kemudian masukkan nama pengguna dan pilih Roles.masukkan deskripsi gambar di sini

  1. klik ok.
  2. Sekarang gunakan laporan dari Visual studio itu akan bekerja dan menyebarkan laporan di server yang ditentukan.
Banketeshvar Narayan
sumber
4

Buka internet explorer sebagai administrator.

Buka url laporan http://machinename/reportservername

lalu di 'pengaturan folder' berikan izin kepada grup pengguna yang diperlukan.

Atur
sumber
4

Masalah lama tapi relevan. Saya menyelesaikannya untuk tahun 2012 dengan masuk ke server pelaporan dan:

  • ramban ke http: // localhost / reports /
  • Klik 'Pengaturan Situs' di kanan atas (hanya tersedia saat masuk ke server laporan)
  • Buka tab 'Keamanan' dan klik 'Penetapan Peran Baru'
  • Menambahkan DOMAIN \ USERNAME saya sebagai Administrator Sistem

Tidak dapat mengatakan bahwa saya nyaman dengan solusi ini, tetapi saya membutuhkan sesuatu yang berhasil dan berhasil. Semoga ini bisa membantu orang lain.

pengguna2051770
sumber
4

Setelah menyiapkan SSRS 2016, saya RDP ke server (Windows Server 2012 R2), menavigasi ke URL laporan ( https://reports.fakeserver.net/Reports/browse/ ) dan membuat judul folder FakeFolder; semuanya tampak bekerja dengan baik. Saya kemudian memutuskan sambungan dari server, menjelajahi URL yang sama, masuk sebagai pengguna yang sama, dan mengalami kesalahan di bawah.

Izin yang diberikan kepada 'fakeserver \ mitchs' pengguna tidak cukup untuk melakukan operasi ini.

Bingung, saya mencoba hampir semua solusi yang disarankan di halaman ini dan masih tidak dapat membuat perilaku yang sama baik secara lokal maupun eksternal saat menavigasi ke URL dan mengautentikasi. Saya kemudian mengklik elipsis dari FakeFolder, mengklik Kelola, mengklik Keamanan (di sisi kiri layar), dan menambahkan diri saya sebagai pengguna dengan izin penuh. Setelah memutuskan sambungan dari server, saya melihat-lihat https://reports.fakeserver.net/Reports/browse/FakeFolder , dan dapat melihat konten folder tanpa mengalami kesalahan izin. Namun, ketika saya mengklik rumah saya menerima kesalahan izin.

Untuk tujuan saya, ini cukup bagus karena tidak ada orang lain yang perlu menelusuri URL root, jadi saya hanya membuat catatan mental setiap kali saya perlu membuat perubahan di SSRS untuk terlebih dahulu terhubung ke server dan kemudian menjelajah ke URL Laporan .

Mitch Stewart
sumber
3

Masalah:

Kesalahan rsAccessDenied: Izin yang diberikan kepada pengguna 'Pengguna \ Pengguna' tidak cukup untuk melakukan operasi ini.

Larutan:

Klik "Pengaturan Folder"> "Penetapan Peran Baru" Kemudian ketik "Pengguna \ Pengguna" di 'Grup atau kotak teks nama pengguna'. Centang kotak Peran yang Anda inginkan agar dimiliki pengguna.

Vicky
sumber
2

Apa yang Berhasil untuk saya adalah:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder
Ajay
sumber
1
Ini juga berhasil untuk saya jika saya mengimpor database kolega.
malckier
2

Ini berfungsi untuk saya- -buka manajer laporan, periksa pengaturan situs-> Keamanan -> Penugasan Peran Baru-> tambahkan pengguna

-Juga, buka Kumpulan Data di pengelola laporan -> kumpulan data laporan Anda -> Keamanan -> Penugasan Peran Baru -> tambahkan pengguna dengan peran yang diperlukan.

Terima kasih!

Geetanjali Sachdeva
sumber
2

Saya tahu ini sudah lama sekali, tetapi mungkin berguna untuk pendatang baru lainnya,

Saya memutuskan untuk meneruskan nama pengguna, kata sandi dan domain saat meminta laporan SSRS, jadi saya membuat satu kelas yang mengimplementasikan IReportServerCredentials.

 public class ReportServerCredentials : IReportServerCredentials   
{
    #region  Class Members
        private string username;
        private string password;
        private string domain;
    #endregion

    #region Constructor
        public ReportServerCredentials()
        {}
        public ReportServerCredentials(string username)
        {
            this.Username = username;
        }
        public ReportServerCredentials(string username, string password)
        {
            this.Username = username;
            this.Password = password;
        }
        public ReportServerCredentials(string username, string password, string domain)
        {
            this.Username = username;
            this.Password = password;
            this.Domain = domain;
        }
    #endregion

    #region Properties
        public string Username
        {
            get { return this.username; }
            set { this.username = value; }
        }
        public string Password
        {
            get { return this.password; }
            set { this.password = value; }
        }
        public string Domain
        {
            get { return this.domain; }
            set { this.domain = value; }
        }
        public WindowsIdentity ImpersonationUser
        {
            get { return null; }
        }
        public ICredentials NetworkCredentials
        {
            get
            {
                return new NetworkCredential(Username, Password, Domain);
            }
        }
    #endregion

    bool IReportServerCredentials.GetFormsCredentials(out System.Net.Cookie authCookie, out string userName, out string password, out string authority)
    {
        authCookie = null;
        userName = password = authority = null;
        return false;
    }
}

saat memanggil SSRS Reprots, masukkan kode berikut

 ReportViewer rptViewer = new ReportViewer();
 string RptUserName = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUser"]);
        string RptUserPassword = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserPassword"]);
        string RptUserDomain = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserDomain"]);
        string SSRSReportURL = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportURL"]);
        string SSRSReportFolder = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportFolder"]);

        IReportServerCredentials reportCredentials = new ReportServerCredentials(RptUserName, RptUserPassword, RptUserDomain);
        rptViewer.ServerReport.ReportServerCredentials = reportCredentials;
        rptViewer.ServerReport.ReportServerUrl = new Uri(SSRSReportURL);

SSRSReportUser, SSRSReportUserPassword, SSRSReportUserDomain, SSRSReportFolder ditentukan dalam file web.config.

Dhruv Patel
sumber
1

Sama seperti Nasser, saya tahu ini beberapa waktu yang lalu tetapi saya ingin memposting solusi saya untuk siapa saja yang memiliki masalah ini di masa mendatang.

Saya memiliki penyetelan laporan saya sehingga itu akan menggunakan koneksi data di pustaka koneksi data yang dihosting di SharePoint. Masalah saya adalah saya tidak memiliki koneksi data yang 'disetujui' sehingga dapat digunakan oleh pengguna lain.

Hal lain yang harus dicari adalah memastikan bahwa izin pada pustaka koneksi data tersebut juga memungkinkan baca untuk pengguna yang dipilih.

Semoga ini bisa membantu seseorang cepat atau lambat!

T0t3sMcG0t3s
sumber
1

Untuk SQL Reporting Services 2012 - SP1 dan SharePoint 2013.

Saya mendapat masalah yang sama: Izin yang diberikan kepada pengguna '[AppPoolAccount]' tidak cukup untuk melakukan operasi ini.

Saya masuk ke pengaturan aplikasi layanan, mengklik Manajemen Kunci, lalu Ubah kunci dan membuatnya membuat ulang kunci.

Kevin Cole -MCM-
sumber
1

Terima kasih telah berbagi. Setelah berjuang selama 1,5 hari, perhatikan bahwa Server Laporan dikonfigurasi dengan IP domain yang salah. Itu dikonfigurasi dengan IP domain cadangan yang offline. Saya telah mengidentifikasi ini di konfigurasi grup pengguna di mana nama Domain tidak terdaftar. Mengubah IP dan menyalakan ulang server Laporan. Masalah terselesaikan.

Vijay
sumber
1

Laporan tersebut mungkin ingin mengakses DataSource atau DataView di mana pengguna AD (atau grup AD) memiliki hak akses yang tidak mencukupi.

Pastikan Anda memeriksa URL berikut:

  • http://REPORTSERVERNAME/Reports/Pages/Folder.aspx?ItemPath=%2fDataSources
  • http://REPORTSERVERNAME/Reports/Pages/Folder.aspx?ItemPath=%2fDataSets

Lalu pilih Folder Settings

Pengaturan Folder

(atau individu yang sesuai DataSourceatau DataSet) dan pilih Security. Grup pengguna harus memiliki Browserizin.

masukkan deskripsi gambar di sini

MovGP0
sumber
0

Apa yang berhasil bagi saya adalah:

  • Pergi ke Pengaturan Situs
  • Klik "Konfigurasi keamanan seluruh situs"
  • Klik tombol "Penetapan Peran Baru" di bar bagian atas
  • Beri peran baru nama berikut "Semua Orang"
  • Dari peran yang tersedia, berikan "Pengguna Sistem" saja
  • Klik "Terapkan"

Itu harus dilakukan,

Semoga berhasil!

Eter
sumber
0

Jalankan BIDS sebagai administrator meskipun sudah ada keanggotaan grup Administrator.

Alexander Kashtalyan
sumber
1
Tidak perlu menjalankan sebagai admin, jawaban lain menunjukkan solusi yang lebih baik dengan memberikan pengguna yang perlu membuat laporan hak istimewa yang benar. Menjalankan sebagai admin bukanlah ide yang baik jika dapat dihindari.
Paul Hiemstra