小编Sta*_*ser的帖子

内存利用率为 98%,为什么不是 100%?

我想知道为什么 SQL Server 不使用所有可用内存 - 当我非常确定存在内存瓶颈时 100%。比如我管理的一台服务器,从使用91%的内存开始,逐渐增加到98而不是100。23:00重启后增加趋势如下:

  1. 重启后为 58%,整晚达到 79%。我想这应该是由于采取了隔夜备份。
  2. 到第二天 11:00 时为 82%。
  3. 12:00 前 90%
  4. 全天稳定趋势,直到 23:00 内存利用率增加到 93%
  5. 95% 次日早上 08:00
  6. 97% 在 17:00
  7. 98% 第二天 14:00 并留在那里。

什么可能导致这 2% 未被利用?Windows 操作系统是否有可能阻止它?如果是这样,我如何证明 Windows 确实将其保留给自己?

我指的是服务器的整体内存使用情况 - 即操作系统。最大内存配置已经设置得远远超出服务器的当前内存。我手头有一个用于跟踪内存利用率的监控工具。

服务器的内存利用率不低于或高于 98%。这是一个专用的、单实例的、两个数据库 SQL Server,没有其他服务、应用程序等在其上运行。SQL Server 可能正在使用大部分分配的内存 - 即 98% - 但我的问题是为什么它不使用其余的 2%?我不确定我在质疑那 2% 时是否变得太暴躁了?

感谢在Monitor memory usage 中查询Determining Current Memory Allocation我确认 Memory_usedby_Sqlserver_GB 是 64 GB 总 RAM 中的 60。我无法在DMV的输出中找到RAM 和总 RAM的列(可能是由于 SQL Server 2008 R2),但我可以确认它是 64 …

sql-server memory sql-server-2008-r2

3
推荐指数
1
解决办法
1692
查看次数

在 SSMS GUI 上查看 SQL Server 日志的权限

我想让用户从 GUI 中查看 SQL Server 日志,而不是通过 xp_readerrorlog。我只是想知道这是否可能?

谢谢你。

sql-server-2008 sql-server ssms sql-server-2008-r2 error-log

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

出现错误“等待页面 (1:3564879) 的缓冲区闩锁类型 2 时发生超时,数据库 ID 7。” 但是 ID 为 7 的数据库不存在

我有一个测试环境,我在其中安排了运行还原测试和 DBCC 检查的作业。这些作业运行到:
1)从产品复制数据库备份。
2)DROPdba_utility
3) 恢复备份之外的所有现有数据库
4) 运行dbcc checkdb

我经常得到:

Time-out occurred while waiting for buffer latch type 2 for page (1:3564879), database ID 7.
Run Code Online (Sandbox Code Playgroud)

奇怪的是,没有带有Idof 的数据库7
Maximum Idsys.databases目录视图中是 6。(请记住,DROP还原操作之前的所有数据库作业,除了dba_utilityId=5。新还原的数据库分配的 ID 为 6。)

生产环境为2008 R2,测试环境为2012 SP1。

这可能是什么原因造成的?

sql-server-2008-r2 sql-server-2012 dbcc-checkdb

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

Tempdb 文件不存在

我在我的 SQL Server 的 tempdb 之一上有一个奇怪的行为。
它有六个 tempdb 文件,根据 SSMS 和查询,都指向 S 目录。他们每个人都有 ~5gb 的初始大小。
奇怪的是 S 是法定人数,实际上只有 2GB 的可用空间。Tempdb 文件根本不存在于 S 及其子目录中。
问题是 tempdb 文件在哪里?:) 我怎样才能看到它们?
谢谢你。

sql-server-2008 sql-server sql-server-2008-r2 sql-server-2012 tempdb

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

在 SQL Server 标准版上重建索引

我们在 Windows Server 群集上安装了 SQL Server 2008 R2 Standard。我想对数据库上的所有索引进行碎片整理。

禁用所有连接并允许重建索引的最佳方法是什么?

我可能无法关闭 Web 服务器。我怀疑单用户模式是否可行,因为我的连接可能会被踢出。我也怀疑受限用户模式会在应用程序以 dbo 身份登录时起作用。

想到的一种解决方案是禁用 SQL Server 端口,但不太确定。有什么建议?

编辑:我想将数据库设置为 single_user\restricted_user 并通过 DAC 连接并从命令行运行碎片整理作业。你认为这会奏效吗?

clustering sql-server-2008-r2 fragmentation standard-edition

0
推荐指数
1
解决办法
5650
查看次数