2011-01-24 8 views
4

Windows Server 2008 Enterprise 64 비트에서 SQL Server 2008 64 비트 엔터프라이즈를 사용하고 있습니다. SQL Server Management Studio에서 다음 명령문을 실행하면 sysadmin 권한이 필요합니다. 이 문을 사용하여 Excel에서 데이터베이스 테이블로 데이터를 가져옵니다. 내 질문에, 나는 sysadmin 권한이 너무 높은, 낮은 권한 권한을 동일한 기능을 구현하는 데 사용할 수있는 솔루션을 우려하고있다? 책에서SQL Server 2008 OPENROWSET 사용 권한 문제

select * from OPENROWSET('MICROSOFT.ACE.OLEDB.12.0', 
'Excel 12.0;HDR=YES;DATABASE=C:\mytest1.xlsx',sheet1$) 

답변

4

온라인 OPENROWSET (Transact-SQL)

사용자는 ADMINISTER BULK OPERATIONS 권한이 필요합니다.

here is the entry을 부여하십시오. 이것은 서버 수준의 권한이므로 예, 상당히 높습니다.

낮은 권한을 시도하려면 표준 연결된 서버 연결을 만들고

EXEC sp_addlinkedsrvlogin 'LINKSERVERNAME', 'false', 
    'localuser', 'rmtuser', 'rmtpass' 

가 부여하는 데 필요한 특정 권한이있을 나타나지 않는 사용하여 로그인을 추가, 그래서 당신이 설정 한 경우 링크 수 서버의 경우 모든 로컬 사용자에게 매핑되는 일반 linkedsrvlogin으로 설정하는 것은 현명하지 않습니다. 특정 로컬 - 원격 매핑을 설정하여 원격 서버에서 연결된 서버를 통해 로컬 사용자의 액세스를 제어하십시오 (rmtuser 로그인 별).

+0

감사와 시도하십시오. 연결된 서버를 사용하여 가장 낮은 권한은 무엇입니까? 가이드 나 튜토리얼을 나에게 소개해 줄 수 있니? – George2

+0

감사합니다. 질문에 답변했습니다. – George2

1
select * from OPENROWSET('MICROSOFT.ACE.OLEDB.12.0', 
'Excel 12.0;HDR=YES;DATABASE=C:\mytest1.xlsx',sheet1$) 

내가 연결된 서버 솔루션에 관심이 하나