Дозволів, наданих користувачеві, "недостатньо для виконання цієї операції. (rsAccessDenied) "}


99

Я створив модель звіту за допомогою SSRS (2005) і опублікував на локальному сервері. Але коли я спробував запустити звіт для моделі, яку я опублікував за допомогою конструктора звітів, я отримав таку помилку.

Помилка виконання звіту: дозволів, наданих користувачеві, недостатньо для виконання цієї операції. (rsAccessDenied)


Я вважаю це корисним .... msdn.microsoft.com/en-GB/library/bb630430.aspx Windows передбачає, що кожен є стандартним користувачем ...
Trabumpaline

Відповіді:


94

Це через відсутність привілеїв для користувача, яким ви керуєте конструктор звітів, просто надайте цьому користувачеві або групі привілей на запуск конструктора звітів. Будь ласка, відвідайте цю статтю

Або для ярлика:

  1. Запустіть Internet Explorer, використовуючи "Запустити як адміністратор"
  2. Відкрийте http: // localhost / report
  3. Перейти на вкладку "Властивості" (SSRS 2008)
  4. Безпека-> Нове призначення ролі
  5. Додати DOMAIN / USERNAME або DOMAIN / USERGROUP
  6. Перевірте конструктор звітів

8
Не впевнений, чи це конкретний 2012 рік, але мені довелося налаштувати безпеку і в «налаштуваннях сайту».
uli78

15
На 2014 рік встановіть ролі і в "Налаштуваннях папок", і в "Налаштуваннях сайту"
Josh Noe

4
Одне з статті, яке може вам допомогти: налаштувати використання IE та "Запустити як адміністратор". Потім перейдіть у Налаштування папок (встановіть себе як Менеджер вмісту) та в Налаштування сайту (роль: адміністратор). Потім поверніться до свого браузера за замовчуванням, і він спрацює. (Я на 2012 рік).
Томаш Гандор

4
Мені довелося використовувати DOMAIN \ USERNAME замість косої риски вперед.
Пол

4
Помилка на кроці №2. Я отримав це повідомлення: Користувач не має необхідних дозволів. Переконайтеся, що надано достатньо дозволів та вирішено обмеження щодо керування обліковими записами користувачів (UAC).
RDeveloper

18

