访问 sys.dm_db_index_usage_stats 的权限

2023-12-27

因此,我有一个供内部使用的网站,用于跟踪员工的大量统计数据。其中之一是他们是否遗漏了任何报告。由于还没有报告的项目列表每隔几天更新一次,并且这些报告有 3 天的宽限期,因此我将项目记录为缺少报告的日期 (releaseDt) 与上次更新数据库的时间 (@lastupdate)。这样,如果报告数据库尚未更新但报告已完成,网站就不会因错过报告而责备某人。

SQL 代码在管理员级别权限下工作得很好,但由于显而易见的原因,我不让 ASP.NET 帐户具有服务器管理员级别。

我已经设置了 ASP.NET C# 代码用来登录的 SQL 帐户,其他一切的权限都很好。 (仅对其使用的特定数据库具有读取访问权限。)我无法弄清楚要授予其访问权限才能读取此特定的动态管理视图。

希望使用 Management Studio 或使用GRANTSQL 语句。

这似乎有有关相关视图的相关信息:

sys.dm_db_index_usage_stats (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms188755.aspx

DECLARE @lastupdate datetime
     SELECT @lastupdate = last_user_update from sys.dm_db_index_usage_stats
     WHERE OBJECT_ID = OBJECT_ID('MissingReport')

SELECT 
    COALESCE(Creator, 'Total') AS 'Creator',
    COUNT(*) AS Number, 
    '$' + CONVERT(varchar(32), SUM(Cost), 1) AS 'Cost' 
    FROM MissingReport 
    WHERE NOT( 
        [bunch of conditions that make something exempt from needing a report]
        OR
        (
            DATEDIFF(day,ReleaseDt,@lastupdate) <= 3
        )
    )
    GROUP BY Creator WITH ROLLUP

你不能授予SELECT在 DMV 上,因为服务器范围的 DMV 策略阻止了这种情况:

GRANT SELECT ON sys.dm_db_index_usage_stats TO peon;

结果是:

消息 4629,16 级,状态 10,第 1 行
仅当当前数据库为主数据库时,才能授予对服务器范围目录视图、系统存储过程或扩展存储过程的权限。

The 您引用的 BOL 页面 http://msdn.microsoft.com/en-us/library/ms188755.aspx告诉你你需要授予VIEW SERVER STATE。您可以将此应用到 master 的登录中:

USE master;
GO
GRANT VIEW SERVER STATE TO peon;
-- if it's a Windows login then:
GRANT VIEW SERVER STATE TO [Domain\peon];

但没有办法对每个数据库执行此操作。并不是说您应该那么担心,因为即使有人能够弄清楚如何使用 ASP.NET 帐户凭据侵入您的服务器,他们所能做的就是see服务器状态,他们无法改变任何东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问 sys.dm_db_index_usage_stats 的权限 的相关文章

  • 如何在 SQLite 中获取最后插入的 ID?

    SQLite 中是否有任何内置函数可以获取最后插入的行 ID 例如 在 mysql 中我们有LAST INSERT ID 这种功能 对于 sqlite 任何可用于执行相同过程的函数 请帮我 Thanks SQLite 这可以使用SQLite
  • SQL 插入失败 - 违反主键约束

    我在 SQL Insert 语句中看到一个非常奇怪的问题 我有一个简单的表 带有一个 ID 和 2 个日期时间 请参阅下面的创建脚本 CREATE TABLE dbo DATA POPULATION LOGS ID int IDENTITY
  • ActiveRecord 嵌套 SELECT——我可以在没有手动 SQL 的情况下完成它吗?

    我有一张桌子 上面有 除其他外 一个名字和一个等级 我想返回所有唯一名称的集合 但对于返回的每个名称 我想选择排名最高的行 这很简单 有两个嵌套的 SELECT 语句 SELECT FROM SELECT FROM foo ORDER BY
  • 部署 dacpac 所需的权限

    我正在尝试使用 sqlpackage exe 在租户上部署 dacpac 目前 我正在向将部署此功能的帐户授予 SysAdmin 或 db owner 权限 并且它工作正常 但在生产中 如果目标租户数据库属于其他应用程序 我可能无法获得这些
  • Java 中的 ExecuteUpdate sql 语句不起作用

    我正在学习如何将 SQL 与 Java 结合使用 我已成功安装 JDBC 驱动程序 并且能够从数据库读取记录并将其打印在屏幕上 我的问题发生在尝试执行更新或插入语句时 没有任何反应 这是我的代码 问题所在的方法 public static
  • 如何将 SQL“LIKE”与 LINQ to Entities 结合使用?

    我有一个文本框 允许用户指定搜索字符串 包括通配符 例如 Joh Johnson mit ack on 在使用 LINQ to Entities 之前 我有一个存储过程 该存储过程将该字符串作为参数并执行以下操作 SELECT FROM T
  • oracle中的区间函数

    Query SELECT INTERVAL 300 month INTERVAL 54 2 year to month INTERVAL 11 12 10 1234567 hour to second FROM DUAL 上述查询的输出是
  • DB2 - 如何在 IBM System i Access for Windows GUI Tool 中使用参数运行即席选择查询

    我想使用我声明的变量在 IBM System I Navigator tool for DB2 中运行一些临时选择语句 例如 在 SQL Server 世界中 我可以在 SQL Server Management Studio 查询窗口中轻
  • 搜索多个表 (SQL)

    我需要能够有一个 SQL 查询来使用简单的搜索来搜索我的数据库 这是我的表格现在的样子 Table artists id name Table albums id artistID name Table songs id albumID n
  • 如何在没有聚合函数的情况下在sql server中创建枢轴查询

    我正在使用 MS SQL SERVER 2008 并且有以下数据 select from account PERIOD ACCOUNT VALUE 2000 Asset 205 2000 Equity 365 2000 Profit 524
  • PDO 连接字符串:最好的方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想使用 php pdo 制作一个后端应用程序 我发现了很多不同的方法来处理 PDO 连接字符串 我想知道使用 pdo 执行连接字符串的最佳方法
  • 当您执行“SELECT *”时,SQL Server 如何确定列的顺序?

    当您执行以下操作时 SQL Server 如何确定列的顺序SELECT 我知道 订购依据 对于订购至关重要data 但我预计列名保持一致 注意 我的代码是not取决于返回列的实际顺序 我只想知道 SQL Server 如何决定对列名进行排序
  • MySQL中如何重置表的自增列

    我有一张桌子 它的第一列sl是自动递增的 填充表格后 我删除了前两行 第一个条目有sl1 是否可以重置为1维持AI 我正在使用 PHP MyAdmin ALTER TABLE tablename AUTO INCREMENT 1
  • MySQL如何在没有过程/函数的情况下执行命令块

    我尝试在 MySQL Workbench 上运行一段 SQL 命令 就像在 SQL Server 上一样 但它告诉我 声明在此位置无效 我在网上看到了各种这样的例子 我真的不明白为什么会出现这个错误 一些提示 代码 其中 SQL Serve
  • QGIS 和 PostGIS(地图点(美国地图上的纬度和经度以及半径)

    我安装了QGIS和PostGIS 我想在美国地图上以 100 英里为半径显示 200 个点 我已将纬度和经度导入 PostGIS 数据库中 所以我有三个字段 地址 纬度 经度 1 我需要将纬度和经度字段转换为点或几何字段吗 如果是这样怎么办
  • SQL最近的命令?微软SQL

    我只是编写一个查询来查看我的客户数据库并列出他们下了多少订单等 我正在努力添加到此查询中的是只显示该电子邮件的最新 OrderID 有任何想法吗 这是我的查询 select top 1000 BuyerEMail COUNT HowMany
  • 使用实体框架创建临时表

    我想使用实体框架在 SQL Server 中创建临时表 我有什么办法可以做到这一点吗 如果我可以创建临时表 我的下一个问题是 如何读取它 提前致谢 Andr 好吧 所以你不喜欢存储过程路线 说实话我也不喜欢 但这是我能想到的最快的方法 基于
  • SQL 用随机数据填充表

    我有一个包含两个字段的表 id UUID 是主键并且 描述 var255 我想用SQL语句插入随机数据 我希望这个描述是随机的 PS 我正在使用 PostgreSQL 我不确定这是否符合 随机描述 的要求 也不清楚您是否想要生成完整的数据
  • 有没有一种简单的方法来获取 .NET 为参数化查询生成的“sp_executesql”查询?

    背景 如果我有以下程序 public class Program public static void Main using var connection new SqlConnection Server local Database Te
  • System.IndexOutOfRangeException:索引超出了数组的范围[重复]

    这个问题在这里已经有答案了 我正在开发一个 ATM 软件作为家庭作业 我想知道今天处理的交易总量 为此我编写了以下代码 public decimal getDayTransaction int accountid string date s

随机推荐

  • 当列表数据发生变化时更新Android ListActivity?

    我想知道如何刷新ListActivity当我更改 添加数据时 我首先想到的是ListAdapter会知道列表何时更改 但是当我向列表添加元素时 列表上没有更新ListActivity 只有当我关闭 ListActivity 并再次重新打开它
  • 本地化 ASP.NET MVC 2 中的错误消息(默认验证属性)

    我正在开发一个多语言网站 我想本地化大多数 ValidationAttribute 的验证错误消息 例如 Requried 我知道可以这样做菲尔 哈克 http haacked com已在此显示article http haacked co
  • 类型提示和@singledispatch:如何以可扩展的方式包含 `Union[...]`?

    我正在重构一个转换各种日期格式的函数 即 ISO 8601 字符串 datetime date datetime datetime等 转换为 Unix 时间戳 我想要使 用新功能 singledispatch而不是类型检查 但我不知道如何保
  • 如何在Python中获取图像的信噪比?

    我正在过滤图像 我想知道信噪比 我尝试使用 scipy 函数 scipy stats signaltonoise 但我得到了一个数字数组 但我真的不知道我得到了什么 还有其他方法可以获得图像的信噪比吗 UPDATE 对于那些不阅读评论中链接
  • Sublime text:向新的语言定义添加符号(语法突出显示)

    我在 sublime text 2 中为一种稍微陌生的语言 Cadence SKILL 编写了语法突出显示 它的工作方式就像一个魅力 但是我怀念 CTRL R 的功能 它以一种易于访问的方式找到当前文件中的所有符号 函数 任何人都可以建议如
  • SQL查询有特定的执行顺序吗?

    我对 SQL 查询的执行顺序感到困惑 例如 Inner join in MySQL在下面的代码中 之间WHERE条款和SELECT FROM子句 哪一个首先被解释和执行 也就是说 下面的查询是否带来 全部tables data首先找到与以下
  • 从上到下滚动列并用上面单元格中的值替换 0

    我必须从上到下滚动一列 实际上是两列 但如果我能得到一列 我就可以管理 并替换0或上面有单元格值的空白 这是我到目前为止所拥有的 它不起作用 Sub ReplaceZeros Application ScreenUpdating False
  • 如何根据 mongodb (mongoose) 中填充的对象对元素进行排序

    我有一个两个模式的钱包和用户 用户架构 var schema new mongoose Schema first name type String wallet id type mongoose Schema Types ObjectId
  • 如何向客户交付 iOS 应用程序 IPA,以使用他们自己的企业配置文件进行签名

    我们开发了一款 iOS 应用程序 已作为 IPA 交付给客户 并具有临时分发配置文件 允许一组员工将其安装在他们的设备上 客户现在希望使用其 iOS 企业开发人员计划凭据将该应用程序在内部分发给所有员工 我原本希望客户可以简单地重新设计带有
  • JavaFX 2:获取 TableCell 行索引

    我有一个带有复选框的表 当我单击第三列或第四列中的复选框时 我想更改第一列中复选框的选择 我希望能够更改同一行上的其他单元格 我已经有了列 所以我想知道单元格位于哪一行 我也非常不确定到目前为止是否正确 到目前为止我所做的大部分是来自 ht
  • 使用 R 从 ftp 服务器下载最新文件

    我有许多名为 FileA2014 03 05 10 24 12 FileB2014 03 06 10 25 12 其中 2014 03 05 10 24 12 部分表示 年 日 月 时 分 秒 这些文件驻留在 ftp 服务器上 我想使用 R
  • XCode 单元测试:读取测试范围包时出错

    我正在接收读取测试范围包时出错 在 XCode 5 中运行单元测试时 没有测试运行 知道如何解决这个问题吗 解决了问题 看来我必须在创建新测试后运行所有测试 在所有测试运行之前 不可能从 GUI 单独运行新的测试
  • MariaDB 显示警告而不是错误

    玛丽亚数据库版本 10 6 4 MariaDB 1 10 6 4 maria focal SQL insert ignore into step is draft created by values 1 2 收到警告 MariaDB kit
  • C++ 插入运算符重载 (<<)

    我正在完成一项分配 其中我必须重载插入运算符以获取 Node 对象 我在类定义之外 node h 文件内创建了运算符重载函数 一切都编译得很好 但是没有调用重载运算符 而是我得到了简单的对象地址 我被禁止修改调用代码 因此任何更改都必须针对
  • Eclipse - 外部 JAR 和 git

    我目前正在使用 eclipse 来处理 Java 另外 我使用 git 在笔记本电脑和台式电脑之间同步我的项目 现在的问题如下 我将外部 JAR 添加到项目中 Slick Util LWJGL 但每个设备上每个库的路径都是不同的 因此 每次
  • 为什么图标没有显示在我的 Ant Design 页面上?

  • 如何在没有 html 元素的情况下使用 ng-repeat

    我需要使用ng repeat 在 AngularJS 中 列出数组中的所有元素 复杂之处在于数组的每个元素都将转换为表的一行 两行或三行 我无法创建有效的 html 如果ng repeat用于元素 因为之间不允许有任何类型的重复元素 tbo
  • 被 WSGI 模块导入错误所困扰

    我正在编写一个简单的 Python wsgi 应用程序 并且被模块导入错误所困扰 我当前目录中有一个 py 文件 最初无法导入 通过增加 sys path insert 0 Users guhar Sites acom 模块的导入有效 但我
  • 如何在非视网膜显示器上模拟 Mac OS X 10.8 Mountain Lion 中的视网膜显示器(HiDPI 模式)?

    如何在非视网膜显示屏上模拟 Mac OS X 10 8 Mountain Lion 中的视网膜显示屏 HiDPI 模式 搜索 https developer apple com downloads index action 下载并安装App
  • 访问 sys.dm_db_index_usage_stats 的权限

    因此 我有一个供内部使用的网站 用于跟踪员工的大量统计数据 其中之一是他们是否遗漏了任何报告 由于还没有报告的项目列表每隔几天更新一次 并且这些报告有 3 天的宽限期 因此我将项目记录为缺少报告的日期 releaseDt 与上次更新数据库的