Cách giải quyết lỗi Truy cập bị từ chối với rút lại stsadm -o


8

Chúng tôi có một trang trại 2 máy chủ chạy MOSS 2007 SP1. Tôi là thành viên của nhóm Quản trị viên trên cả hai máy chủ.

Tôi cũng là thành viên của nhóm Quản trị viên trang trại.

Tôi cần nâng cấp một vài giải pháp, vì vậy, tự nhiên tôi bắt đầu với lệnh rút lại stsadm trên các giải pháp cũ. Bất kể giải pháp nào tôi cố chạy lệnh, tôi đều nhận lại 'Truy cập bị từ chối'.

Tệp Nhật ký ULS may mắn cung cấp cho tôi thêm một chút thông tin:

System.Data.SqlClient.SqlException: Không thể mở cơ sở dữ liệu "SharePoint_AdminContent" theo yêu cầu đăng nhập. Việc đăng nhập thất bại. Đăng nhập thất bại cho người dùng '*** Đăng nhập tên miền của tôi ***'.

Điều có vẻ lạ ở đây là thực tế là SharePoint đang cố gắng kết nối với tài khoản MY bằng cách sử dụng Xác thực tích hợp Windows thay vì kết nối với tài khoản dịch vụ Farm được định cấu hình. Tất nhiên, tài khoản của tôi không có quyền truy cập vào cơ sở dữ liệu Nội dung quản trị.

Vì vậy, câu hỏi là: Tài khoản của tôi có cần được cấp quyền cho cơ sở dữ liệu Nội dung quản trị để thực hiện các tác vụ quản trị không? Tôi chắc chắn hy vọng không, vì vậy một cái gì đó sai lầm khủng khiếp?

Câu trả lời:


11

Câu trả lời ngắn gọn là "có" cho hầu hết các hoạt động bạn sẽ thực hiện thông qua STSADM dựa trên cơ sở dữ liệu SQL.

Đối với phần lớn các lệnh STSADM áp dụng trực tiếp với API SharePoint (thay vì lên lịch tác vụ để thực hiện một hành động), bối cảnh bảo mật trong đó các lệnh được thực thi là của bạn - người dùng đã đăng nhập. Như bạn đã thấy trong ví dụ bạn đã trích dẫn, bối cảnh tài khoản người dùng của bạn là bối cảnh sẽ được sử dụng để rút lại. Nếu bạn không có các quyền thích hợp trong SQL để thực hiện thao tác thì nó sẽ thất bại (như bạn đã thấy).

Điều này trái ngược với hầu hết các hoạt động bạn sẽ thực hiện thông qua UI (nghĩa là Quản trị viên trung tâm). Trong ví dụ bạn đã trích dẫn, rút ​​lại giải pháp thông qua Quản trị viên trung tâm sẽ dẫn đến lệnh được thực thi trong ngữ cảnh của tài khoản dịch vụ nông trại, vì tài khoản đó là danh tính nhóm ứng dụng cho trang web Quản trị viên trung tâm. Kết quả: rút lại sẽ thành công mặc dù bạn (cá nhân) không có quyền đối với cơ sở dữ liệu liên quan.

Nếu môi trường của bạn được thiết lập sao cho tài khoản của bạn không có quyền truy cập cấp quản trị viên vào cơ sở dữ liệu trong cụm máy chủ SharePoint, tôi khuyên bạn nên thực hiện càng nhiều hoạt động càng tốt thông qua giao diện người dùng để tránh loại sự cố bảo mật bạn gặp phải . Bạn sẽ thấy bạn có thể làm hầu hết những gì bạn cần để làm theo cách đó. Tuy nhiên, một ngoại lệ đáng chú ý xuất hiện là thêm một giải pháp (STSADM -o addolution) vào kho giải pháp trang trại - không tồn tại đối tác UI với lệnh STSADM.

Ngoài ra, bạn có thể làm điều gì đó tương tự như những gì MadlyAlive đề xuất (nghĩa là đăng nhập bằng tài khoản dịch vụ nông trại) ... mặc dù quyền truy cập quản trị viên cục bộ cho tài khoản dịch vụ nông trại không được Microsoft yêu cầu và cũng không khuyến nghị. Bạn cũng có thể yêu cầu tài khoản của bạn cấp bộ quyền tối thiểu bên trong SQL Server cần thiết để thực hiện các hoạt động của bạn.

Để thảo luận thêm, hãy xem bài viết KB của Microsoft tại http://support.microsoft.com/kb/896148 .

Tóm tắt quy tắc ngón tay cái: STSADM sử dụng bối cảnh tài khoản của bạn, Quản trị viên trung tâm sử dụng bối cảnh tài khoản dịch vụ nông trại.

Tôi hi vọng cái này giúp được!


cảm ơn vì cái nhìn sâu sắc và thông tin Không bao giờ nghĩ nhiều về thực tế rằng stsadm chạy trong bối cảnh của người dùng.
Aaron Weiker

Tôi cũng gặp vấn đề tương tự khi tôi cố rút lại giải pháp trong Giao diện người dùng quản trị viên trung tâm. Nhưng đây thực sự là thông tin tốt mà bạn đã chia sẻ. Bây giờ tôi sẽ bắt đầu quá trình xử lý dài dòng yêu cầu quyền truy cập thích hợp vào máy chủ SQL.
Trent

Tôi vẫn mong tài khoản của mình nhận được tất cả các quyền này khi được thêm vào nhóm "Quản trị viên trang trại".
vitule

Thêm tài khoản vào nhóm "Quản trị viên trang trại" trong SharePoint Central Admin hoàn toàn không ảnh hưởng đến quyền của tài khoản đó trong SQL Server. Trở thành quản trị viên trang trại cung cấp cho bạn quyền (trong Quản trị viên trung tâm) để bắt đầu các hành động được thực hiện thay mặt bạn bằng tài khoản dịch vụ nông trại / hẹn giờ thông qua ủy quyền ... nhưng nó không thay đổi bất kỳ quyền nào trên cơ sở dữ liệu cho tài khoản người dùng trong SQL . Trở thành quản trị viên trang trại chỉ là thay đổi quyền SharePoint - không phải SQL Server.
Sean P. McDonough

0

Điều này có thể tránh được vấn đề cốt lõi, nhưng khi cố chạy lệnh stsadm tương tự

stsadm -o preupgradecheck

Tôi cũng đã nhận được Access Denied. Nhưng việc chạy Command Prompt as Administrator cho phép tôi chạy nó.

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.