Kullanıcıya verilen izinler bu işlemi gerçekleştirmek için yetersiz. (rsAccessDenied) "}


101

SSRS (2005) kullanarak bir rapor modeli oluşturdum ve yerel sunucuda yayınladım. Ancak rapor oluşturucuyu kullanarak yayınladığım model için raporu çalıştırmayı denediğimde aşağıdaki hatayı alıyorum.

Rapor yürütme hatası: Kullanıcıya verilen izinler bu işlemi gerçekleştirmek için yetersiz. (rsAccessDenied)


Bunu yararlı buldum .... msdn.microsoft.com/en-GB/library/bb630430.aspx Windows herkesin standart bir kullanıcı olduğunu varsayıyor ...
Trabumpaline

Yanıtlar:


94

Rapor oluşturucuyu çalıştırdığınız kullanıcı için ayrıcalık eksikliğinden dolayı, sadece o kullanıcıya veya bir gruba rapor oluşturucuyu çalıştırma ayrıcalığı verin. Lütfen bu makaleyi ziyaret edin

Veya kısayol için:

  1. "Yönetici Olarak Çalıştır" ı kullanarak Internet Explorer'ı başlatın
  2. Açık http: // localhost / raporları
  3. Özellikler sekmesine gidin (SSRS 2008)
  4. Güvenlik-> Yeni Rol Ataması
  5. DOMAIN / USERNAME veya DOMAIN / USERGROUP ekleyin
  6. Rapor oluşturucuyu kontrol edin

8
2012'ye özgü olup olmadığından emin değilim, ancak güvenliği "site ayarlarında" da ayarlamam gerekiyordu.
uli78

16
2014 için hem "Klasör Ayarları" hem de "Site Ayarları" nda rolleri ayarlayın
Josh Noe

