Разрешения, предоставленные пользователю, недостаточны для выполнения этой операции. (rsAccessDenied) "}


100

Я создал модель отчета, используя SSRS (2005), и опубликовал ее на локальном сервере. Но когда я попытался запустить отчет для опубликованной мной модели с помощью построителя отчетов, я получил следующую ошибку.

Ошибка выполнения отчета: предоставленных пользователю прав недостаточно для выполнения этой операции. (rsAccessDenied)


Я нашел это полезным .... msdn.microsoft.com/en-GB/library/bb630430.aspx Windows предполагает, что все являются стандартными пользователями ...
Trabumpaline

Ответы:


94

Это из-за отсутствия прав у пользователя, у которого вы запускаете построитель отчетов, просто дайте этому пользователю или группе право запускать построитель отчетов. Пожалуйста, посетите эту статью

Или для ярлыка:

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

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

15
На 2014 год настройте роли как в «Настройки папки», так и в «Настройки сайта»
Джош Ной

4
Одна вещь из статьи, которая может вам помочь: для настройки использовать IE и «Запуск от имени администратора». Затем перейдите в Настройки папки (установите себя как Content Manager) и в Настройки сайта (роль: администратор). Затем вернитесь в браузер по умолчанию, и он будет работать. (Я нахожусь в 2012 году).
Tomasz Gandor

4
Мне пришлось использовать DOMAIN \ USERNAME вместо косой черты.
Пол

4
Ошибка на шаге 2. Я получил это сообщение: у пользователя нет необходимых разрешений. Убедитесь, что предоставлены достаточные разрешения и что ограничения контроля учетных записей Windows (UAC) устранены.
RDeveloper

18

Я знаю, что это было давно, но вы (или любые другие новички) можете решить эту проблему,

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

2
Привет! У меня проблема в том, что все отчеты работают, кроме одного. Ошибка: разрешения, предоставленные пользователю NT AUTHORITY \ IUSR, недостаточны для выполнения этой операции. (rsAccessDenied). Какая разница может быть для одного отчета?
Richa

5
У меня даже нет этих групп! У меня есть Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Userвместо этого! Что мне делать в этом случае? Как часто это меняется! : o
user2173353 02

18

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

Если это неправильно, значит, пожалуйста, простите меня, так как мне это понравилось, и я только что написал.


2
Запуск Visual Studio (BI) от имени администратора (щелчок правой кнопкой мыши) помог мне.
Maets

10