Я знаю, що це вже давно, але ви (або будь-які інші нові бажаючі) можете вирішити цю проблему шляхом

  1. Додайте [домен \ користувач] для адміністратора , IISUser , SQLReportingUser груп
  2. Видалити ключ шифрування в інструментах конфігурації SSRS
  3. Перезапустіть зміну бази даних в інструментах конфігурації SSRS
  4. Відкрийте WebServiceUrl з інструментів конфігурації SSRS ( http: // localhost / reportserver )
  5. створення папки звітів вручну
  6. перейдіть до Властивості створеної папки та додайте ці ролі в безпеку ( вбудовані \ користувачі, вбудований \ адміністратор, домен \ користувач )
  7. Розгорніть свої звіти і вашу проблему вирішено

2
Привіт. Проблема зі мною в тому, що всі звіти працюють, окрім лише одного. Помилка є. Дозволів, наданих користувачеві "NT AUTHORITY \ IUSR", недостатньо для виконання цієї операції. (rsAccessDenied). Яка різниця може бути в одному звіті?
Річа

5
У мене навіть немає цих груп! У мене є Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Userзамість цього! Що я роблю в цьому випадку? Як часто вони змінюються! : o
user2173353

18

Клацніть правою кнопкою миші Microsoft BI -> Клацніть Запустити як адміністратор -> або відкрийте наявний звіт SSRS або створіть новий звіт SSRS, а потім розгорніть свій звіт, після цього буде отримано одну веб-URL для перегляду звіту. Скопіюйте цю URL-адресу та вставте у веб-браузер (Запуск як адміністратор), і ви отримаєте представлення звіту. Ви можете використовувати Internet Explorer, що було б важливо для веб-сервісу

Якщо це неправильно означає, будь ласка, пробачте мене, так як я це зробив так, що я щойно написав.


2
Запуск Visual Studio (BI) як адміністратора (клацання правою кнопкою миші) зробив для мене трюк.
maets

10

Переконайтеся, що у вас налаштований доступ до URL-адреси http: // localhost / звітів, використовуючи конфігурацію служб звітування SQL. Зробити це:

  1. Відкрийте Менеджер конфігурації служб звітування -> потім підключіться до екземпляра сервера звітів -> і натисніть URL-адресу менеджера звітів.
  2. На сторінці URL-адреси менеджера звітів натисніть кнопку Додатково ->, а потім у кількох ідентифікаторах менеджера звітів натисніть кнопку Додати.
  3. У спливаючому вікні Додавання HTTP URL-адреси менеджера звітів виберіть Заголовок хоста та введіть: localhost
  4. Клацніть OK, щоб зберегти зміни.
  5. Тепер запустіть / запустіть Internet Explorer, використовуючи Запустити як адміністратор ... (ПРИМІТКА. Якщо ви не бачите посилання "Налаштування сайту" у верхньому лівому куті під час http: // localhost / звітів, це, мабуть, тому, що ви не є запускаєте IE як адміністратора або ви не призначили домен \ ім’я користувача своїх комп’ютерів ролям служб звітування, подивіться, як це зробити в наступних кількох кроках.)
  6. Потім перейдіть за посиланням: http: // localhost / report (можливо, доведеться увійти з іменем користувача та паролем вашого комп’ютера)
  7. Тепер вас слід направити на головну сторінку служб звітування SQL Server тут: http: //localhost/Reports/Pages/Folder.aspx
  8. На домашній сторінці натисніть вкладку Властивості, а потім натисніть кнопку Нове призначення ролі
  9. У текстове поле групи або імені користувача додайте "домен \ ім'я користувача", яке було у повідомленні про помилку (у моєму випадку я додав: DOUGDELL3-PC \ DOUGDELL3 для "домен \ ім'я користувача", у вашому випадку ви можете знайти домен \ ім'я користувача для вашого комп’ютера у повідомленні про помилку rsAccessDenied).
  10. Тепер позначте всі прапорці; Веб-переглядач, Менеджер вмісту, Мої звіти, Видавець, Конструктор звітів і натисніть кнопку ОК.
  11. Тепер домен \ ім’я користувача має бути призначений Ролям, які дадуть вам доступ до розгортання звітів на сервері звітів. Якщо ви використовуєте Visual Studio або SQL Server Business Intelligence Development Studio для розгортання звітів на локальному сервері звітів, тепер ви повинні мати змогу.
  12. Сподіваємось, це допоможе вам вирішити ваше повідомлення про помилку rsAccessDenied Server Server ...

Просто для того, щоб ви дізналися, цей підручник зроблено на комп'ютері під керуванням Windows 7 із службами звітування SQL Server 2008.

Довідкова стаття: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html


2
Зауважте, що відповіді, що стосуються лише посилань, не відштовхують, відповіді на відповідність повинні бути кінцевою точкою пошуку рішення (проти ще однієї зупинки посилань, яка, як правило, затягується з часом). Будь ласка, розглянути можливість додавання сюди окремого конспекту, зберігаючи посилання як орієнтир.
Клеопатра

6

Ви також можете переконатися, що особистість у вашому пулі програм має правильні дозволи.

  1. Перейдіть до менеджера IIS

  2. Клацніть Пулове програм

  3. Визначте пул додатків для веб-сайту, на якому розгортаєте звіти

  4. Переконайтеся, що особистість встановлена ​​на деякий обліковий запис або обліковий запис користувача, який має права адміністратора

  5. Ви можете змінити особу, зупинивши пул, клацнувши правою кнопкою миші та вибравши Додаткові налаштування ...

Під процесною моделлю - поле ідентичності


1
Я також повинен був зробити наступне на сервері Windows 2008 R2. Для мене працював Open IE в режимі адміністратора, тобто Right Clikc IE -> Запустити як адміністратор. Потім перейдіть до http: // {your baseurl}: {ваш базовий порт} / Reports / Для мене це devsql2008r2: 80 / Reports Це вирішило мою помилку. Chrome або Firefox досі не вдається відкрити.
Vishnoo Rath

Іншими словами: ця відповідь виправить сценарій, коли ваша UserAвласна програма, яка намагається викликати SSRS, працює так, як в ідентичності AppPool. Але UserAце НЕ налаштовано на сервері SSRS для доступу (наприклад, не в BUILTIN\Administratorsгрупі). Отже, виправлення полягає в тому, щоб змінити ідентифікацію AppPool на якогось користувача адміністратора домену. Або оновіть налаштування SSRS, щоб включити поточного користувача AppPool Identity.
Дон Чідл

5

в розділі Налаштування сайту в Менеджері звітів> Налаштування визначень ролей на рівні системи> встановіть прапорець Визначення ExecuteReport, а потім Створіть групу користувачів користувача, Надайте доступ до цієї групи на Підключення до бази даних звітів у власності сервера та додайте групу та дозвольте доступ як Користувач системи ... Це має працювати


5

У мене є SQL2008 / Windows 2008 Enterprise, і саме це мені довелося зробити, щоб виправити rs.accessdeniedпомилки 404, 401 та 503:

  • Додано користувачів NT до користувачів сервера звітів SQL та групи IIS_USR
  • Я змінив службу звітування SQL на локальний обліковий запис (це був домен із локальним адміністратором)
  • Я видалив ключ шифрування в Конфігурації служб звітування (остання вкладка у списку)
  • і ТОГО це працювало.

5

Я використав наступні кроки, і це працює на мене.

Відкрийте Менеджер конфігурації служб звітування -> потім підключіться до екземпляра сервера звітів -> і натисніть URL-адресу менеджера звітів.

На сторінці URL-адреси менеджера звітів натисніть кнопку Додатково ->, а потім у кількох ідентифікаторах менеджера звітів натисніть кнопку Додати.

У спливаючому вікні Додавання HTTP URL-адреси менеджера звітів виберіть Заголовок хоста та введіть: localhost Клацніть ОК, щоб зберегти зміни.

Тоді:

  1. скопіював URL-адресу сервера звітів
  2. Запустіть Google Chrome / Internet Explorer як адміністратор
  3. Вставте URL-адресу в адресний рядок і натисніть клавішу Enter.

він працює добре для Internet Explorer і Google Chrome, але не для mozilla Firefox.

У випадку, коли Firefox запитає ім’я користувача та пароль, я його надаю, але він не працює. Я адміністратор і маю повне право.

Я зробив ще 1 набір змін "Налаштування контролю облікових записів користувачів", щоб ніколи не отримувати сповіщення.

Якщо ви отримуєте такий тип винятку під час розгортання цього звіту від Visual Studio, виконайте такі дії:

  1. Відкрийте Google Chrome / Internet Explorer з правом адміністратора.
  2. відкрити URL-адресу сервера звітів.

3. Клацніть на "Нове призначення ролі", додайте потім введіть ім'я користувача та виберіть Ролі.введіть тут опис зображення

  1. натисніть ОК.
  2. Тепер розгорніть звіт від Visual studio, він буде працювати і розгортати звіти на вказаному сервері.

4

Відкрийте Internet Explorer як адміністратор.

Відкрийте URL-адресу звітів http://machinename/reportservername

то в розділі "Налаштування папки" надайте дозвіл необхідним групам користувачів.


4

Старе, але актуальне питання. Я вирішив за 2012 рік, увійшовши на сервер звітності та:

  • перейдіть до http: // localhost / report /
  • Натисніть "Налаштування сайту" у верхньому правому куті (було доступне лише під час входу на сервер звітів)
  • Перейдіть на вкладку "Безпека" та натисніть "Нове призначення ролі"
  • Додано мій DOMAIN \ USERNAME як системний адміністратор

Не можу сказати, що мені подобається це рішення, але мені було потрібно щось, що спрацювало, і воно спрацювало. Сподіваюся, що це допомагає комусь іншому.


4

Після налаштування SSRS 2016 я перейшов на сервер (Windows Server 2012 R2), перейшов до URL-адреси звітів ( https://reports.fakeserver.net/Reports/browse/ ) та створив назву папки FakeFolder; все, здавалося, працює нормально. Потім я відключився від сервера, перейшов до тієї ж URL-адреси, увійшов як той самий користувач і зіткнувся з помилкою нижче.

Дозволів, наданих користувачеві 'fakeserver \ mitchs', недостатньо для виконання цієї операції.

Плутати, я намагався майже все рішення, запропоновані на цій сторінці, і все-таки не міг створити однакову поведінку як локально, так і зовні під час переходу до URL-адреси та автентифікації. Потім я натиснув еліпсис FakeFolder, натиснув Manage, натиснув на безпеку (зліва на екрані) та додав себе як користувач із повними дозволами. Після відключення від сервера я перейшов до https://reports.fakeserver.net/Reports/browse/FakeFolder і зміг переглянути вміст папки, не зіткнувшись з помилкою дозволів. Однак, натиснувши додому, я отримав помилку дозволів.

Для моїх цілей це було досить добре, тому що нікому іншому ніколи не потрібно буде переглядати кореневу URL-адресу, тому я просто робив міркування, коли мені потрібно внести зміни в SSRS, щоб спочатку підключитися до сервера, а потім перейти до URL-адреси звітів. .


3

Проблема:

Помилка rsAccessDenied: Дозволів, наданих користувачеві "Користувач \ Користувач", недостатньо для виконання цієї операції.

Рішення:

Клацніть "Налаштування папок"> "Нове призначення ролі", а потім введіть "Користувач \ Користувач" у текстовому полі "Група або ім'я користувача". Установіть прапорці Ролі, які ви хочете мати у користувача.


2

Що для мене працювало:

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

1
Це також працювало для мене у випадку, коли я імпортував базу даних колеги.
malckier

2

Це працювало для мене - перейдіть до менеджера звітів, перевірте налаштування сайту-> Безпека -> Призначення нової ролі-> додайте користувача

-Также, перейдіть до наборів даних у менеджері звітів -> ваш набір даних звітів -> Безпека -> Нове призначення ролі -> додайте користувачеві потрібну роль.

Дякую!


2

Я знаю, що це вже давно, але може бути корисним будь-яким іншим новим бажаючим,

Я вирішив передавати ім’я користувача, пароль та домен під час запитів звітів SSRS, тому створив один клас, який реалізує 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;
    }
}

під час виклику репресів SSRS, введіть наступний фрагмент коду

 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.


1

Як і Нассер, я знаю, що це було деякий час тому, але я хотів опублікувати своє рішення для всіх, хто має цю проблему в майбутньому.

У мене був налаштований звіт, щоб він використовував з'єднання даних у бібліотеці підключення даних, розміщеній на SharePoint. Моя проблема полягала в тому, що у мене не було «схвалено» з'єднання для передачі даних, щоб воно було доступним для інших користувачів.

Інша річ, на яку слід звернути увагу, - переконатися, що дозволи на цю бібліотеку підключення даних також дозволяють читати вибраним користувачам.

Сподіваюся, це допоможе комусь рано чи пізно!


1

Для служб звітування SQL 2012 - SP1 та SharePoint 2013.

У мене та сама проблема: Дозволів, наданих користувачеві "[AppPoolAccount]", недостатньо для виконання цієї операції.

Я зайшов у налаштування сервісної програми, натиснув Керування клавішами, потім Змінити клавішу і змусив її відновити ключ.


1

Дякую, що поділились. Змагаючись протягом 1,5 днів, помітив, що сервер звітів налаштований на неправильний IP домену. Він був налаштований із резервним доменом IP, який знаходиться в автономному режимі. Я визначив це в конфігурації групи користувачів, де ім'я домену не було вказано. Змінено IP та перезавантажте сервер звітів. Проблема вирішена.


1

Звіт, можливо, захоче отримати доступ до DataSource або DataView, де користувач AD (або група AD) має недостатні права доступу.

Перевірте такі URL-адреси:

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

Потім вибирайте Folder Settings

Налаштування папки

(або відповідну особу DataSourceабо DataSet) та виберіть Security. Група користувачів повинна мати Browserдозвіл.

введіть тут опис зображення


0

Що для мене працювало:

  • Перейдіть до Налаштування сайту
  • Клацніть на "Налаштувати безпеку для всіх сайтів"
  • Натисніть кнопку "Нове призначення ролі" у верхній панелі
  • Дайте новій ролі таку назву "Усі"
  • З доступних ролей надайте лише "Користувачеві системи"
  • Натисніть "Застосувати"

Це повинно це робити,

Удачі!


0

Запустити BIDS як адміністратора, незважаючи на наявне членство у групі Адміністраторів.


1
Не потрібно запускатись як адміністратор, інша відповідь вказує на краще рішення, надаючи користувачеві, який повинен створити звіт правильних привілей. Запуск адміністратора ніколи не є хорошою ідеєю, якщо цього можна уникнути.
Пол Хіемстра
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.