4
Makaleden size yardımcı olabilecek bir şey var: IE ve "Yönetici Olarak Çalıştır" kullanımını yapılandırmak. Ardından Klasör Ayarları'na (kendinizi İçerik Yöneticisi olarak ayarlayın) ve Site Ayarları'na (rol: yönetici) gidin. Ardından varsayılan tarayıcınıza dönün ve çalışacaktır. (2012'deyim).
Tomasz Gandor

4
Eğik çizgi yerine DOMAIN \ USERNAME kullanmak zorunda kaldım.
Paul

4
2. adımda başarısız oldu. Bu mesajı aldım: Kullanıcı gerekli izinlere sahip değil. Yeterli izinlerin verildiğini ve Windows Kullanıcı Hesabı Denetimi (UAC) kısıtlamalarının ele alındığını doğrulayın.
NoName

18

Uzun zaman önce olduğunu biliyorum ama siz (veya yeni gelenler) bu sorunu şu şekilde çözebilirsiniz:

  1. Yönetici , IISUser , SQLReportingUser gruplarına [Etki Alanı \ Kullanıcı] 'yı ekleyin
  2. SSRS yapılandırma araçlarında Şifreleme Anahtarını Sil
  3. SSRS yapılandırma araçlarında Veritabanı Değişikliğini Yeniden Çalıştırın
  4. SSRS yapılandırma araçlarından WebServiceUrl'yi açın ( http: // localhost / reportserver )
  5. Raporlar Klasörünü manuel olarak oluşturma
  6. Oluşturulan klasörün özelliklerine gidin ve bu rolleri güvenliğe ekleyin ( yerleşik \ kullanıcılar, yerleşik \ Yönetici, etki alanı \ kullanıcı )
  7. Raporlarınızı dağıtın ve sorununuz çözüldü

2
Merhaba, Benimle ilgili sorun şu ki, sadece bir tanesi hariç tüm raporlar çalışıyor. Hata-'NT AUTHORITY \ IUSR' kullanıcısına verilen izinler bu işlemi gerçekleştirmek için yetersiz. (rsAccessDenied). Bir raporda ne fark olabilir?
Richa

5
Bu gruplara sahip değilim bile! Ben Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Useryerine! Bu durumda ne yapacağım? Bu şeyler ne sıklıkla değişir! : o
user2173353

18

Sağ Tıklama Microsoft BI -> Yönetici Olarak Çalıştır'ı tıklayın -> ya mevcut SSRS raporunuzu açın ya da yeni SSRS raporunuzu oluşturun ve ardından raporunuzu dağıtın ve ardından raporunuzu görüntülemek için bir web URL'si alacaksınız. Bu URL'yi kopyalayıp web tarayıcısına yapıştırın (Yönetici Olarak Çalıştır) ve rapor görünümünüzü elde edin. Web hizmeti için gerekli olan Internet Explorer'ı kullanabilirsiniz

Yanlışsa demek ki, bunu yaptığım için lütfen beni affet ki yeni yazdım.


2
Visual Studio'yu (BI) yönetici olarak başlatmak (sağ tıklama) benim için hile yaptı.
maets

11

SQL Raporlama Hizmetleri Yapılandırması kullanılarak http: // localhost / reports URL'sine yapılandırılmış erişiminiz olduğundan emin olun . Bunu yapmak için:

  1. Raporlama Hizmetleri Yapılandırma Yöneticisi'ni açın -> ardından rapor sunucusu örneğine bağlanın -> ardından Rapor Yöneticisi URL'sini tıklayın.
  2. Rapor Yöneticisi URL sayfasında, Gelişmiş düğmesini tıklayın -> ardından Rapor Yöneticisi için Birden Çok Kimlik seçeneğinde Ekle'yi tıklayın.
  3. Rapor Yöneticisi HTTP URL'si Ekle açılır kutusunda, Ana Bilgisayar Başlığı'nı seçin ve şunu yazın: localhost
  4. Değişikliklerinizi kaydetmek için Tamam'ı tıklayın.
  5. Şimdi başlat / Administator olarak çalıştır kullanarak çalıştırmak Internet Explorer ... (NOT: görmüyorsanız iken üst 'Site Ayarları' bağlantı köşesi sol // localhost / raporlar: http o öyle değil muhtemelen çünkü IE'yi Yönetici olarak çalıştırıyorsanız veya bilgisayarlarınızın etki alanı \ kullanıcı adı'nı raporlama hizmetleri rollerine atamadıysanız, sonraki birkaç adımda bunu nasıl yapacağınızı görün.)
  6. Ardından şu adrese gidin: http: // localhost / reports (Bilgisayarınızın kullanıcı adı ve şifresiyle oturum açmanız gerekebilir)
  7. Şimdi burada SQL Server Raporlama Hizmetlerinin Ana sayfasına yönlendirilmelisiniz: http: //localhost/Reports/Pages/Folder.aspx
  8. Ana sayfadan Özellikler sekmesini ve ardından Yeni Rol Ataması'nı tıklayın.
  9. Grup veya kullanıcı adı metin kutusuna, hata mesajında ​​bulunan 'etki alanı \ kullanıcı adı'nı ekleyin (benim durumumda' etki alanı \ kullanıcı adı 'için DOUGDELL3-PC \ DOUGDELL3 ekledim, sizin durumunuzda etki alanını bulabilirsiniz \ rsAccessDenied hata mesajında ​​bilgisayarınız için kullanıcı adı).
  10. Şimdi tüm onay kutularını işaretleyin; Tarayıcı, İçerik Yöneticisi, Raporlarım, Yayıncı, Rapor Oluşturucu ve ardından Tamam'ı tıklayın.
  11. Etki alanı \ kullanıcı adınız, raporlarınızı Rapor Sunucusuna dağıtmanız için size erişim sağlayacak Rollere artık atanmalıdır. Raporlarınızı yerel rapor sunucunuza dağıtmak için Visual Studio veya SQL Server Business Intelligence Development Studio kullanıyorsanız, artık bunu yapabilmelisiniz.
  12. Umarım, Rapor Sunucusu rsAccessDenied hata mesajınızı çözmenize yardımcı olur ...

Bu öğreticinin SQL Server Reporting Services 2008 yüklü bir Windows 7 bilgisayarında yapıldığını bilmenizi isterim.

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


2
Not o bağlantı sadece cevaplar tavsiye edilmez, SO cevaplar çözüm (vs. henüz zamanla bayat almak eğilimindedir referanslar, başka mola) için bir aramanın son nokta olmalıdır. Lütfen bağlantıyı referans alarak buraya bağımsız bir özet eklemeyi düşünün.
kleopatra

6

Ayrıca Uygulama Havuzunuzdaki Kimliğin doğru izinlere sahip olduğundan emin olabilirsiniz.

  1. IIS Yöneticisine git

  2. Uygulama havuzlarını tıklayın

  3. Raporları dağıttığınız sitenin uygulama havuzunu tanımlayın

  4. Kimliğin bazı hizmet hesabı veya yönetici izinlerine sahip kullanıcı hesabı olarak ayarlandığını kontrol edin.

  5. Havuzu durdurup sağ tıklayıp Gelişmiş Ayarlar ... 'ı seçerek kimliği değiştirebilirsiniz.

Süreç Modeli altında Kimlik alanıdır


1
Ayrıca bir Windows 2008 R2 Sunucusunda aşağıdakileri de yapmam gerekiyordu. Benim için işe yarayan, Yönetici Modunda Açık IE idi, yani Sağ Clikc IE -> Yönetici Olarak Çalıştır. Ardından http: // {baseurl}: {temel bağlantı noktanız} / Raporlar / Benim için devsql2008r2: 80 / Reports adresine gidin . Bu , hatamı çözdü. Chrome veya Firefox hala açılamıyor.
Vishnoo Rath

Başka bir deyişle: bu cevap UserA, SSRS'yi çağırmaya çalışan özel Uygulamanızın AppPool Kimliğindeki gibi çalıştığı bir senaryoyu düzeltir . Ancak bu UserA, SSRS sunucusunda erişime sahip olacak şekilde YAPILANDIRILMAZ (örn BUILTIN\Administrators. Grupta değil ). Bu nedenle düzeltme, AppPool kimliğini etki alanındaki bazı yönetici kullanıcı olarak değiştirmektir. Veya SSRS ayarlarını geçerli AppPool Identity kullanıcısını içerecek şekilde güncelleyin.
Don Cheadle

5

Raporlar yöneticisindeki Site ayarı altında> Sistem düzeyinde rol tanımlarını yapılandırın> ExecuteReport Tanımı seçeneğini işaretleyin ve ardından Bir Sistem Kullanıcı Grubu Oluşturun, Sunucu özelliklerindeki raporlama Hizmetleri Veri tabanınıza Bağlan'da bu gruba erişim verin ve bir grup ekleyin ve aşağıdaki gibi erişime izin verin Sistem Kullanıcısı ... Çalışmalı


5

SQL2008 / Windows 2008 Enterprise'a sahibim ve rs.accessdenied404, 401 ve 503 hatalarını düzeltmek için yapmam gereken şey bu :

  • SQL Rapor Sunucusu Kullanıcılarına ve IIS_USR Grubuna NT Kullanıcıları Eklendi
  • SQL Raporlama Hizmetini Yerel hesap olarak değiştirdim (Yerel Yönetici ile Etki Alanıydı)
  • Raporlama Hizmetleri Yapılandırmasında şifreleme anahtarını sildim (listedeki son sekme)
  • ve SONRA işe yaradı.

5

İnternet explorer'ı yönetici olarak açın.

Raporların url'sini açın http://machinename/reportservername

ardından 'klasör ayarlarında' gerekli kullanıcı gruplarına izin verin.


5

Aşağıdaki adımları kullandım ve benim için çalışıyor.

Raporlama Hizmetleri Yapılandırma Yöneticisi'ni açın -> ardından rapor sunucusu örneğine bağlanın -> ardından Rapor Yöneticisi URL'sini tıklayın.

Rapor Yöneticisi URL sayfasında, Gelişmiş düğmesini tıklayın -> ardından Rapor Yöneticisi için Birden Çok Kimlik seçeneğinde Ekle'yi tıklayın.

Rapor Yöneticisi HTTP URL'si Ekle açılır kutusunda, Ana Bilgisayar Başlığı'nı seçin ve şunu yazın: localhost Değişikliklerinizi kaydetmek için Tamam'ı tıklayın.

Sonra:

  1. rapor sunucusu URL'sini kopyaladı
  2. Google chrome / Internet Explorer'ı yönetici olarak çalıştırın
  3. URL'yi adres çubuğuna yapıştırın ve enter tuşuna basın.

benim için Internet Explorer ve Google Chrome'da iyi çalışıyor, ancak mozilla Firefox için çalışmıyor.

Firefox'un kullanıcı adı ve Parola sorması durumunda, onu veriyorum ama çalışmıyor. Ben yöneticiyim ve hakkım var.

Hiçbir zaman bildirmemesi için "Kullanıcı Hesabı Kontrol Ayarları" setinde 1 değişiklik daha yaptım.

Bu raporu Visual Studio'dan dağıtırken bu tür bir istisna alıyorsanız, aşağıdakileri yapın:

  1. Google chrome / Internet Explorer'ı yönetici hakkıyla açın.
  2. içindeki rapor sunucusu URL'sini açın.

3. "Yeni Rol Ataması" na tıklayın ve ardından kullanıcı adını girin ve Rolleri seçin.görüntü açıklamasını buraya girin

  1. Tamam'ı tıklayın.
  2. Şimdi raporu Visual Studio'dan dağıtın, çalışacak ve raporları belirtilen sunucuda dağıtacaktır.

4

Eski ama alakalı sorun. Raporlama sunucusuna giriş yaparak 2012'yi çözdüm ve:

  • http: // localhost / reports / 'a göz atın
  • Sağ üstteki 'Site Ayarları'nı tıklayın (yalnızca rapor sunucusunda oturum açarken kullanılabilirdi)
  • 'Güvenlik' sekmesine gidin ve 'Yeni Rol Ataması'nı tıklayın
  • DOMAIN \ USERNAME alan adımı Sistem Yöneticisi olarak ekledim

Bu çözümden memnun olduğumu söyleyemem ama işe yarayan bir şeye ihtiyacım vardı ve işe yaradı. Umarım bu başka birine yardımcı olur.


4

SSRS 2016'yı kurduktan sonra, sunucuya (Windows Server 2012 R2) RDP'ledim, raporların URL'sine ( https://reports.fakeserver.net/Reports/browse/ ) gittim ve FakeFolder adlı bir klasör başlığı oluşturdum; her şey yolunda görünüyordu. Daha sonra sunucuyla bağlantım kesildi, aynı URL'ye göz attım, aynı kullanıcı olarak oturum açtım ve aşağıdaki hatayla karşılaştım.

"Sahte sunucu" kullanıcısına verilen izinler bu işlemi gerçekleştirmek için yetersizdir.

Kafam karıştı, bu sayfada önerilen hemen hemen her çözümü denedim ve yine de URL'ye giderken ve kimlik doğrulaması yaparken hem yerel hem de harici olarak aynı davranışı oluşturamadım. Daha sonra FakeFolder'ın üç noktasını tıkladım, Yönet'e tıkladım, Güvenlik'e tıkladım (ekranın sol tarafında) ve kendimi tam izinlere sahip bir kullanıcı olarak ekledim. Sunucudan bağlantıyı kestikten sonra https://reports.fakeserver.net/Reports/browse/FakeFolder adresine göz attım ve izin hatasıyla karşılaşmadan klasörün içeriğini görüntüleyebildim. Ancak, ana sayfaya tıkladığımda izin hatası aldım.

Amaçlarım için, bu yeterince iyiydi, çünkü başka hiçbir kimsenin kök URL'ye göz atması gerekmeyecek, bu yüzden önce sunucuya bağlanmak ve ardından Raporlar URL'sine göz atmak için SSRS'de değişiklik yapmam gerektiğinde aklıma bir not verdim. .


3

Sorun:

Hata rsAccessDenied: 'Kullanıcı \ Kullanıcı' kullanıcısına verilen izinler bu işlemi gerçekleştirmek için yetersiz.

Çözüm:

"Klasör Ayarı"> "Yeni Rol Ataması" nı tıklayın Sonra "Grup veya kullanıcı adı metin kutusuna" Kullanıcı \ Kullanıcı "yazın. Kullanıcının sahip olmasını istediğiniz Roller onay kutularını işaretleyin.


2

Benim için işe yarayan şuydu:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder

1
Bu, bir meslektaşımın veritabanını içe aktardığım durumda da benim için çalıştı.
malckier

2

Bu benim için çalıştı - rapor yöneticisine git, site ayarlarını kontrol et -> Güvenlik -> Yeni Rol Ataması -> kullanıcıyı ekle

-Ayrıca, rapor yöneticisindeki Veri Kümelerine gidin -> rapor veri kümeniz -> Güvenlik -> Yeni Rol Ataması -> gerekli role sahip kullanıcıyı ekleyin.

Teşekkürler!


2

Uzun zaman önce olduğunu biliyorum ama yeni gelenlere yardımcı olabilir.

SSRS raporlarını talep ederken kullanıcı adı, şifre ve etki alanını aktarmaya karar verdim, bu yüzden IReportServerCredentials uygulayan bir sınıf oluşturdum.

 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;
    }
}

