2013-04-16 19 views
20

tôi đang cố gắng để thêm quyền cho một thủ tục Store cho người dùng sử dụng truy vấn này,Không thể tìm thấy người dùng '', bởi vì nó không tồn tại hoặc bạn không có quyền

USE [MyDatabaseName] 
GO 

GRANT EXEC ON [dbo].[StoreProcedureName] TO [UserName] 
GO 

tôi có thể cung cấp cho phép cho người sử dụng thông qua giao diện theuser nhưng sử dụng truy vấn này, tôi nhận được lỗi này,

không thể tìm thấy người dùng 'username', bởi vì nó không tồn tại hoặc bạn không có phép.

Nếu tôi không có quyền thì làm cách nào để thêm quyền bằng giao diện người dùng.

+0

Bạn có chắc chắn UserName tồn tại? Nếu đó là tài khoản cửa sổ, hãy thêm tên miền. – Ulises

+0

Tôi đã thiết lập và người dùng của mình với tên đó tồn tại .. – Mathematics

+0

Thông báo lỗi khá tự giải thích - bạn có được kết nối với tư cách là sysadmin hoặc dbo không? Tên người dùng không chính xác hoặc bạn không có đủ quyền. –

Trả lời

32

Tôi vừa gặp phải vấn đề tương tự.

Đảm bảo có một người dùng ánh xạ cho thông tin đăng nhập của bạn trong bảng chính. Không yêu cầu tư cách thành viên vai trò cơ sở dữ liệu, chỉ cần chọn 'Bản đồ' cho chủ cơ sở dữ liệu trong 'Lập bản đồ người dùng' trong thuộc tính cho tên đăng nhập 'Tên người dùng'.

0

Bạn có thể gặp sự cố như thế này khi cơ sở dữ liệu đã được khôi phục từ máy chủ khác và GUID của người dùng trong cơ sở dữ liệu khác với máy chủ của máy chủ hiện tại.

này sẽ tái liên kết mồ côi người dùng:

USE <database_name>; 
GO 
sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>', 
    @LoginName='<login_name>'; 
GO 

khác hơn thế này, nếu người dùng tồn tại và bạn có quyền an ninh có liên quan, không có lý do gì bạn làm sẽ không hoạt động.

2

Tôi gặp sự cố này nhưng tôi vẫn đang ở trong nhóm quản trị cục bộ trên máy chủ. Rõ ràng nếu UAC được bật lên SQL Server Management Studio như quản trị viên làm cho một thế giới của sự khác biệt. Tôi không có bất kỳ quyền nào cho đến khi tôi làm điều này.

2

Run này:

USE [db_where_you_need_access] 
GO 
CREATE USER [your_user] FOR LOGIN [your_user]