gpt4 book ai didi

sql-server - Sql服务器执行权限;申请权限失败

转载 作者:行者123 更新时间:2023-12-02 17:36:12 26 4
gpt4 key购买 nike

我刚刚从 SQL2000 迁移到 SQL2008,并且开始在使用 sp_OACreate 的存储过程上遇到执行权限问题。

系统的其余部分可以通过已设置并添加到数据库的数据库登录正常工作。

我已经尝试过:

USE master
GO
GRANT EXEC ON sp_OACreate TO [dbuser]
GO

但是失败并出现以下错误:

Msg 15151, Level 16, State 1, Line 1 Cannot find the user 'dbuser', because it does not exist or you do not have permission.

我以具有完全权限的 sa 身份登录到服务器。我可以执行类似的 sql 语句并将权限应用于服务器角色,但不能应用于登录/用户。

如何将更改应用到特定用户/登录名?

我可以将权限应用于公共(public)角色,这解决了我的问题;然而,这对我来说似乎是一个安全问题,我真的不想将其应用于实时服务器。

最佳答案

根据约翰的回答,我检查了主数据库上的用户列表,但我的用户不在那里。不知是被删除还是丢失了。将数据库迁移到新服务器实例时可能会发生一些疯狂的事情。

无论如何;重新创建用户并将其与特定登录关联,使我能够在主数据库上运行以下语句,以允许执行存储过程。

USE MASTER
GO

GRANT EXECUTE ON [sys].[sp_OADestroy] TO [dbuser]
GO
GRANT EXECUTE ON [sys].[sp_OACreate] TO [dbuser]
GO
GRANT EXECUTE ON [sys].[sp_OAMethod] TO [dbuser]
GO
GRANT EXECUTE ON [sys].[sp_OASetProperty] TO [dbuser]
GO

感谢大家的帮助和指点。希望这对将来的其他人有所帮助。

关于sql-server - Sql服务器执行权限;申请权限失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3043735/

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