SSRS Reprot'larını ararken aşağıdaki kod parçasını yazın

 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 web.config dosyalarında tanımlanmıştır.


1

Tıpkı Nasser gibi, bunun bir süre önce olduğunu biliyorum, ancak gelecekte bu sorunu yaşayan herkes için çözümümü yayınlamak istedim.

Rapor kurulumumu, SharePoint'te barındırılan bir Veri Bağlantısı kitaplığındaki bir veri bağlantısını kullanacak şekilde yaptım. Benim sorunum, diğer kullanıcılar tarafından kullanılabilir olması için veri bağlantımın 'onaylanmaması' idi.

Aranacak başka bir şey de, o Veri Bağlantısı kitaplığındaki izinlerin seçilen kullanıcıların okumasına izin verdiğinden emin olmaktır.

Umarım bu er ya da geç birine yardımcı olur!


1

SQL Reporting Services 2012 - SP1 ve SharePoint 2013 için.

Aynı sorunu yaşıyorum: '[AppPoolAccount]' kullanıcısına verilen izinler bu işlemi gerçekleştirmek için yetersiz.

Servis uygulaması ayarlarına girdim, Anahtar Yönetimi'ni ve ardından Anahtarı değiştir'i tıkladım ve anahtarı yeniden oluşturmasını sağladım.


