2009-04-18 46 views
5

Tôi đang sử dụng SQL Management Studio 2008 Express làm giao diện đồ họa cho phiên bản SQL Server 2008 Express cục bộ của mình, cả hai đều chỉ có giao diện thử nghiệm và phát triển cho các dự án web của tôi.Cách nhận "quyền quản trị" trong SQL Server Management Studio?

Gần đây tôi đã trưởng thành tự tin hơn trong SQL mã hóa, và bắt đầu sử dụng một số công cụ sql phức tạp hơn - lĩnh vực mới nhất của tôi về trigger thăm dò được. Tuy nhiên, với sự ngạc nhiên lớn của tôi, tôi dường như không có quyền quản trị trên cá thể máy chủ của mình, điều đó có nghĩa là tôi không thể làm những việc đơn giản như gỡ lỗi hoặc thay đổi quyền truy cập.

Khi tôi cố gắng để bắt đầu gỡ lỗi tôi nhận được một thông điệp cho phép từ chối, và tôi cũng đã nhìn thấy nó khi tôi cố gắng quản lý quy tắc phép cơ sở dữ liệu khác nhau. Tôi nghi ngờ điều này có liên quan đến một số tùy chọn mà tôi đã chọn khi cài đặt máy chủ, nhưng vì tôi đã có nhiều cơ sở dữ liệu được thiết lập và chứa đầy dữ liệu, tôi không có mong muốn gỡ cài đặt và cài đặt lại toàn bộ.

Có cách nào để thay đổi mà tài khoản người dùng là quản trị bậc thầy của các trường hợp máy chủ? Nếu không, có cách nào khác để nhận quyền cấp quyền cho ví dụ gỡ lỗi trình kích hoạt của tôi không?

Trả lời

5

Đăng nhập vào máy tính của bạn dưới dạng tài khoản Quản trị viên cục bộ. Theo mặc định, đó phải là một vai trò sysadmin trong MSSQL.

Sử dụng SSMS, kết nối với cá thể MSSQL của bạn bằng cách sử dụng xác thực tích hợp. Bạn bây giờ là một sysadmin. Là một quản trị hệ thống, bạn có thể bây giờ add your normal user account to the sysadmin role:

EXEC sp_addsrvrolemember @loginame = 'PC_OR_DOMAIN\loginname', @rolename = 'sysadmin' 

Nếu bạn sử dụng SSPI (aka Integrated Authentication, aka không phải là một tên đăng nhập và mật khẩu khác nhau khi bạn khởi động SSMS) sau đó chỉ cần sử dụng đăng nhập Windows của bạn như là loginame. Nếu bạn sử dụng Sql Server Authentication (aka, tên người dùng và mật khẩu) thì hãy sử dụng tên người dùng làm tên đăng nhập. Nếu bạn sử dụng bất kỳ tên đăng nhập nào khác, tài khoản cũng sẽ được tạo.

Chắc chắn một cách để làm điều đó trong GUI - nhưng tôi không có nó ATM thuận tiện để nói với bạn như thế nào. Tôi nghĩ rằng đó là dưới Security -> Đăng nhập -> Properties và một số hộp kiểm cho các vai trò máy chủ khác nhau.

Edit: Enabling the local admin account on Vista Ngoài ra, nếu bạn một quản trị địa phương (tài khoản người dùng của bạn được liệt kê dưới nhóm Local Administrators) sau đó - by default - bạn là một quản trị hệ thống. Nó có thể là giá trị gấp đôi kiểm tra các thành viên của vai trò sysadmin (SQL) và nhóm quản trị viên địa phương (Vista).

Edit2: Hóa ra, SQL 2008 does not add BUILTIN\Administators nữa.Trong trường hợp đó, bạn cần kiểm tra xem bạn đã làm gì đã thêm. Điều đó sẽ có sẵn thông qua nút Logins. Có một lưu ý rằng bạn có thể là locked out của MSSQL Admin nếu bạn không chọn đăng nhập sysadmin. Nếu đó là trường hợp, tôi sẽ cài đặt lại. Bạn có thể lưu cơ sở dữ liệu của mình bằng cách dừng MSSQL và sao chép các tệp * .MDF và * .LDF. Sau khi cài đặt lại, sao chép chúng trở lại và sử dụng sp_attach_db để gắn lại chúng.

