Questions tagged «sql-server-2005»

微软的SQL Server是一个关系数据库管理系统(RDBMS),它作为服务器运行,提供对多个数据库的多用户访问。该标签用于2005版本的问题

2
我可以在内存中容纳整个数据库吗?
我的数据库大小约为1gb(根据数据库的mdf文件)。我的数据库服务器有4GB的RAM。查看处于活动状态时计算机上的内存消耗,它的使用率约为85%(包括OS等) 这是否意味着所有数据库读取活动都仅在内存中工作(即整个数据库都位于内存中)?还是仍然有必要将其转到磁盘?


9
MS SQL Server会随着时间的过去而变慢吗?
您是否有以下经历,并且找到了解决方法: 我们网站的后端很大一部分是MS SQL Server2005。每两周或两周,该网站的运行就会开始变慢-我发现使用SQL完成查询所花费的时间越来越长。我有一个喜欢使用的查询: USE master select text,wait_time,blocking_session_id AS "Block", percent_complete, * from sys.dm_exec_requests CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2 order by start_time asc 这非常有用……它提供了当时针对SQL Server运行的所有内容的快照。很好的是,即使您的CPU由于某种原因被钉在100%上,并且活动监视器拒绝加载(我确定其中有些人在那里),该查询仍然返回,并且您可以看到哪个查询正在杀死您的数据库。 当我运行此程序时,或者在SQL开始放慢速度的时候运行“活动监视器”,我看不到任何引起该问题的特定查询-它们的运行速度都较慢。如果我重新启动MS SQL Service,那么一切都很好,它可以加快速度-一两个星期,直到再次发生。 我能想到的一切都没有改变,但这只是几个月前才开始的...想法? - 添加 请注意,发生此数据库速度降低时,无论我们每小时获得10万次页面浏览量(一天中的繁忙时间)还是每小时一万次页面浏览量(缓慢的时间)都没关系,所有查询都比正常完成花费更长的时间。服务器并没有真正处于压力之下-CPU并不高,磁盘使用率似乎并没有失控...这感觉像是索引碎片或类似的东西,但这似乎不是案件。 就我上面粘贴的查询的结果而言,我确实无法做到这一点。上面的查询列出了执行任务的用户的登录名,整个查询等。并且,我真的不想在网上分发数据库,​​表,列和登录名:)...可以告诉您当时运行的查询是正常的,我们的网站一直运行的标准查询,没有任何异常。 -3月24日 自上次重新启动以来已经过去了大约两个星期。我做了几处更改:我发现了一些查询,在这些查询中我们大量使用了临时表,这些表完全没有必要,并且让我们的开发人员更改了他们的工作方式。我将一些不断(缓慢但肯定地)增长的数据库的大小调整为适合其增长的智能大小。我还调整了所有内容的自动增长设置,使其更加智能化(它们都设置为1MB增长)。最后,我整理了一下MSDB。我们进行日志传送,实际上并不需要保留数年之久的备份点,我编写了一些脚本,将其保留了仅几个月。我将继续更新此线程,因为现在判断问题是否已解决还为时过早。

4
每晚备份SQL Server数据库的最佳方法?
每晚备份SQL Server 2005数据库的最佳方法是什么? 我正在寻找一种解决方案/策略,可以制作数据库备份文件,并将其放置在“发送”目录中。我们希望我们的FTP软件将其移至异地服务器。 关于如何使这项工作按要求进行的任何建议?


7
我的templog.ldf很大(45gb),该怎么办?
我已经安装了SQL 2005,并且templog.ldf文件不断增长,以占用其所在驱动器上的所有可用空间。有时它会以几MB的可用空间停止播放,但有时会更进一步,这是c驱动器,我认为这种行为可能与我所看到的其他问题有关。 我的问题是,我应该怎么做,我可以将日志移到另一个驱动器,但是我有理由认为它不会在那里做同样的事情。我假设这种行为很可能是由于我可以更改的结果,并且tempdb日志无法达到45gb的大小。我们在代码中确实使用了许多临时表和表值函数,因此有很多使用tempdb的范围,我可以理解tempdb数据库的增长,但不了解templog增长的原因。 到目前为止,我已经运行DBCC OPENTRAN('tempdb')来查看是否有旧事务在徘徊,但不是。我已经读过有关如何缩小tempdb的信息,并且已经做了几次,但是我真的很想知道我是否可以做些什么来阻止这种情况的发生呢?第一名。 ==编辑== 1) tempdb使用简单的恢复模型 2) templog的增长发生在早晨几个小时,这是因为我们有一些计划的查询在运行,基本上是报告的负载,前一天的工作时间都用完了。文件的大小在这段时间内稳定增长。我们控制同时运行多少个并发报告,增加并发报告的数量可以提高日志的增长速度。

5
从存储过程中调用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 但是,当我们运行此命令时,会收到以下消息: The EXECUTE permission was denied on the object 'sp_start_job', database 'msdb', schema 'dbo'. 有任何想法吗?这甚至是在SQL2005中执行此操作的最佳方法吗?

1
SQL Server 2005合并复制到SQL Server CE 3.5
在我的组织中,我们有一个SQL Server 2005数据库服务器(DBServer)。应用程序的用户通常会连接到DBServer,但有时希望断开连接并继续使用SQL Server Compact Edition 3.5(SQLCE)在便携式计算机上进行工作。 因此,我们一直在研究在DBServer和SQLCE之间使用合并复制。根据我对这一过程的了解,IIS必须安装在“服务器”上……但是,我没有发现有关这是在谈论DBServer还是SQLCE。我以为文档是指DBServer,并将其建议给我们的网络人员。 这个想法很快就被搁置了,因为在内部服务器上安装IIS不是我们的政策。这是我们的SQL Server 2005 Web服务器(WebServer)输入图片的地方。想法是将IIS安装在WebServer上,并将其作为DBServer和SQLCE进行通信的渠道。 起初这听起来像是个好主意,直​​到我开始寻找有关此类设置的文档。我所能做的一切都与DBServer-> SQLCE-> DBServer设置...在DBServer-> WebServer-> SQLCE-> WebServer-> DBServer上什么都没有。 问题: 使用3服务器设置是否理想? 有人有关于这种安装类型的文档吗? IIS是否甚至需要在其中一台大型服务器上运行,还是可以仅在装有SQLCE的笔记本电脑上运行?(我真的很喜欢这个选项;)

1
查询执行后的日志文件问题
可以请您的专家对此情况提供建议吗: 我有专用的硬盘驱动器。它包含数据库和日志文件。我整夜运行查询,日志文件已超出驱动器的大小(还剩500k)。查询没有完成,所以我取消了它。但是似乎什么也没有发生(可能会希望日志文件缩小……?)。请耐心等待,让查询“取消”,还是有其他措施(我已经等了将近3个小时了)?谢谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.