Các quyền được cấp cho người dùng 'không đủ để thực hiện thao tác này. (rsAccessDenied) "}


99

Tôi đã tạo mô hình báo cáo bằng SSRS (2005) và xuất bản lên máy chủ cục bộ. Nhưng khi tôi cố gắng chạy báo cáo cho mô hình mà tôi đã xuất bản bằng trình tạo báo cáo, tôi gặp lỗi sau.

Báo cáo lỗi thực thi: Các quyền được cấp cho người dùng không đủ để thực hiện thao tác này. (rsAccessDenied)


Tôi thấy hữu ích .... này msdn.microsoft.com/en-GB/library/bb630430.aspx của Windows giả định tất cả mọi người là một người dùng chuẩn ...
Trabumpaline

Câu trả lời:


94

Đó là do thiếu đặc quyền cho người dùng mà bạn đang chạy trình tạo báo cáo, chỉ cần cấp cho người dùng hoặc nhóm đó một đặc quyền để chạy trình tạo báo cáo. Mời bạn ghé thăm bài viết này

Hoặc đối với phím tắt:

  1. Khởi động Internet Explorer bằng "Run as Administrator"
  2. Mở http: // localhost / báo cáo
  3. Chuyển đến tab thuộc tính (SSRS 2008)
  4. Bảo mật-> Phân công vai trò mới
  5. Thêm DOMAIN / USERNAME hoặc DOMAIN / USERGROUP
  6. Kiểm tra trình tạo Báo cáo

8
Không chắc đó có phải là năm 2012 cụ thể hay không nhưng tôi cũng phải thiết lập bảo mật trong "cài đặt trang".
uli78

15
Đối với năm 2014, hãy thiết lập các vai trò trong cả "Cài đặt thư mục" và "Cài đặt trang web"
Josh Noe

4
Một điều từ bài viết, có thể giúp bạn: để cấu hình sử dụng IE và "Run as Administrator". Sau đó đi tới Cài đặt thư mục (tự đặt mình làm Trình quản lý nội dung) và đến Cài đặt trang (vai trò: quản trị viên). Sau đó quay lại trình duyệt mặc định của bạn và nó sẽ hoạt động. (Tôi vào năm 2012).
Tomasz Gandor

4
Tôi phải sử dụng DOMAIN \ USERNAME thay vì dấu gạch chéo.
Paul

4
Không thành công ở bước # 2. Tôi nhận được thông báo này: Người dùng không có quyền bắt buộc. Xác minh rằng đủ quyền đã được cấp và các hạn chế Kiểm soát tài khoản người dùng (UAC) của Windows đã được giải quyết.
RDeveloper

18

