gpt4 book ai didi

sql-server - 如何以所有者和唯一用户的身份修复 Azure SQL Server 中的数据库权限?

转载 作者:行者123 更新时间:2023-12-02 07:19:24 25 4
gpt4 key购买 nike

我正在使用基于云的 Azure SQL Server 和 SQL 数据库。为了对数据库中的表进行分组,我“成功”创建了一个新架构。但是,所有使用该架构的尝试都会导致没有权限的错误,并且我找不到添加权限的方法(见下文)。这个麻烦不值得进行故障排除,因此我放弃了这个想法,回到了我现有的单一架构名称。

从那时起,我无法再在原始架构上创建名为 qbo 的表:

CREATE TABLE qbo.NewTable (
pkey int PRIMARY KEY,
);

Started executing query at Line 1
Msg 2760, Level 16, State 1, Line 1
The specified schema name "qbo" either does not exist or you do not have permission to use it.
Total execution time: 00:00:00.034

我可以创建一个完全不指定模式的表(我假设将发送到 dbo),或者指定 dbo,但随后我无法查询该表,因为 SELECT 权限被拒绝。

CREATE TABLE [dbo].[NewTable] (
pkey int PRIMARY KEY,
);

Started executing query at Line 1
Commands completed successfully.
Total execution time: 00:00:00.194

SELECT * FROM [dbo].[NewTable]

Started executing query at Line 1
Msg 229, Level 14, State 5, Line 1
The SELECT permission was denied on the object 'NewTable', database 'master', schema 'dbo'.
Total execution time: 00:00:00.036

当我尝试授予权限时:

GRANT CONTROL ON SCHEMA :: dbo TO <myUserName>

Started executing query at Line 1
Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself.
Total execution time: 00:00:00.035

我是唯一的数据库用户,也是具有所有者角色的服务器管理员。我还没有找到通过门户来更改任何内容的方法,并且 Azure Data Studio 中尝试更正所有内容的任何 T-SQL 语句都会导致上述相同类型的错误。我假设创建另一个模式时更改了某些后端设置。但据我所知,自从创建数据库以来,我没有专门撤销任何开始时的权限,该数据库已经顺利运行了大约 3 个月,包括 CREATE、UPDATE、DROP 等。

至少,我需要回去完全操作我自己的 db 和 qbo 模式,但额外的功劳是帮助我理解我搞砸了什么以及我是否真的可以使用多个模式。谢谢!

更新:根据您的有用评论并重新阅读我自己的错误消息,最终发现我已连接到不同的数据库。我一开始假设我创建的数据库是主数据库,因此注释没有意义。我还不知道“主”数据库是什么(默认?),但是将“更改连接”下拉列表更改为我的主数据库已经清除了大部分内容。不知道我一开始是如何改变它的,但现在我知道去那里看看。

我仍在努力理解架构,但至少我可以再次完成工作。

最佳答案

根据您的有用评论并重新阅读我自己的错误消息,最终发现我已连接到不同的数据库。我一开始以为我创建的数据库是主数据库,所以这个注释没有意义。

到目前为止,我一直在专门创建的数据库中工作,但没有意识到有一个主数据库,并且在 Azure Data Studio 中,我现在以某种方式连接到主数据库。这可能与我对模式创建的理解无关;我只是假设它们是相关的问题,因为它们是同时发生的。

为了解决这个问题,我将“更改连接”下拉列表更改为我的主数据库。之后,我可以再次创建、更新、删除等。

Azure Data Studio - Change Connection drop-down

关于sql-server - 如何以所有者和唯一用户的身份修复 Azure SQL Server 中的数据库权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69710248/

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