早些时候,对我来说,关于是否(总是)使用/避免聚集索引的辩论/讨论没有定论。
好吧,我知道它们有时会在适当的+特定目的和上下文中使用。
“SQL Azure 不支持没有聚簇索引的表。一个表必须有一个聚簇索引。如果一个表是在没有聚簇约束的情况下创建的,那么在允许对该表进行插入操作之前必须先创建一个聚簇索引”
不符合先前的结论、理由和解释。
我在前面的解释中遗漏了严格要求无任何例外地普遍存在的聚集索引的基本原理是什么?
在 Microsoft Windows Server 2008 中使用 MS SQL Server 2012。
我对 Windows 7 和 Windows Server 2008 R2虚拟 Windows 帐户([NT SERVICE]\<SERVICENAME>
如 NT SERVICE\MSSQLSERVERNT SERVICE\SQLSERVERAGENT
等)可用的新帐户类型感到有些困惑。
例如,是否敢于向 [NT Service\SQLSERVERAGENT]' 授予访问共享资源(或本地文件或目录)的权限?
而且,如何做到这一点?
例如,要将权限赋予 Windows 文件共享以运行psexec?
在浏览(或按下按钮 Find< 或将组和用户添加到文件共享)时,域和/或本地/远程计算机中可用的帐户,没有可用的帐户,手动输入会出现错误:
“无法找到具有以下内容的对象(用户或内置安全主体)...”
引发此问题的相关(尽管不同)问题:如何将 bak 文件复制到远程共享(不涉及 AD/域帐户)?
更新,回答@Jon-Siegel 对我删除的答案的评论: 我的屏幕截图中没有错误,有时会检测到虚拟帐户,有时会失败。真的是过去 2 天我无法重现它。
可以解释一下我没有适当的权限吗?
当我尝试打开 SQL Sever 配置管理器时,我总是得到:
---------------------------
SQL Server Configuration Manager
---------------------------
Cannot connect to WMI provider.
You do not have permission or …
Run Code Online (Sandbox Code Playgroud) Windows Server 2008R2 上的 SQL Server 2012 R2
有什么方法可以将通知发送到不同的电子邮件:
让我重新启动有关 SQL Server 虚拟帐户权限的问题
有关 SQL Server 2012 同一版本的(同一)MSDN 文章“配置 Windows 服务帐户和权限”在“与异常磁盘位置相关的文件系统权限”部分中指出:
“虚拟帐户无法对远程位置进行身份验证。所有虚拟帐户都使用计算机帐户的权限。以以下格式配置计算机帐户
<domain_name>\<computer_name>$
。”
如果“虚拟帐户无法通过远程位置的身份验证”,那么为什么:
同一篇文章“Windows 7 和 Windows Server 2008 R2 中可用的新帐户类型”部分包含:
》虚拟账户
Windows Server 2008 R2 和 Windows 7 中的虚拟帐户是托管本地帐户,它提供以下功能来简化服务管理。虚拟账号是自动管理的,虚拟账号可以在域环境下访问网络。
Server 2008 R2
如果在 Windows或上安装 SQL Server 期间对服务帐户使用默认值Windows 7
,则使用以实例名称作为服务名称的虚拟帐户,格式为NT SERVICE\<SERVICENAME>
。作为虚拟帐户运行的服务通过使用计算机帐户的凭据访问网络资源,格式为<domain_name>\<computer_name>$
“
我应该如何更好地理解无需身份验证即可访问网络?
我负责监控、故障排除、调整和优化我公司中在 VMWare 虚拟机中运行的几十个生产 SQL Server 2008 R2/2012。
我请求对 VMWare 基础架构进行只读访问,但没有取得多大成功。我觉得我应该为非技术人员(公司管理层)提供无可辩驳和明确的证据和插图,为什么我需要这样的访问权限。
这些是什么?
更新:
最近,我下载并“试用”了Confio Ignite 试用版,用于监控在 (VMWare) 虚拟机中运行的“我的”SQL Server。
为什么需要这样的访问?
对于无法从 Window 的 PerfMon VM 计数器获取的 DBA,哪些信息是重要的?
相关问题:
负责监视和调整 SQL Servers 2012 Enterprise Ed。Windows Server 2008 R2 Standard Ed 上的 SP1(64 位)。
所有这些都在虚拟机中运行。单个 RAID10 或 RAID5 上的每个区域办事处一个 SQL Server。换句话说,我无法使用不同的物理单元(硬盘驱动器)配置 SQL Server。
我观察到tempdb
系统数据库上的读取和写入延迟升高。
在减少tempdb
数据库延迟方面,我有哪些选择?
sql-server optimization database-tuning configuration tempdb
代码有什么问题。或者它的结果,说明聚集索引是邪恶的 [1]?
以及如何揭穿,即回归传统神话和最佳实践?
[1]
揭穿关于聚集索引的神话 - 第 3 部分(示例脚本)
http://blogs.sqlserver.org.au/blogs/greg_linwood/archive/2006/09/16/377.aspx
由 gbn 编辑,2012 年 1 月
死链接曾经有一个“证明”聚集索引不好的脚本。
类似的问题:https : //stackoverflow.com/questions/4034076/reasons-not-to-have-a-clustered-index-in-sql-server-2005
RCSI(读提交快照隔离)是更改 SQL Server 中(默认)读提交隔离级别行为的数据库设置。
据我了解,这是 MSDN 博客文章“并发系列:最小化更新程序之间的阻塞”中的 sripts 的上下文,它告诉我们:
“使用 RCSI 的第二个技巧也不起作用,并且更新被行上的 session-1 阻塞在 X 锁后面,(C1 = 1)。原因是以下 UPDATE 语句在比读取提交更高的隔离级别执行。
update basic_locking set c2 = 1000 where c1 = 2
这是显示阻塞的输出
解决方案:这里有两个选择来解决这个问题:”
“输出”如何说明隐式默认隔离级别(已提交读)的隐式提升?
如何在某些语句的上下文中检查真正的隔离级别“跳跃”?
什么时候期待它们,它们为什么会发生?
sql-server ×7
index ×2
maintenance ×2
permissions ×2
concurrency ×1
locking ×1
monitoring ×1
network ×1
optimization ×1
performance ×1
tempdb ×1
transaction ×1
windows ×1