Tôi biết là đã lâu nhưng bạn (hoặc bất kỳ người mới nào khác) có thể giải quyết vấn đề này bằng cách

  1. Thêm [Domain \ User] để quản trị , IISUser , SQLReportingUser nhóm
  2. Xóa khóa mã hóa trong các công cụ cấu hình SSRS
  3. Chạy lại Thay đổi cơ sở dữ liệu trong các công cụ cấu hình SSRS
  4. Mở WebServiceUrl từ công cụ cấu hình SSRS ( http: // localhost / reporterver )
  5. tạo Thư mục Báo cáo theo cách thủ công
  6. chuyển đến Thuộc tính của thư mục đã tạo và thêm các vai trò này vào bảo mật ( nội trang \ người dùng, nội trang \ Quản trị viên, miền \ người dùng )
  7. Triển khai các báo cáo của bạn và vấn đề của bạn đã được giải quyết

2
Xin chào, Vấn đề với tôi là tất cả các báo cáo đang hoạt động ngoại trừ một lỗi duy nhất. Lỗi là-Quyền được cấp cho người dùng 'NT AUTHORITY \ IUSR' không đủ để thực hiện thao tác này. (rsAccessDenied). Sự khác biệt nào có thể có cho một báo cáo?
Richa

5
Tôi thậm chí không có những nhóm này! Tôi có Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Userthay vào đó! Tôi phải làm gì trong trường hợp này? Những điều đó thường thay đổi như thế nào! : o
user2173353

18

Nhấp chuột phải vào Microsoft BI -> Nhấp vào Chạy với tư cách Quản trị viên -> mở báo cáo SSRS hiện có của bạn hoặc tạo báo cáo SSRS mới của bạn và sau đó triển khai báo cáo của bạn sau khi tuân thủ, bạn sẽ nhận được một URL web để xem báo cáo của mình. Sao chép URL đó và dán vào trình duyệt web (Chạy với tư cách Quản trị viên) và bạn sẽ nhận được chế độ xem báo cáo của mình. Bạn có thể sử dụng Internet Explorer, điều cần thiết cho dịch vụ web

Nếu nó là sai có nghĩa là, Xin vui lòng tha thứ cho tôi vì tôi đã làm như thế này để tôi chỉ cần viết.


2
Khởi động Visual Studio (BI) với tư cách là quản trị viên (nhấp chuột phải) đã thực hiện thủ thuật cho tôi.
maets

10

Đảm bảo rằng bạn có quyền truy cập được định cấu hình vào URL http: // localhost / báo cáo bằng cách sử dụng Cấu hình dịch vụ báo cáo SQL. Để làm điều này:

  1. Mở Trình quản lý Cấu hình Dịch vụ Báo cáo -> sau đó kết nối với phiên bản máy chủ báo cáo -> sau đó nhấp vào URL Trình quản lý Báo cáo.
  2. Trong trang URL của Trình quản lý Báo cáo, hãy nhấp vào nút Nâng cao -> sau đó trong Nhiều Danh tính cho Trình quản lý Báo cáo, hãy nhấp vào Thêm.
  3. Trong hộp bật lên URL HTTP của Trình quản lý Báo cáo, hãy chọn Tiêu đề Máy chủ và nhập: localhost
  4. Bấm OK để lưu các thay đổi của bạn.
  5. Bây giờ hãy khởi động / chạy Internet Explorer bằng Run as Administator ... (LƯU Ý: Nếu bạn không thấy liên kết 'Cài đặt trang web' ở góc trên cùng bên trái khi truy cập http: // localhost / báo cáo thì có thể là do bạn không đang chạy IE với tư cách Quản trị viên hoặc bạn chưa gán 'tên miền \ tên người dùng' cho máy tính của mình cho các vai trò dịch vụ báo cáo, hãy xem cách thực hiện việc này trong một vài bước tiếp theo.)
  6. Sau đó, truy cập: http: // localhost / report (bạn có thể phải đăng nhập bằng tên người dùng và mật khẩu Máy tính của mình)
  7. Bây giờ bạn sẽ được dẫn đến Trang chủ của Dịch vụ Báo cáo Máy chủ SQL tại đây: http: //localhost/Reports/Pages/Folder.aspx
  8. Từ Trang chủ, nhấp vào tab Thuộc tính, sau đó nhấp vào Phân công vai trò mới
  9. Trong hộp văn bản Tên người dùng hoặc nhóm, hãy thêm 'tên miền \ tên người dùng' có trong thông báo lỗi (trong trường hợp của tôi, tôi đã thêm: DOUGDELL3-PC \ DOUGDELL3 cho 'tên miền \ tên người dùng', trong trường hợp của bạn, bạn có thể tìm thấy tên miền \ tên người dùng cho máy tính của bạn trong thông báo lỗi rsAccessDenied).
  10. Bây giờ hãy kiểm tra tất cả các hộp kiểm; Trình duyệt, Trình quản lý nội dung, Báo cáo của tôi, Nhà xuất bản, Trình tạo báo cáo, sau đó bấm OK.
  11. Tên miền \ tên người dùng của bạn bây giờ sẽ được chỉ định cho các Vai trò sẽ cấp cho bạn quyền truy cập để triển khai các báo cáo của bạn tới Máy chủ Báo cáo. Nếu bạn đang sử dụng Visual Studio hoặc SQL Server Business Intelligence Development Studio để triển khai báo cáo của mình tới máy chủ báo cáo cục bộ, thì bây giờ bạn sẽ có thể.
  12. Hy vọng rằng điều đó sẽ giúp bạn giải quyết thông báo lỗi rsAccessDenied Máy chủ Báo cáo của mình ...

Xin cho bạn biết hướng dẫn này được thực hiện trên máy tính Windows 7 với SQL Server Reporting Services 2008.

Bài viết tham khảo: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html


2
Lưu ý rằng các câu trả lời chỉ có liên kết không được khuyến khích, các câu trả lời SO phải là điểm cuối của quá trình tìm kiếm giải pháp (so với một điểm dừng khác của các tài liệu tham khảo, có xu hướng cũ dần theo thời gian). Vui lòng xem xét thêm một bản tóm tắt độc lập ở đây, giữ liên kết làm tài liệu tham khảo.
kleopatra

6

Bạn cũng có thể đảm bảo rằng Danh tính trong Nhóm ứng dụng của bạn có các quyền phù hợp.

  1. Đi tới Trình quản lý IIS

  2. Nhấp vào Nhóm ứng dụng

  3. Xác định nhóm ứng dụng của trang web mà bạn đang triển khai báo cáo

  4. Kiểm tra xem danh tính có được đặt thành một số tài khoản dịch vụ hoặc tài khoản người dùng có quyền quản trị không

  5. Bạn có thể thay đổi danh tính bằng cách dừng nhóm, nhấp chuột phải vào nhóm và chọn Cài đặt nâng cao ...

Trong Mô hình Quy trình là trường Danh tính


1
Tôi cũng phải làm như sau trên Máy chủ Windows 2008 R2 Đối với tôi, những gì đã hoạt động là Mở IE ở Chế độ Quản trị viên, đó là Right Clikc IE -> Chạy với tư cách Quản trị viên. Sau đó, điều hướng đến http: // {your baseurl}: {your base port} / Reports / Đối với tôi, đó là devsql2008r2: 80 / Reports Việc này đã giải quyết được lỗi của tôi. Chrome hoặc Firefox vẫn không thể mở được.
Vishnoo Rath

Nói cách khác: câu trả lời này sẽ khắc phục tình huống trong đó Ứng dụng tùy chỉnh của bạn đang cố gắng gọi SSRS đang chạy như UserAtrong Nhận dạng AppPool. Nhưng điều đó UserAKHÔNG được cấu hình trên máy chủ SSRS để có quyền truy cập (ví dụ: không phải trong BUILTIN\Administratorsnhóm). Vì vậy, cách khắc phục là thay đổi danh tính AppPool thành một số người dùng quản trị viên trong miền. Hoặc cập nhật cài đặt SSRS để bao gồm người dùng AppPool Identity hiện tại.
Don Cheadle

5

trong Cài đặt trang web trong Trình quản lý báo cáo> Định cấu hình định nghĩa vai trò cấp hệ thống> chọn tùy chọn ExecuteReport Defination rồi tạo Nhóm người dùng hệ thống, Cấp quyền truy cập vào nhóm đó tại Kết nối với cơ sở Dữ liệu dịch vụ báo cáo của bạn trong thuộc tính máy chủ và thêm một nhóm và hoán vị quyền truy cập dưới dạng Người dùng hệ thống ... Nó sẽ hoạt động


5

Tôi có SQL2008 / Windows 2008 Enterprise và đây là những gì tôi phải làm để sửa lỗi rs.accessdenied, 404, 401 và 503:

  • Đã thêm Người dùng NT vào Người dùng Máy chủ Báo cáo SQL và Nhóm IIS_USR
  • Tôi đã thay đổi Dịch vụ báo cáo SQL thành tài khoản Cục bộ (đó là Miền có quản trị viên cục bộ)
  • Tôi đã xóa khóa mã hóa trong Cấu hình dịch vụ báo cáo (tab cuối cùng trong danh sách)
  • và THÌ nó đã hoạt động.

5

Tôi đã sử dụng các bước sau và nó đang làm việc cho tôi.

Mở Trình quản lý Cấu hình Dịch vụ Báo cáo -> sau đó kết nối với phiên bản máy chủ báo cáo -> sau đó nhấp vào URL Trình quản lý Báo cáo.

Trong trang URL của Trình quản lý Báo cáo, hãy nhấp vào nút Nâng cao -> sau đó trong Nhiều Danh tính cho Trình quản lý Báo cáo, hãy nhấp vào Thêm.

Trong hộp bật lên URL HTTP của Trình quản lý Báo cáo, hãy chọn Tiêu đề Máy chủ và nhập: localhost Nhấp vào OK để lưu các thay đổi của bạn.

Sau đó:

  1. đã sao chép URL máy chủ báo cáo
  2. Chạy Google chrome / Internet Explorer với tư cách quản trị viên
  3. Dán URL vào thanh địa chỉ và nhấn enter.

nó hoạt động tốt đối với tôi trên Internet Explorer và Google Chrome nhưng không hoạt động tốt với mozilla Firefox.

Trong trường hợp Firefox yêu cầu tên người dùng và mật khẩu, tôi đang cung cấp nó nhưng nó không hoạt động. Tôi là quản trị viên và có toàn quyền.

Mình đã thực hiện thêm 1 lần thay đổi set "User Account Control Settings" để không bao giờ thông báo.

Nếu bạn nhận được loại ngoại lệ như vậy trong khi triển khai báo cáo này từ Visual Studio, hãy thực hiện những việc sau:

  1. Mở Google chrome / Internet Explorer với quyền quản trị viên.
  2. mở URL máy chủ báo cáo trong đó.

3. nhấp vào "Nhiệm vụ vai trò mới", sau đó nhập tên người dùng và chọn Vai trò.nhập mô tả hình ảnh ở đây

  1. bấm vào ok.
  2. Bây giờ triển khai báo cáo từ Visual studio nó sẽ hoạt động và triển khai báo cáo tại máy chủ được chỉ định.

4

Mở trình khám phá internet với tư cách quản trị viên.

Mở url báo cáo http://machinename/reportservername

thì trong 'cài đặt thư mục' cấp quyền cho các nhóm người dùng được yêu cầu.


4

Vấn đề cũ nhưng có liên quan. Tôi đã giải quyết cho năm 2012 bằng cách đăng nhập vào máy chủ báo cáo và:

  • duyệt đến http: // localhost / report /
  • Nhấp vào 'Cài đặt Trang web' ở trên cùng bên phải (chỉ khả dụng khi đăng nhập vào máy chủ báo cáo)
  • Chuyển đến tab 'Bảo mật' và nhấp vào 'Phân công vai trò mới'
  • Đã thêm DOMAIN \ USERNAME của tôi làm Quản trị viên Hệ thống

Không thể nói rằng tôi cảm thấy thoải mái với giải pháp này, nhưng tôi cần một thứ gì đó hiệu quả và nó đã hoạt động. Hy vọng điều này sẽ giúp người khác.


4

Sau khi thiết lập SSRS 2016, tôi RDP'd vào máy chủ (Windows Server 2012 R2), điều hướng đến URL báo cáo ( https://reports.fakeserver.net/Reports/browse/ ) và tạo tiêu đề thư mục FakeFolder; mọi thứ dường như hoạt động tốt. Sau đó, tôi ngắt kết nối khỏi máy chủ, duyệt đến cùng một URL, đăng nhập với cùng một người dùng và gặp lỗi bên dưới.

Các quyền được cấp cho 'fakeserver \ mitchs' của người dùng không đủ để thực hiện thao tác này.

Bối rối, tôi đã thử rất nhiều giải pháp được đề xuất trên trang này và vẫn không thể tạo ra cùng một hành vi cả cục bộ và bên ngoài khi điều hướng đến URL và xác thực. Sau đó, tôi nhấp vào dấu ba chấm của FakeFolder, nhấp vào Quản lý, nhấp vào Bảo mật (ở bên trái màn hình) và tự thêm mình là người dùng có đầy đủ quyền. Sau khi ngắt kết nối khỏi máy chủ, tôi đã duyệt đến https://reports.fakeserver.net/Reports/browse/FakeFolder và có thể xem nội dung của thư mục mà không gặp phải lỗi quyền. Tuy nhiên, khi tôi nhấp vào trang chủ, tôi nhận được lỗi quyền.

Đối với mục đích của tôi, điều này là đủ tốt vì không có người nào khác sẽ không bao giờ cần phải duyệt đến URL gốc, vì vậy tôi chỉ cần ghi nhớ bất cứ khi nào tôi cần thực hiện thay đổi trong SSRS để kết nối đầu tiên với máy chủ và sau đó duyệt đến URL báo cáo .


3

Vấn đề:

Lỗi rsAccessDenied: Các quyền được cấp cho người dùng 'Người dùng \ Người dùng' không đủ để thực hiện thao tác này.

Giải pháp:

Nhấp vào "Cài đặt thư mục"> "Phân công vai trò mới" Sau đó nhập "Người dùng \ Người dùng" vào hộp văn bản 'Nhóm hoặc tên người dùng'. Chọn hộp kiểm Vai trò mà bạn muốn người dùng có.


2

Những gì làm việc cho tôi là:

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

1
Điều này cũng hiệu quả với tôi trong trường hợp tôi nhập cơ sở dữ liệu của đồng nghiệp.
malckier

2

Điều này đã làm việc cho tôi- -đi đến trình quản lý báo cáo, kiểm tra cài đặt trang web-> Bảo mật -> Phân công vai trò mới-> thêm người dùng

-Ngoài ra, hãy chuyển đến Tập dữ liệu trong trình quản lý báo cáo -> tập dữ liệu báo cáo của bạn -> Bảo mật -> Phân công vai trò mới -> thêm người dùng với vai trò cần thiết.

Cảm ơn!


2

Tôi biết nó đã lâu nhưng có thể hữu ích cho bất kỳ người mới nào khác,

Tôi đã quyết định chuyển tên người dùng, mật khẩu và miền trong khi yêu cầu báo cáo SSRS, vì vậy tôi đã tạo một lớp triển khai 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;
    }
}