1

Paylaşım için teşekkürler. 1.5 gün uğraştıktan sonra, Rapor Sunucusunun yanlış etki alanı IP'si ile yapılandırıldığını fark etti. Çevrimdışı olan yedek etki alanı IP'si ile yapılandırılmıştır. Bunu, Etki Alanı adının listelenmediği kullanıcı grubu yapılandırmasında belirledim. IP değiştirildi ve Rapor sunucusunu yeniden başlatın. Sorun çözüldü.


1

Rapor, AD kullanıcısının (veya AD grubunun) yetersiz erişim haklarına sahip olduğu bir DataSource veya DataView'e erişmek isteyebilir.

Aşağıdaki URL'leri kontrol ettiğinizden emin olun:

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

Sonra seçin Folder Settings

Klasör Ayarları

(veya uygun kişi DataSourceveya DataSet) ve seçin Security. Kullanıcı grubunun Browserizne sahip olması gerekir .

görüntü açıklamasını buraya girin


0

Benim için işe yarayan şuydu:

  • Site Ayarına Git
  • "Site genelinde güvenliği yapılandır" ı tıklayın
  • Üst çubukta "Yeni Rol Ataması" düğmesini tıklayın
  • Yeni role "Herkes" adını verin
  • Mevcut rollerden yalnızca "Sistem Kullanıcısı" verin
  • "Uygula" yı tıklayın

Bunu yapmalı

İyi şanslar!


0

Yöneticiler grubunun mevcut üyeliğine rağmen BIDS'i yönetici olarak çalıştırın.


1
Yönetici olarak çalıştırmaya gerek yoktur, diğer cevap, raporu oluşturması gereken kullanıcıya doğru yetkileri vererek daha iyi bir çözüme işaret eder. Önlenebilecekse, yönetici olarak çalışmak asla iyi bir fikir değildir.
Paul Hiemstra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.