我想知道为什么 SQL Server 不使用所有可用内存 - 当我非常确定存在内存瓶颈时 100%。比如我管理的一台服务器,从使用91%的内存开始,逐渐增加到98而不是100。23: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 …
我想让用户从 GUI 中查看 SQL Server 日志,而不是通过 xp_readerrorlog。我只是想知道这是否可能?
谢谢你。
sql-server-2008 sql-server ssms sql-server-2008-r2 error-log
我有一个测试环境,我在其中安排了运行还原测试和 DBCC 检查的作业。这些作业运行到:
1)从产品复制数据库备份。
2)DROP除dba_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 Id在sys.databases目录视图中是 6。(请记住,DROP还原操作之前的所有数据库作业,除了dba_utility其Id=5。新还原的数据库分配的 ID 为 6。)
生产环境为2008 R2,测试环境为2012 SP1。
这可能是什么原因造成的?
我在我的 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
我们在 Windows Server 群集上安装了 SQL Server 2008 R2 Standard。我想对数据库上的所有索引进行碎片整理。
禁用所有连接并允许重建索引的最佳方法是什么?
我可能无法关闭 Web 服务器。我怀疑单用户模式是否可行,因为我的连接可能会被踢出。我也怀疑受限用户模式会在应用程序以 dbo 身份登录时起作用。
想到的一种解决方案是禁用 SQL Server 端口,但不太确定。有什么建议?
编辑:我想将数据库设置为 single_user\restricted_user 并通过 DAC 连接并从命令行运行碎片整理作业。你认为这会奏效吗?
clustering sql-server-2008-r2 fragmentation standard-edition