标签: sql-server-2005

找出 SQL Server 2005 中的哪个数据库使用了多少 RAM

我的一个朋友今天问我(试图让他的一位激动的客户平静下来)如何才能在 SQL Server 2005 中找出在任何给定时间哪个数据库使用了多少内存(在服务器的 RAM 中)。

这可能吗?如果是这样 - 如何?您可以使用内置的 SQL Server 工具执行此操作,还是需要额外的第三方选项?

他的客户很慌张,因为他的专用 SQL Server 机器突然使用了 4 GB RAM 中的 200KB 以外的所有内容。我不认为这是一个问题,真的 - 但是因为这个家伙声称它或多或少是在一夜之间发生的,他想知道是什么导致了内存使用量的增加......

马克

memory sql-server sql-server-2005

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

为什么“DbccFilesCompact”状态为“暂停”?

我在 600G 数据文件上运行 SHRINK 文件。

目前,状态报告为“暂停”,并sys.dm_exec_requests.percent_completeDbccFilesCompact命令会报告它正在运行(但很慢)

有没有办法检查它为什么被暂停以及如何使它运行更顺畅?


仅供参考- 检查状态的 SQL 查询

select T.text, R.Status, R.Command, DatabaseName = db_name(R.database_id)
       , R.cpu_time, R.total_elapsed_time, R.percent_complete
from   sys.dm_exec_requests R
       cross apply sys.dm_exec_sql_text(R.sql_handle) T
order by Command
Run Code Online (Sandbox Code Playgroud)

maintenance dbcc sql-server sql-server-2005

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

Perfmon“% Processor Time”计数器如何超过 100%?

计数器 ,Process(sqlservr)\% Processor Time在我的一台数据库服务器上徘徊在 300% 左右。此计数器反映 SQL Server 在 CPU 上运行所花费的总时间百分比(用户模式 ​​+ 特权模式)。Sql Server 2008 Internals and Troubleshooting这本书说,超过 80% 的任何事情都是一个问题。

那个计数器怎么可能超过 100%?

perfmon cpu-usage sql-server sql-server-2005

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

SQL Server 2005 / 2008 - 多个文件/文件组 - 有多少?为什么?

我本质上是一名开发人员 - 但时不时地,客户没有一个像样的 DBA 来处理这些问题,所以我被要求决定......

在处理合理大小的 SQL Server 数据库(任何大于 Northwind 或 AdventureWorks 的数据库;大约 2-4GB 的数据加上索引等)时,您的策略/最佳实践是什么?您是否使用多个文件/文件组?

如果是这样:多少?为什么?

您决定何时摆脱“一个文件组为一切”方法的标准是什么:

* database size?
* database complexity?
* availability / reliability requirements?
* what else?
Run Code Online (Sandbox Code Playgroud)

如果您使用多个文件组,您使用多少个?一为数据,一为索引,一为日志?几个(多少)用于数据?您选择的原因是什么 - 为什么要使用确切数量的文件组:-)

感谢您的任何提示,指针,想法!

干杯,马克

groups sql-server sql-server-2005 sql-server-2008

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

如何从 SQL Server 2005 迁移到 2008

如何将 SQL Server 2005 数据库迁移到 SQL Server 2008?

是否像备份 2005 年的数据库并在 2008 年简单地恢复一样简单?是否有任何兼容性问题?SQL Server Reporting 服务是否有任何更改?

您将如何升级 SQL 服务器?

migration sql-server sql-server-2005 sql-server-2008

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

取消数据库脱机

我不小心尝试通过上下文菜单命令 > 任务 > 脱机使数据库脱机。

该过程现在正在进行中,无法建立新的连接。

如何取消此过程?

sql-server-2005

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

SQL Server - 集群与镜像的高可用性?

我一直在研究 SQL Server 2005 的各种高可用性选项。关于高可用性,在什么情况下更倾向于集群而不是镜像?

据我所知,镜像具有许多优点,包括没有单点故障存储设备、无需购买昂贵的集群硬件,以及假设您有见证服务器的情况下更快的自动故障转移。

我能想到的唯一有利于集群的情况是您拥有两台以上的服务器。

谁能提供进一步的见解?

high-availability sql-server-2005

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

从存储过程调用 sp_start_job

我们的开发人员需要能够从他们的 .Net 代码启动 SQL Server 代理作业。我知道我可以调用msdb..sp_start_job来做到这一点,但我不想让一般用户帐户直接访问运行作业。

我想要做的是使用 WITH EXECUTE AS 子句在应用程序的数据库中创建一个存储过程来模拟代理帐户。我们的程序是:

CREATE PROCEDURE dbo.StartAgentJob 
    WITH EXECUTE AS 'agentProxy'
AS
BEGIN
    EXEC msdb.dbo.sp_start_job N'RunThisJob';
END
Run Code Online (Sandbox Code Playgroud)

但是,当我们运行它时,我们会收到以下消息:

The EXECUTE permission was denied on the object 'sp_start_job', database 'msdb', schema 'dbo'.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?这甚至是在 SQL2005 中执行此操作的最佳方法吗?

sql sql-server sql-server-2005

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

我可以在内存中放入整个数据库吗?

我的数据库大小约为 1gb(根据我的数据库的 mdf 文件)。我的数据库服务器有 4GB 的内存。查看活动时计算机上的内存消耗,它的使用率约为 85%(包括操作系统等)

这是否意味着所有数据库读取活动都单独在内存中工作(即整个数据库都在内存中)?还是仍然存在必须转到磁盘的情况?

sql-server sql-server-2005

9
推荐指数
2
解决办法
538
查看次数

我的 templog.ldf 很大 (45gb),如果我应该怎么做呢?

我安装了 SQL 2005 并且我的 templog.ldf 文件不断增长以消耗它所在驱动器上的所有可用空间。有时它会在有几 mb 免费时停止,但有时它会更进一步,这是 c 驱动器,我认为这种行为可能与我看到的其他一些问题有关。

我的问题是,我应该怎么做,我可以将日志移动到另一个驱动器,但我有理由假设它不会在那里做同样的事情。我假设这种行为很可能是我可以更改的结果,并且对于 tempdb 日志来说,45gb 是一个不寻常的大小。我们在代码中确实使用了很多临时表和表值函数,因此有足够的空间使用 tempdb,我可以理解 tempdb 数据库的增长,但不了解 templog 增长的原因。

到目前为止,我已经运行 DBCC OPENTRAN('tempdb') 来查看是否有任何旧事务存在,它们没有。我已经阅读了有关如何缩小 tempdb 的内容,并且已经这样做了几次,但我真的很想知道我能做些什么来首先阻止这种情况的发生,或者更多关于为什么它可能会增长如此之多的详细信息第一名。

==编辑==

1) tempdb 使用简单恢复模式

2)临时日志的增长发生在早上几个小时,当时我们有一些预定的查询正在运行,基本上是大量报告,这些报告在前一天的办公时间用完。文件的大小在这段时间内稳步增长。我们控制同时运行的并发报告数量,增加并发报告的数量会增加日志增长的速度。

tempdb transaction-log sql-server-2005

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