Убедитесь, что у вас настроен доступ к URL-адресу http: // localhost / reports с помощью конфигурации служб SQL Reporting Services. Сделать это:

  1. Откройте диспетчер конфигурации служб Reporting Services -> затем подключитесь к экземпляру сервера отчетов -> затем щелкните URL-адрес диспетчера отчетов.
  2. На странице URL-адреса диспетчера отчетов нажмите кнопку «Дополнительно» -> затем в разделе «Несколько идентификаторов для диспетчера отчетов» нажмите «Добавить».
  3. Во всплывающем окне «Добавить URL-адрес HTTP диспетчера отчетов» выберите «Заголовок хоста» и введите: localhost.
  4. Щелкните ОК, чтобы сохранить изменения.
  5. Теперь запустите / запустите Internet Explorer, используя Запуск от имени администратора ... (ПРИМЕЧАНИЕ. Если вы не видите ссылку «Параметры сайта» в верхнем левом углу, находясь по адресу http: // localhost / reports, это, вероятно, потому, что вы не запускаете IE от имени администратора или вы не назначили своим компьютерам домен \ имя пользователя для ролей служб отчетов, посмотрите, как это сделать, в следующих нескольких шагах.)
  6. Затем перейдите по адресу : http: // localhost / reports (возможно, вам придется войти в систему с именем пользователя и паролем вашего компьютера)
  7. Теперь вы должны быть перенаправлены на домашнюю страницу служб отчетов SQL Server здесь: http: //localhost/Reports/Pages/Folder.aspx
  8. На домашней странице щелкните вкладку Свойства, затем щелкните Назначение новой роли.
  9. В текстовом поле «Группа или имя пользователя» добавьте «домен \ имя пользователя», которое было в сообщении об ошибке (в моем случае я добавил: DOUGDELL3-PC \ DOUGDELL3 для «домен \ имя пользователя», в вашем случае вы можете найти домен \ username для вашего компьютера в сообщении об ошибке rsAccessDenied).
  10. Теперь установите все флажки; Браузер, Диспетчер содержимого, Мои отчеты, Издатель, Построитель отчетов, а затем нажмите ОК.
  11. Ваш домен \ имя пользователя теперь должны быть назначены ролям, которые предоставят вам доступ для развертывания ваших отчетов на сервере отчетов. Если вы используете Visual Studio или SQL Server Business Intelligence Development Studio для развертывания отчетов на локальном сервере отчетов, теперь у вас должна быть возможность.
  12. Надеюсь, это поможет вам решить проблему с сообщением об ошибке сервера отчетов rsAccessDenied ...

Просто чтобы вы знали, что это руководство было выполнено на компьютере под управлением Windows 7 с SQL Server Reporting Services 2008.

Справочная статья: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html


2
Обратите внимание, что ответы только на ссылки не приветствуются, ответы SO должны быть конечной точкой поиска решения (по сравнению с еще одной остановкой ссылок, которые со временем устаревают). Пожалуйста, подумайте о добавлении здесь отдельного синопсиса, сохранив ссылку в качестве ссылки.
kleopatra

6

Вы также можете убедиться, что удостоверение в пуле приложений имеет нужные разрешения.

  1. Перейти в диспетчер IIS

  2. Щелкните Пулы приложений

  3. Определите пул приложений сайта, на котором вы развертываете отчеты.

  4. Убедитесь, что удостоверение установлено для какой-либо учетной записи службы или учетной записи пользователя с правами администратора.

  5. Вы можете изменить идентификатор, остановив пул, щелкнув его правой кнопкой мыши и выбрав Дополнительные параметры ...

В разделе "Модель процесса" находится поле "Идентификация".


1
Мне также пришлось проделать следующее на сервере Windows 2008 R2. Для меня сработало открытие IE в режиме администратора, то есть Right Clikc IE -> Запуск от имени администратора. Затем перейдите по адресу http: // {your baseurl}: {your base port} / Reports / Для меня это devsql2008r2: 80 / Reports. Это устранило мою ошибку. Chrome или Firefox по-прежнему не открываются.
Вишну Рат

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

5

в разделе Настройка сайта в диспетчере отчетов> Настроить определения ролей на системном уровне> установите флажок ExecuteReport Defination, затем создайте системную группу пользователей, предоставьте доступ этой группе при подключении к базе данных служб отчетов в свойствах сервера и добавьте группу и разрешите доступ как Системный пользователь ... Должно работать


5

У меня SQL2008 / Windows 2008 Enterprise, и вот что мне пришлось сделать, чтобы исправить rs.accessdeniedошибки 404, 401 и 503:

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

5

Я использовал следующие шаги, и это работает для меня.

Откройте диспетчер конфигурации служб Reporting Services -> затем подключитесь к экземпляру сервера отчетов -> затем щелкните URL-адрес диспетчера отчетов.

На странице URL-адреса диспетчера отчетов нажмите кнопку «Дополнительно» -> затем в разделе «Несколько идентификаторов для диспетчера отчетов» нажмите «Добавить».

Во всплывающем окне «Добавить URL-адрес HTTP диспетчера отчетов» выберите «Заголовок хоста» и введите: localhost. Нажмите «ОК», чтобы сохранить изменения.

Затем:

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

у меня он отлично работает в Internet Explorer и Google Chrome, но не в Mozilla Firefox.

В случае, если Firefox запрашивает имя пользователя и пароль, я предоставляю его, но он не работает. Я админ и имею полное право.

Я сделал еще одно изменение «Настройки контроля учетных записей пользователей», чтобы никогда не уведомлять.

Если вы получаете исключение такого типа при развертывании этого отчета из 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 / reports /
  • Щелкните "Параметры сайта" в правом верхнем углу (было доступно только при входе на сервер отчетов).
  • Перейдите на вкладку «Безопасность» и нажмите «Назначение новой роли».
  • Добавлен мой DOMAIN \ USERNAME в качестве системного администратора

Не могу сказать, что мне нравится это решение, но мне нужно было что-то, что работало, и это работало. Надеюсь, это поможет кому-то другому.


4

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

Разрешения, предоставленные пользователю fakeserver \ mitchs, недостаточны для выполнения этой операции.

В замешательстве я пробовал практически все решения, предложенные на этой странице, и все еще не мог создать такое же поведение как локально, так и внешне при переходе по URL-адресу и аутентификации. Затем я щелкнул многоточие FakeFolder, щелкнул "Управление", "Безопасность" (в левой части экрана) и добавил себя как пользователя с полными разрешениями. После отключения от сервера я перешел на 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 Reprots поместите следующий фрагмент кода

 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 Reporting Services 2012 с пакетом обновления 1 (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.