trong khi gọi Đại diện SSRS, hãy đặt đoạn mã sau

 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 được định nghĩa trong tệp web.config.


1

Cũng giống như Nasser, tôi biết điều này đã được một thời gian nhưng tôi muốn đăng giải pháp của mình cho bất kỳ ai gặp vấn đề này trong tương lai.

Tôi đã thiết lập báo cáo của mình để nó sử dụng kết nối dữ liệu trong thư viện Kết nối Dữ liệu được lưu trữ trên SharePoint. Vấn đề của tôi là tôi không có kết nối dữ liệu 'được chấp thuận' để người dùng khác có thể sử dụng được.

Một điều khác cần tìm là đảm bảo rằng các quyền trên thư viện Kết nối Dữ liệu đó cũng cho phép đọc cho những người dùng được chọn.

Hy vọng điều này sẽ giúp ai đó sớm hay muộn!


1

Đối với Dịch vụ Báo cáo SQL 2012 - SP1 và SharePoint 2013.

Tôi gặp vấn đề tương tự: Các quyền được cấp cho người dùng '[AppPoolAccount]' không đủ để thực hiện thao tác này.

Tôi đã vào cài đặt ứng dụng dịch vụ, nhấp vào Quản lý khóa, sau đó nhấp vào Thay đổi khóa và để nó tạo lại khóa.


