繁体   English   中英

SQL Server 2008 OPENROWSET权限问题

[英]SQL Server 2008 OPENROWSET permission issue

我在Windows Server 2008 Enterprise 64位上使用SQL Server 2008 64位企业版。 我发现当我在SQL Server Management Studio中执行以下语句时,我需要sysadmin权限。 我使用该语句将数据从Excel导入数据库表。 我的问题是,我担心sysadmin权限太高,任何解决方案使用较低权限的权限来实现相同的功能?

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

从书籍在线OPENROWSET(Transact-SQL)

用户需要ADMINISTER BULK OPERATIONS权限。

以下授予它的条目 它是服务器级别的权限,所以是的,它非常高。

要尝试降低权限,您可以创建标准链接服务器连接并使用添加登录

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

似乎没有任何特定权限被授予,因此如果您设置链接服务器,使用映射到每个本地用户的通用linkedsrvlogin进行设置是不明智的。 设置特定的本地远程映射,以通过链接服务器在远程服务器上控制本地用户的访问(通过rmtuser登录)。

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

请试试这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM