gpt4 book ai didi

sql-server - 允许对所有用户进行临时分发查询

转载 作者:行者123 更新时间:2023-12-01 04:17:06 25 4
gpt4 key购买 nike

我正在使用 AD Hoc 分发查询将数据从 MS SQLServer 2008 传输到 MS Access。
该过程使用单个 SQL 语句启动:

INSERT INTO OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\temp\target.mdb;User ID=Admin;Password=;')...testtable select * from dbo.testtable  

为此,我通过以下方式将 Ad Hoc Distribution Query 参数设置为 1
sp_configure 'Ad Hoc Distributed Queries', 1

只要使用 sysadmin 数据库权限执行该语句,一切都可以正常工作。

当我尝试以普通 db 用户身份执行该语句时,该语句失败并显示权限被拒绝错误消息。

如何授予所有用户执行临时分发语句的权限?

提前致谢

马库斯

最佳答案

取自 EggHeadCafe ;似乎普遍认为这是一个名为 DisallowAdHocAccess 的注册表项。 ;它需要以值 0 存在在没有 sa 的用户之前角色可以执行临时分布式查询。

Server\MSSQL.1\Providers\Microsoft.Jet.OLEDB.4.0键,添加 DWORD值命名 DisallowAdHocAccess0 .

通过使用注册表,允许对 Jet 提供程序进行临时访问
(使用 Management Studio 将不起作用,因为它会删除注册表
键而不是将其设置为零,并且缺少的注册表项是
解释为“不允许临时访问”)。

如果您之前遇到过错误,请在再次尝试之前确保
您重新启动服务器或运行 DBCC FREEPROCCACHE命令,因为它似乎
如果您运行相同的查询,SQL Server 将不会再次检查 key
两次。

如果有人有不涉及编辑注册表的方法,那么听到它会很高兴。

如果这仍然不起作用,您是否尝试过设置链接服务器? MSDN , Access Specific Linked Server Tutorial

关于sql-server - 允许对所有用户进行临时分发查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3389312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com