标签: users

为什么我不能创建一个所有者设置为 dbo 的新架构?

我创建了一个测试帐户来检查权限。它当前具有 Northwind 数据库的 db_datareader、db_datawriter 和 db_ddladmin 角色。但是当它尝试在 Northwind 上创建新模式时,如果它尝试将 dbo 授权为模式所有者,则创建失败,这是怎么回事?

创建架构失败

Version: 
SQL Server Management Studio: 15.0.18183.0 
Microsoft Analysis Services Client Tools: 15.0.1487.0 
Microsoft Data Access Components (MDAC): 10.0.18362.1 
Microsoft MSXML: 3.0 6.0 
Microsoft Internet Explorer: 9.11.18362.0 Microsoft 
.NET Framework: 4.0.30319.42000 
Operating System: 10.0.18362
Run Code Online (Sandbox Code Playgroud)

schema sql-server permissions users sql-server-2016

5
推荐指数
1
解决办法
2061
查看次数

如何查找用户有权访问的表和视图?

我们有一个 SQL Server 2008 数据库,并且限制了所有表和视图远离特定用户 ID。多年来,我们根据用户需要一次授予一个表和视图。

我们必须这样做,因为供应商提供public了开箱即用的角色的读/写访问权限,因此我们必须为此用户创建一个角色,删除所有访问权限并仅授予他们需要的权限。

今天我们将创建一个仅包含这些表和视图的复制数据库,以便用户可以在不降低生产系统的情况下运行报告。问题是我不确定该用户可以访问哪些表和视图,因为多年来许多人一次授予访问权限。

是否有查询来检查此用户的访问权限?

PS 我是一名应用程序开发人员,所以请根据需要随意解释这一点。


编辑 - 最初如何创建角色和访问权限


------------------------------
-- CREATE ROLE db_finrep_deny
------------------------------

DECLARE @RoleName sysname
set @RoleName = N'db_finrep_deny'
IF  EXISTS (SELECT * FROM sys.database_principals WHERE name = @RoleName AND type = 'R')
Begin
    DECLARE @RoleMemberName sysname
    DECLARE Member_Cursor CURSOR FOR
    select [name]
    from sys.database_principals 
    where principal_id in ( 
        select member_principal_id 
        from sys.database_role_members 
        where role_principal_id in (
            select principal_id
            FROM sys.database_principals where [name] = @RoleName  AND type = 'R' )) …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 access-control sql-server-2008-r2 users

4
推荐指数
1
解决办法
4万
查看次数

如何向在mysql中创建的新用户授予权限?

我想创建新用户并想给他们特定的权限,如插入、更新和删除。但是我不知道如何创建新用户并授予他们权限。

请任何帮助。

mysql permissions users

4
推荐指数
1
解决办法
4590
查看次数

在整个数据库的 DB2 上创建新的只读用户

我是一名 oracle/sql 服务器 DBA,对 IBM DB2 的了解有限。我们在 AIX 6 上运行 DB2 9.7 fp4。我想创建一个新用户并授予他对特定数据库的只读权限。请帮忙!

感谢和问候穆罕默德

db2 permissions users read-only-database

4
推荐指数
1
解决办法
1万
查看次数

架构和用户权限

当我们自定义的、自产的 CMS 使用 GUI 创建数据表时,它会根据特定于站点的用户模式(即sitename)而不是模式创建它们dbo

问题是我们的站点特定用户目前没有“看到”这些其他模式,即使他们在db_owner角色中。因此,某处缺少权限设置,这将授予他们对这些表进行读写的能力。 

迁移到新的 SQL 服务器时发生了此问题。从 2005 工作组版到 2008 网络版。

schema sql-server permissions users

4
推荐指数
1
解决办法
390
查看次数

创建视图时无权使用“dbo”

我想创建一个user对服务器内两个数据库的访问最少的数据库。该用户将由第三方人员使用,将商业智能工具集成到我们的数据库中。他们已经指定他们只需要创建视图。

所以,我在服务器上创建一个新用户,那么使用的每个数据库的数据库属性授予他们SELECTCREATE VIEW特权数据库。

然后我使用该用户登录 SSMS,并尝试创建一个视图,但我收到一条消息说

'dbo' 要么不存在,要么我无权使用它。

