标签: sql-server

SQL Server 突然只使用了一小部分 CPU

我们有一台运行 SQL Server 2008 的 Windows 2008 R2 服务器。突然之间,SQLServer 进程拒绝超过 20% 的 CPU 使用率。截至上周,当对数据库运行大量查询时,它的使用率将上升到我预期的 100%。我们已经拥有这台服务器一段时间了,它突然有了这个限制似乎很奇怪。这个限制导致我们的查询比平时花费的时间更长。没有人(至少在知情的情况下)对服务器配置进行过任何更改。

经过一番调查,我发现了 sys.dm_os_sys_memory 视图。这显示“可用物理内存很高”,同时可用物理内存为 339552kb,其中总数为 4193848kb。值得注意的是,这是一个运行在 vmware 上的虚拟服务器。

SQL Server 中是否有设置最大 CPU 使用率的设置?我在资源调控器中找到了设置,尽管目前它一直处于关闭状态。

我们最近开始使用 Quest Software 的 Spotlight for SQL Server。它的播放数据库今天早上在这台服务器上有很短的时间,我第一次注意到这个问题,虽然在此之前我没有做任何查询,所以我不知道这是否是问题所在开始,但是数据库在周五下午按预期工作。Windows 日志显示以下设置在创建时应用于 SpotlightPlaybackDatabase。

  • 02/21/2011 08:45:02,spid60,未知,将数据库选项 TORN_PAGE_DETECTION 设置为 ON 以用于数据库 SpotlightPlaybackDatabase。
  • 02/21/2011 08:45:02,spid60,Unknown,将数据库选项 MULTI_USER 设置为 ON,用于数据库 SpotlightPlaybackDatabase。
  • 02/21/2011 08:45:02,spid60,未知,将数据库选项 READ_WRITE 设置为 ON 以用于数据库 SpotlightPlaybackDatabase。
  • 02/21/2011 08:45:02,spid60,未知,将数据库选项 AUTO_UPDATE_STATISTICS 设置为 ON 以用于数据库 SpotlightPlaybackDatabase。
  • 02/21/2011 08:45:02,spid60,未知,将数据库选项 AUTO_CREATE_STATISTICS 设置为 ON 以用于数据库 SpotlightPlaybackDatabase。
  • 2011 年 2 月 21 日 08:45:02,spid60,未知,将数据库选项 ANSI_WARNINGS 设置为关闭数据库 …

cpu-usage sql-server

6
推荐指数
1
解决办法
5915
查看次数

尝试添加域用户时出现 SQL Server 2008 R2 错误 15401

我正在尝试添加域用户。我正在做以下事情。

  1. 展开安全
  2. 右键单击登录
  3. 选择新登录...
  4. 登录名选择搜索
  5. 单击位置并选择整个目录
  6. 输入用户名
  7. 单击检查名称
  8. 名称带有下划线并添加更多信息
  9. 单击确定
  10. 单击确定

然后我收到以下错误: 15401 错误

我找到了http://support.microsoft.com/kb/324321。

  • 登录名确实存在
  • 没有重复的安全标识符
  • 我认为不会发生身份验证失败,因为我可以浏览 AD
  • 区分大小写不应该是问题,因为我正在检查名称并且正在纠正它。
  • 不是本地帐户
  • 再次名称解析我可以看到AD

我已经重新启动了服务器 (VM),但问题仍然存在。有任何想法吗?

编辑

我也有:

  • 域成员:数字加密安全通道数据(如果可能)– 禁用此策略
  • 域成员:对安全通道数据进行数字签名(如果可能)– 禁用此策略
  • 重启服务器

http://talksql.blogspot.com/2009/10/windows-nt-user-or-group-domainuser-not.html

编辑 2

我也有:

  • 对安全通道数据进行数字加密或签名(始终)- 已禁用
  • 重新启动

编辑 3

由于问题已转移到网站,我不再有权发表评论等...

我已经检查了服务器上的 dns 到它正在工作的机器上。两者的 DNS 服务器相同...

sql sql-server sql-server-2008

6
推荐指数
1
解决办法
8549
查看次数

sql server 2008的双跳问题

