向用户(在本例中为 AD 组)授予对所有当前和未来数据库的读取访问权限的最佳方法是什么?
目前我有一个不稳定的预定作业,它使用(将开始调试以下内容,但也许我做错了):
sp_msforeachdb '
USE [?]
CREATE USER [MY_DOMAIN\SQL-READ-ALL] FOR LOGIN [MY_DOMAIN\SQL-READ-ALL]
USE [?]
EXEC sp_addrolemember N''db_datareader'', N''MY_DOMAIN\SQL-READ-ALL''
'
Run Code Online (Sandbox Code Playgroud)
也许有更好的方法?
某些返回自启动以来递增的各种统计信息的 DMV 查询将用作性能计数器。
例如,取:
SELECT wait_type, wait_time_ms FROM sys.dm_os_wait_stats;
Run Code Online (Sandbox Code Playgroud)
大多数监控工具都知道如何获取递增的数字并将其转换为速率,因为这就是 SNMP 计数器的工作方式。有没有人知道任何将这些类型的统计数据转换为 DMV 查询的预先存在的工具?
在使用 SQL Server 2008 R2 作为后端的 Web 应用程序中,我有几个字段,如果存在,将 WHERE 子句添加到查询中。
如果我将所有查询生成为 like 子句,例如:
AND Uri LIKE @Uri
如果Uri包含 no %,优化器是否足够聪明以将其视为WHERE Uri = @Uri或我必须处理该应用程序端?
我意识到优化器总有一天会从我手下变出来,这有点草率,但我仍然很好奇。
我做了一个一次性测试,似乎表明>= ... <=条件可能是这种情况:

对比 凡条款:

因此,它们都在该人为索引上触发索引搜索。是>= ... <=同=在这种情况下,并且将这个总是发生?
有没有办法查询 SQL Server 2008 R2 中所有作业的所有者?我发现在编辑维护计划时所有者会发生变化,所以我想确保它们都归sa.
我们正在尝试创建一个 AG 侦听器,但它在我们身上出错:

然而,它似乎在 AD 中同时创建了 DNS 条目和虚拟计算机对象。但是,由于此错误消息,SQL 取消了侦听器的创建。

到目前为止,我们已经尝试过:
我发现的唯一参考是在以下连接文章中,但我无法从损坏的英语中找出确切的修复方法:http : //connect.microsoft.com/SQLServer/feedback/details/686548/ denali-ctp3-incorrect-error-message-when-setting-up-listener-with-no-dns-access。
对于 SQL Server 2008 R2 中的异步镜像,需要使用完整恢复模型。
假设Mirror两边的网络和磁盘IO都可以跟上事务日志和镜像,那么这种没有镜像和简单恢复的数据库还有性能损失吗?如果是这样,什么类型的操作会受到影响以及是什么导致它们受到影响?
是否可以在 SQL Sever 2008 R2 中查询每个数据库的上次成功备份日期(可能还有备份类型)?
“缓冲区管理器:页面写入数/秒”(* 8 KB)是否是通过可用性组复制所有数据库将使用多少带宽的良好指标?
如果不是,为什么这些不等价?只是有一些开销还是它们基本上不相关?
是否有我可以运行的 SQL 查询来查看在过去 X 分钟内是否有任何尝试发送数据库邮件失败?
是否可以细分每个数据库使用了多少计划缓存页面?Perfmon 似乎只有服务器的总数,但也许有更详细的 DMV?
此外,缓冲池 (sys.dm_os_buffer_descriptors) 是否包括计划缓存还是单独的?