我试图通过反复试验自己解决这个问题,但我只是不了解 sql server 上的用户权限。我做错了什么,我需要采取哪些额外/不同的步骤?

请记住,我不希望他们拥有比他们需要的最低限度更多的控制权。

sql-server-2005 permissions users

4
推荐指数
1
解决办法
1993
查看次数

一次性将 db_owner 分配给所有用户

我需要将 db_owner 分配给实例中的所有用户。实例中有几百个登录名和相同数量的数据库。我希望每个用户都能在该用户所在的数据库中获取 db_owner。我知道如何为单个用户执行此操作,但我不知道如何同时为所有用户执行此操作。

我很清楚将 db_owner 提供给每个人并不是一个好主意,但是……我们正在安装一个非常具体的应用程序。每个想要使用此应用程序的用户都需要 db_owner。我们已经尝试过绕行,但是 aplicaton 本质上是相当原始的,所以在更改应用程序代码之前,我们将不得不容忍 db_owners 的疯狂数量。无论如何,这个特定实例没有敏感数据,所以我们得到了管理层的批准。

sql-server users

4
推荐指数
2
解决办法
3310
查看次数

在 macOS 上将用户切换到“postgres”用户会导致“su:抱歉”错误

EnterpriseDB.com 向社区提供的Postgres 安装程序通常会在macOSpostgres上创建一个用户帐户。

\n\n

在Terminal.app的控制台会话中,我需要切换到该用户。我的目标是使用该 user\xe2\x80\x99s 权限运行文本编辑器,以便我可以编辑pg_hba.conf控制 Postgres 用户身份验证规则的文件。

\n\n

当我尝试时:

\n\n
su - postgres\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x80\xa6 系统提示我输入用户密码,我输入成功,但收到错误消息:

\n\n
\n

苏:对不起

\n
\n\n

我确信密码是正确的。我可以做什么来访问该postgres用户?

\n

postgresql permissions users

4
推荐指数
2
解决办法
2万
查看次数

为什么以及如何以及在何处使用无需登录的用户

我一直在寻找原因,如何以及在何处使用无需登录的用户,但我没有找到我的确切问题或任何更接近的问题。我在哪里进行研究(我还阅读了其他帖子,看过 Youtube 视频):

我一直在寻找使我的数据库更安全的方法,最近我知道有一个选项可以在不登录的情况下创建用户。我认为这很好。但是我不明白如何使用它(不是创建,使用),然后经过我的研究,我意识到该用户在冒充另一个用户/角色的同时访问了数据库。我认为没有用户并以某种方式访问​​数据库会很棒。但是当我看到有一个叫做execute的东西时我认为它没有用,因为我为什么要对这个“无需登录”的用户执行查询,因为它是另一个用户?为什么我不使用这个用户的权限?然后我想也许这个用户的权限太多了,所以我就创建了一个权限较少的新...

好吧,我不知道你为什么要创建一个没有登录的用户。这个应该怎么用?这很愚蠢,但我尝试登录并失败了(抱歉,我习惯于使用用户登录,我从没想过创建用户而不登录,我只知道用户登录了某些东西,这就是我的知识所在) .

所以,我不知道为什么要创建这种类型的用户而不是普通用户?我不知道如何(就像我登录一样,我是否只需输入查询并使用它)?我不知道在哪里(例如,我是否需要制作 C# 应用程序,我是否使用命令...)使用?

我的知识只带我到这里,我没有高级 DBA 可以问。如果可能,请用简单的语言解释。

sql-server users logins

4
推荐指数
1
解决办法
858
查看次数

我可以对数据库中的所有模式授予 SELECT 权限吗?

我需要创建只能读取(选择)数据的角色用户。我可以针对特定模式执行此操作。但我需要它与所有现有和未来的模式(至少现有)一起工作。我该怎么做?

我试过了

GRANT select ON DATABASE my_db TO my_role;
Run Code Online (Sandbox Code Playgroud)

但它说我不能:

0LP01 无效_授权_操作

ps:我需要向数据库中的所有模式授予选择权限,我只是尝试使用查询中的数据库作为选项来执行此操作,但是如果您知道如何为空数据库的选择授予角色权限,我'我也会很高兴看到这一点

postgresql permissions role select users

4
推荐指数
1
解决办法
7278
查看次数