我正在尝试设置以下场景。我有3台服务器,它们都在同一个域中。

  • 服务器 A 具有在(域)服务帐户 dom\web 下运行的 Web 应用程序。
  • 服务器 B 有 SQL Server 2008 R2 的实例,它在(域)服务帐户 dom\sql 下运行。
  • 服务器 C 有 SQL Server 2008 R2 的实例,它在(域)服务帐户 dom\sql 下运行。

服务器 B 和 C 位于 SQL 群集中。B 和 C 的实例是链接服务器。

当我从 A 运行 SQL Server Management Studio 并使用我的域帐户 (dom\usr) 连接到 B 时,我尝试执行从 B 和 C 中选择数据的查询并且它工作正常。

当我尝试尝试相同的 Web 应用程序时,出现错误:

用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。

我看到 SQL 中的连接对用户 dom\web 具有 auth_scheme KERBEROS,因此它不是 NTLM。

此外,dom\web 域帐户在 AD 中没有选择“帐户是敏感的,不能被委派”选项。

我还认为 SPN 设置正确,因为双跳在第一种情况下不起作用。

这是服务器 C 上的错误:

源登录

用户“NT …

linked-server sql-server sql-server-2008

6
推荐指数
1
解决办法
9544
查看次数

数据库备份和全文搜索

我正在运行 SQL Server 2005 EE。

尝试执行完整数据库备份时,我收到错误消息:

无法暂停目录以进行备份。备份已中止。BACKUP DATABASE 异常终止。

在谷歌搜索问题后,它似乎与全文搜索未正常运行有关,因此我检查并确定 FTS 已停止。但是,在尝试启动 FTS 时,我收到以下错误消息:

已删除服务依赖项 (ObjectExplorer)

我用谷歌搜索了这个错误,并在WordPress 博客中找到了以下建议(有点担心遵循这个建议,因为没有解释为什么我会这样做)。

  1. 打开注册表项 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\msftesql
  2. 将值 DependOnService 重命名为任何内容
  3. 重启服务器

任何建议将不胜感激。

谢谢!

sql-server sql-server-2005

6
推荐指数
1
解决办法
681
查看次数

重命名了 SQL Server,但是维护计划仍然使用旧名称

一位同事已重命名 SQL 服务器,但所有维护计划仍将“OLD_NAME”引用为“本地服务器连接”。

包含本地服务器连接的服务器名称的文本框呈灰色显示且无法更改

有没有办法更改这些值,而不是导出所有 SSIS 包,在 Visual Studio 中更改并再次重新添加它们?

sql sql-server

6
推荐指数
2
解决办法
8455
查看次数

为什么在“插入查询”之前“开始事务”会锁定整个表?

我写了一个存储过程来插入一条记录。我在插入查询的正上方添加了“开始事务”并执行查询。我注意到另一个应用程序显示一个网页,其中包含来自同一个表的记录,在插入完成时挂起。

为什么开始事务会锁定整个表?作家不应该阻止读者。默认情况下它应该是ON。

我正在使用 SQL-Server 2005 Express。我也想知道 Oracle 和 MySQL 如何处理相同的情况。

mysql oracle sql-server sql-server-2005

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

Windows 文件缓存突然下降

我有一个 64 位的 Windows 2003 服务器,它有 48 个 CPU 内核和 128GB 的​​ RAM,运行单个应用程序(SQL 2008 Analysis Services)。SSAS 目前使用大约 50GB 的内存。

SSAS 在很大程度上依赖于 Windows 文件缓存来保存经常使用的数据(例如,请参阅本文)。在我的服务器上,windows 文件缓存通常在 10-15GB 范围内,但偶尔会突然下降到 5-6GB ( Memory\System Cache Resident Bytes)。发生这种情况时,所有 SSAS 页面读取都必须转到磁盘,并且查询开始超时,直到文件缓存重新填充。

我有第二台服务器(只有 24 个内核,但在其他方面几乎相同)没有表现出相同的症状,甚至运行完全相同的 SSAS 实例、相同的查询和相同的负载(这是一个负载平衡的环境) .

