0
몇 가지 다른 데이터베이스에서 단일 테이블에 액세스 할 수있는 로그인을 만들려고했습니다.한 테이블에 대한 사용 권한을 가진 사용자를 만들었지 만 테이블이 포함 된 데이터베이스에 액세스 할 수 없습니다.
내가 만든 로그인 나는 다음과 같은 오류 얻을 사용하여 시도하고 테이블을 쿼리 :
USE MASTER
GO
CREATE LOGIN log_Reader
WITH PASSWORD = '<password>'
GO
USE DB1
GO
CREATE USER log_Reader FOR LOGIN log_Reader
GRANT SELECT ON dbo.logtable TO log_Reader
USE DB2
GO
CREATE USER log_Reader FOR LOGIN log_Reader
GRANT SELECT ON dbo.logtable TO log_Reader
USE DB3
GO
CREATE USER log_Reader FOR LOGIN log_Reader
GRANT SELECT ON dbo.logtable TO log_Reader
USE DB4
GO
CREATE USER log_Reader FOR LOGIN log_Reader
GRANT SELECT ON dbo.logtable TO log_Reader
사람을합니까 :
The server principal "log_Reader" is not able to access the database "MyDB" under the current security context.
여기에 내가 로그인/사용자를 만드는 데 사용되는 SQL이의를 내가 놓친 아이디어가 있으십니까?
덕분에, 제이슨
ALTER ROLE [db_datareader] ADD MEMBER [log_Reader]가 도움이됩니까? – Elliveny
2008 R2, 그래서 당신이 제안한 역할에 sp_addrolemember 시도 - 불행히도, 아니 기쁨. –