Questions tagged «permissions»

通过操作系统,数据库管理器或其他系统的安全性机制授予帐户或角色的特权。

1
使用跨数据库证书时触发器中的权限
我使用跨数据库证书(如Erland Sommarskog所述)来控制对环境(SQL Server 2008 R2)中某个数据库的访问。 我已经在数据库A中存储了更新数据库B中表的存储过程。到目前为止,这一直适用于db A中的各种存储过程以及db B中的表。我正在尝试更新数据库B中的表,但是该表上有一个触发器。此触发器正在将附加数据插入db B中的另一个表中。 消息916,级别14,状态1,过程table_trigger,第11行在当前安全性上下文下,服务器主体“ sql \ login”无法访问数据库“ B”。 我尝试授予与证书绑定的数据库B用户的插入权限,以将其插入到该其他表中,但是它无法解决该错误。除了更改触发器以便使用之外,我还有其他选择WITH EXECUTE AS OWNER吗? 这是DDL复制问题: CREATE LOGIN [GuggTest] WITH PASSWORD=N'abcd', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF CREATE DATABASE A; CREATE DATABASE B; USE A; CREATE TABLE dbo.SPtoUpdate ( ID INT , ILoveFishing VARCHAR(255) ); INSERT INTO dbo.SPtoUpdate ( ID …

3
非IT人员的数据库登台环境
我正在向我的IT部门建议一个数据库登台环境。这个想法是,像我这样的非IT人员(公共工程数据分析师)将有一个测试解决方案的地方,然后自己在实际环境中实施解决方案,或者在需要时要求IT部门实施解决方案。有几种原因/场景可以使该环境受益: 在我们的实时数据库环境(,等)中create table,我具有一些基本的数据库特权create view。我大约每周进行一次模式更改,但是在实时环境中测试和实现这些更改似乎很疯狂。数据库上有无数的依赖关系,因此,如果出现问题,可能会造成灾难性的后果。我宁愿提前在单独的环境中进行测试。 我没有一些更高级的特权,如create trigger或create function在现场数据库。很好,但是我确实有一些可以通过触发器和/或函数解决的问题。我计划建议在登台环境中向我授予这些权限,以便我可以开发和测试一些想法,如果它们起作用,则建议IT在实时环境中实施它们。 通常,我的IT部门没有时间或资源为我开发解决方案。真的就是这么简单。因此,如果我可以自己做腿部工作,那么我的问题就更有可能得到解决。 “非IT人员的暂存环境”对我来说似乎是一种足够合理的方法,但是老实说,我只是想出了办法。我不知道在IT /数据库世界中通常是如何完成的。 是否有适合这种情况的已建立的IT /数据库实践?(为非IT人员提议数据库登台环境时,我走的路正确吗?)

1
SQL Server数据文件夹访问权限
我做了全新的SQL Server 2014安装。接下来,我想附加以前的SQL Server 2012服务器中的一些数据库。我将所有mdf和ldf文件复制到数据目录,但是当我尝试附加它们时,出现以下错误消息: 尝试打开或创建物理文件 'D:\ SQLSERVERDATA \ MSSQL12.BIDEV \ MSSQL \ DATA \ controlling_demo.mdf'时,CREATE FILE遇到操作系统错误5(访问被拒绝)。 (Microsoft SQL Server,错误:5123) 当我检查文件安全性设置(右键单击文件,属性,安全性)时,它说我没有读取权限。我用来复制文件的帐户在Administrators组中。我可以完全控制该DATA文件夹,但是,仅复制到该文件夹的文件受到限制。 当我尝试在整个文件夹上重新应用安全权限时,它说: 无法枚举容器中的对象。访问被拒绝。 将文件复制到其他位置时,我具有访问权限。 问题是,如何获得文件DATA夹中这些文件的访问权限?

1
何时在\ l中列出特权,何时不列出?
\ l何时列出访问特权,什么时候不列出?\ l列出的访问权限可以在授予并撤消后更改: $ createuser -EP my_readonly $ psql development development=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------------------------+----------+----------+-------------+-------------+----------------------- development | vagrant | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | ... development=# grant usage on schema public to my_readonly; development=# grant connect …

1
如何授予连接到SSIS的特权?
尝试使用dtexec.exe运行SSIS包时,出现以下错误消息: Could not load package "D:\Filename.dtsx" because of error 0xC00160AE. Description: Connecting to the Integration Services service on the computer "" failed with the following error: "Access is denied." By default, only administrators have access to the Integration Services service. On Windows Vista and later, the process must be running …

2
查看数据库图所需的权限
我最近设置了SSDT供我们的开发人员使用。通过限制每个开发人员连接到服务器(db_datareader,db_datawriter)时的权限,我们通过SSDT强制对开发数据库进行更改。在SSDT中,我们使用部署脚本将更改发布到数据库,该脚本使用具有提升权限的登录名进行连接。 我的问题。鉴于我们已经竭尽全力来锁定数据库(以防止模式漂移);开发人员是否可以通过任何方式查看此数据库上的图表而无需db_owner权限?我知道每个开发人员都可以创建和查看自己的图,但是我希望他们能够查看由许多不同的开发人员创建的所有图。 我认为这不会有所帮助,但我们正在运行sql server 2012 任何帮助都会得到很大的帮助。


1
PostgreSQL上的只读单表访问权限最少
以下是似乎可以用来创建新用户(登录)并为PostgreSQL上的一个指定表授予只读访问权限的命令列表。 假设这些命令是在具有足够特权的登录时执行的(即postgres默认安装中的登录)。 CREATE ROLE user_name NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity'; 现在,我想授予数据库select上的表的权限,因此就可以了(通过PgAdmin或类似方法将数据库选择为当前数据库):tab_abcdb_xyzdb_xyz grant select on tab_abc to user_name; 现在的问题是:这是足够的,或者应该有更多的赠款(数据库connect,usage也许)? 这些命令似乎对我有用,但是我的默认安装具有默认的安全设置。如果服务器管理员配置了更强的安全性,我还应该添加哪些其他赠款? 看来,我不需要批准connect,也没有usage-而授予是implicite select?总是这样吗?

3
用户无法在SSMS中以非默认模式查看表
我在VIEW DEFINITION为一个用户的架构级别适当设置权限时遇到问题。我已经创建了架构TestSchema并添加了一些表。用户目前有权限设置为访问和修改表(SELECT,UPDATE,DELETE通过等)dbo_datareader和dbo_datawriter角色。但是,他们看不到SSMS对象资源管理器中的任何表。 我尝试授予查看定义的权限: grant view definition on SCHEMA :: [TestSchema] to [User] 那没用。我尝试设置表级权限: grant view definition on [TestSchema].[NewTable] to [User] 那也没有用。然后,我尝试了一项总括性赠款: grant view definition to [User] 那确实奏效了;他们现在可以看到TestSchema以及他们不应该访问的其他模式。 我的目标是允许用户查看给定架构中的所有表。我该怎么做?如果默认情况下我应该能够执行此操作,那么我应该查看哪些权限以查找为什么不能这样做?

1
如何在Windows上使用DB2 9.7向本地db2admin授予所有特权?
作为开发人员,我有一台装有Windows XP Professional Edition Service Pack 3的笔记本电脑。 我已经下载并安装了Express-C版的IBM DB2 UDB 9.7修订包4。 我有一个名为db2admin的本地Windows帐户,我将用作本地数据库管理员来进行DB2的本地安装(仅供开发人员使用)。 运行命令窗口时,我可以运行以下命令而不会出现问题: db2 attach to db2 user db2admin using xxxxxxxxxx 这使我可以附加到名为DB2的实例。 我可以运行我的创建数据库命令。 然后,我尝试连接到数据库以授予DB2中我的db2admin帐户的所有特权。 db2 CONNECT TO MYDB; SET SCHEMA DB2ADMIN; db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT,SECADM ON DATABASE TO USER DB2ADMIN; CONNECT RESET; 但是,当我运行该命令时,DB2告诉我我的实际Windows用户帐户(synprgcma)没有权限向用户db2admin授予权限。 因此,如果我将第二个脚本更改为以下内容: db2 CONNECT TO MYDB USER db2admin USING …

1
如何为PostgreSQL中的角色授予drop table / function特权?
我想将drop特定数据库的特定架构中的所有表和函数(不仅是用户拥有的那些)和特权授予特定角色。然而,GRANT ALL PRIVILEGES这还不够,我没有找到不让该角色成为超级用户的方法,怎么办-超级用户拥有同一服务器上其他数据库的权限,这不是我想要的。我不介意仅限于特定数据库的超级用户特权,但是我不确定该怎么做。 我的代码: CREATE USER _administrator PASSWORD 'pwd12345'; CREATE ROLE administrator NOLOGIN ADMIN _administrator; GRANT ALL PRIVILEGES ON DATABASE "myDB" TO administrator; GRANT ALL PRIVILEGES ON SCHEMA public TO administrator; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO administrator; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA …

1
授予拒绝权限堆叠
对于角色db_denycustomer,我只希望customer表的列代码是可选择的,而其他都不是。所以我这样做: DENY SELECT ON dbo.customer TO db_denycustomer GRANT SELECT ON dbo.customer (code) TO db_denycustomer ...而且效果很好。凉!但是,为什么呢? 我在相关文章中读到的是该权限栈,但DENY具有优先权。相反,在我的情况下,似乎最后一个权限“查询”优先。果然,如果我以相反的顺序执行它们,后者DENY也会隐藏代码列。 您能详细说明一下吗? 我还向测试的用户提供了默认值db_datawriter和db_datareader角色。

1
服务帐户使用数据库邮件需要什么权限?
我有一个在托管服务帐户下运行的SQL Server 2012实例。我已经使用一个帐户配置了数据库邮件,并尝试发送测试电子邮件,但是服务器的事件日志中出现了一些错误: 数据库引擎实例= MYINSTANCE;邮件PID = 2132;错误消息:对数据库的更新失败。原因:对对象'sysmail_logmailevent_sp',数据库'msdb',模式'dbo'的EXECUTE权限被拒绝。 数据库引擎实例= MYINSTANCE;邮件PID = 2212; 异常类型:Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException消息:数据库读取失败。原因:对对象'sp_readrequest',数据库'msdb',模式'dbo'的EXECUTE权限被拒绝。数据:System.Collections.ListDictionaryInternal TargetSite:Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand(System.Data.SqlClient.SqlCommand)帮助链接:NULL来源:DatabaseMailEngine 如果我使运行SQL Server的帐户成为sysadmin,则该错误消失,邮件成功发送。但是,我所做的所有研究都表明,赋予此帐户数据库DatabaseMailUserRole角色msdb应该足够。我这样做了,仍然收到相同的错误。 我在BOL中查看了一下,但找不到任何东西。

1
授予SELECT用户并将其添加到db_datareader角色之间有区别吗?
我被要求为数据库中的所有表授予SELECT,INSERT并授予UPDATE给定的用户。我最终将用户添加到db_datareader,并给予他们INSERT与UPDATE在数据库级别。 但这让我思考,SELECT在数据库级别授予用户权限或将其添加到db_datareader角色之间有什么区别(如果有)?是否有任何一种最佳实践或另一种最佳实践?

1
sp_executesql的安全含义是什么?
默认情况下,在SQL Server中,[public]角色具有的EXECUTE权限sp_executesql。 但是,我继承了一个数据库服务器,以前的DBA撤消了该数据库服务器的EXECUTE权利sp_executesql。 作为临时的解决方法,我一直在根据需要(通过在master数据库中的角色)授予EXECUTE权限sp_executesql。但是,这开始成为维护难题。 如果我EXECUTE回馈公众,我是否需要了解其他影响?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.