+0

Tôi làm cách nào để đăng nhập với tư cách Quản trị viên cục bộ? Tôi chạy Windows Vista và tài khoản duy nhất tôi biết là tài khoản người dùng thông thường của mình (AASLOEG \ Tomas, vì tên máy tính của tôi là AASLOEG ...). Tôi có quyền để chạy các công cụ như admin, nhưng chạy SSMS như admin không làm các trick. Tôi đã thử làm những gì mà câu lệnh SQL nên làm thông qua GUI, nhưng tôi bị từ chối cho phép ... –

+0

Cảm ơn các liên kết trong các chỉnh sửa của bạn - mặc dù chúng không giải quyết được vấn đề của tôi, tôi đã học một số công cụ hữu ích khác . Tôi đã kết thúc upp di chuyển ra các tập tin db từ thư mục mssql, cài đặt lại và đảm bảo cả nhóm quản trị cục bộ và tài khoản người dùng của riêng tôi đã được thêm vào vai trò sysadmin. Đó là một hazzle, nhưng nó hoạt động ngay bây giờ. Cảm ơn! –

+0

FYI, điều này đã giải quyết được vấn đề của tôi. –

0

Trình quản lý cấu hình máy chủ Sql.

Điều đó sẽ cho phép bạn đặt tài khoản cá thể.

Tuy nhiên những gì tôi nghĩ rằng bạn có thể là sau khi thay đổi chủ sở hữu cơ sở dữ liệu cho người sử dụng bạn kết nối với cơ sở dữ liệu với. NẾU bạn đang sử dụng SSPI thì đây sẽ là người dùng đã đăng nhập của bạn, hoặc nếu bạn đang sử dụng xác thực SQL, đây sẽ là người dùng kết nối bên trong chuỗi kết nối của bạn.

bổ sung:

Nếu bạn đang gỡ lỗi trên Windows XP hoặc cao hơn, và bạn không phải là quản trị viên (địa phương), sau đó bạn sẽ cần phải được đặt vào "Người dùng Debugging" nhóm trên hệ thống đó. Nếu không, hãy truy cập bộ nhớ hoặc đính kèm một trình gỡ rối vào một tiến trình mà bạn không sở hữu là không lớn.

+0

Cảm ơn bạn đã trả lời! Tôi có hai câu hỏi tiếp theo: 1) Nếu tôi thay đổi tài khoản cá thể sang tài khoản người dùng Windows của riêng tôi, điều đó vẫn cho phép ASP.NET quyền truy cập cần thiết để chạy thử các trang web của tôi? 2) Làm cách nào để thay đổi chủ sở hữu cơ sở dữ liệu thành bản thân (đó thực sự là điều tôi muốn làm)? Khi tôi đã thử, tôi đã nhận được thông báo từ chối quyền. A Catch 22 ... –

+0

Có, miễn là hồ bơi ứng dụng ASP.Net đang kết nối với tư cách người dùng của bạn. Nếu bạn chạy ASP.Net từ trình gỡ rối, cá thể đó chạy với tư cách người dùng của bạn. Trong IIS, người dùng đó được đặt bởi "nhóm ứng dụng" thực thi trang web của bạn. Bạn có thể tạo một tùy chỉnh với thông tin xác thực người dùng của mình, sau đó đặt trang web của bạn để chạy với tư cách người dùng đó. Tuy nhiên, vấn đề là bạn vẫn sẽ không nhận được quyền truy cập bạn muốn DB của bạn, vì điều đó được thiết lập bởi cơ sở dữ liệu, không phải tài khoản cá thể SQL Server. – Spence

+0

Bạn có quyền quản trị không? Nếu bạn làm thế, hãy chexk bạn đang kết nối tài khoản nào với studio quản lý. – Spence

Các vấn đề liên quan