1

Cám ơn vì đã chia sẻ. Sau khi vật lộn trong 1,5 ngày, nhận thấy rằng Máy chủ Báo cáo đã được định cấu hình với IP miền sai. Nó đã được định cấu hình với IP miền dự phòng đang ngoại tuyến. Tôi đã xác định điều này trong cấu hình nhóm người dùng mà Tên miền không được liệt kê. Đã thay đổi IP và khởi động lại máy chủ Báo cáo. Vấn đề đã được giải quyết.


1

Báo cáo có thể muốn truy cập DataSource hoặc DataView trong đó người dùng AD (hoặc nhóm AD) có quyền truy cập không thông minh.

Đảm bảo bạn kiểm tra các URL sau:

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

Sau đó chọn Folder Settings

Cài đặt thư mục

(hoặc cá nhân thích hợp DataSourcehoặc DataSet) và chọn Security. Nhóm người dùng cần có Browserquyền.

nhập mô tả hình ảnh ở đây


0

Điều làm việc cho tôi là:

  • Đi tới Cài đặt trang web
  • Nhấp vào "Định cấu hình bảo mật trên toàn trang"
  • Nhấp vào nút "Phân công vai trò mới" ở thanh trên cùng
  • Đặt cho vai trò mới tên sau "Mọi người"
  • Trong số các vai trò có sẵn, chỉ cấp cho nó là "Người dùng hệ thống"
  • Nhấp vào "Áp dụng"

Nên làm vậy,

Chúc may mắn!


0

Chạy BIDS với tư cách quản trị viên mặc dù đã có thành viên nhóm Quản trị viên.


1
Không cần phải chạy với tư cách quản trị viên, câu trả lời còn lại là giải pháp tốt hơn bằng cách cung cấp cho người dùng cần tạo báo cáo các priviliges chính xác. Chạy với tư cách quản trị viên không bao giờ là một ý tưởng hay nếu nó có thể tránh được.
Paul Hiemstra
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.