我在 dba.stackexchange.com 上问了一个以SSAS 为重点的详细问题,但有几个关于 Windows 行为的问题:

  1. 有没有办法知道为什么 SSAS 数据库文件被刷新出缓存?

  2. 我可以预先填充文件缓存或以某种方式主动管理它吗?(我不确定在我们的环境中是否可以选择使用 RAMDRIVE)

有一次,我们确实将服务器上的网络优化设置更改为“最大化文件共享的数据吞吐量”以匹配另一个框,但这似乎没有产生显着差异。

编辑:增加了赏金。如果我们不能回答“为什么”,那么也许只是一种更好地了解当前正在使用缓存的进程,或者其中有哪些文件,或者可能引导我们走向正确方向的东西的一种方式。

windows-server-2003 cache sql-server sql-server-2008

6
推荐指数
1
解决办法
737
查看次数

加载到 IIS Web 服务器后的 SQL Server 连接超时

我们在 Windows 2008 r2 上运行 MSSQL 2008 R2,它被 2 个运行 asp.net 的服务器 2008 r2 网络服务器击中。两者都加入活动目录域并使用集成身份验证连接到 sql server。IIS 应用程序池上设置了用户名/密码。这在过去一年左右的时间里一直完美无缺。

我们最近想启动新的网络服务器,我配置了一个运行完全相同网站的新 Windows 2012 R2,并使用相同的用户名/密码配置了 IIS 应用程序池。当我进行测试时,该站点连接并运行良好。但是一旦我将任何真正的负载带到服务器上,我就会看到 IIS 开始挂起并且请求开始堆积。

我进行了内存转储并对其使用了新的 DebugDiag 2.0 分析,发现请求在打开 sql 连接时挂起:

此线程正在尝试打开数据库连接

连接字符串为 Data Source=10.81.73.66;Failover Partner=10.81.73.72;Initial Catalog=XXXX;Integrated Security=True;Max Pool Size=6000;Connect Timeout=30;Network Library=dbmssocn;Application Name=EntityFrameworkMUE 和连接超时设置为 30 秒。

在分析中,我看到了很多例外:

连接超时已过期。尝试使用登录前握手确认时超时时间已过。这可能是因为登录前握手失败或服务器无法及时响应。尝试连接到 Principle 服务器时发生此故障。尝试连接到此服务器所花费的持续时间是 - [Pre-Login] 初始化 = 3342;握手=0;

关于尝试什么的任何想法?

asp.net sql-server windows-server-2012

6
推荐指数
1
解决办法
9360
查看次数

使用 FreeTDS 连接到 MS SQL Server:错误 20002:“Adaptive Server 连接失败”

我正在尝试使用 FreeTDS 从 Linux 服务器 (RHEL v7) 连接到运行 MS SQL Server 2014 的单独服务器。但是,当尝试使用 tsql 连接时,我收到以下错误(错误消息取决于我是否包含用户名和密码):

$ tsql -S MYSERVER
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20002 (severity 9):
        Adaptive Server connection failed
There was a problem connecting to the server
$ tsql -S MYSERVER -U myusername -P mypassword
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20017 (severity 9):
        Unexpected EOF from the server
Error 20002 (severity 9):
        Adaptive Server …
Run Code Online (Sandbox Code Playgroud)

sql-server freetds

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

DL380 Gen9 哪个处理器,对NUMA有什么影响

我们即将构建一个新服务器,我想知道可用选项对 NUMA 有何影响。

该系统将使用 Proliant DL380 Gen9 8SFF 构建,它有 2 个插槽,每个插槽有 12 个内存组。

我的问题是什么会更好地配置 2 CPU 的 6 核和内存均匀分布在 NUMA 节点或单个 12 核 CPU 和该 NUMA 节点中的所有内存。

我是否应该期望使用单个 Intel Xeon E5-2690Wv3 和 192GB(4 * 32GB + 4 * 16GB)内存出现带宽问题并选择 2 CPU 选项,或者我应该避免复杂性并选择单 CPU 解决方案并让所有 RAM 坐下在分配给该套接字的银行中?

不会使用虚拟化,机器将运行 Windows 2012 R2 和 SQL 2014,两者都支持 NUMA。

hardware hp-proliant sql-server numa

6
推荐指数
1
解决办法
1567
查看次数