重新启动 SQL 服务器

重新启动 SQL 服务器

好吧,我是这里唯一的 IT 人员,所有这些都是由前一个人设置的。我对数据库几乎一无所知。

我们有一些软件叫做E2跟踪我们所有的库存。我们还有中心点工资单用于我们的工资单。

每当 E2 开始变得迟缓时,我们就会重启服务器 (2k3)。我们会这样做

  1. 让每个人都离开 E2 以及服务器上打开的所有其他内容。
  2. 重新启动服务器并等待它重新显示。

有一天,我发现我可以进入服务器上的 SQL 服务器服务管理器,点击停止,然后在 AMCO\RWS 服务器上启动,这样与完全重启的效果相同,但只需 30 秒,而不是 15 分钟以上。此外,我们只需要让每个人都退出 E2,而不是所有用户。

但现在我仔细考虑了一下,我不确定我在这里做的是否正确。我正在重新启动 E2 的 AMCO/RWS 服务器,但我突然想到这可能是工资单软件的数据库,因为我们的工资单是由 RedWing Software 完成的。但是,如果我停止它,那么 E2 就无法再连接,所以它们似乎有某种关联。我真的不知道是否有人登录了工资单,因为那个人通过远程桌面在家工作。

答案1

如果可以的话,您不应该重新启动服务器来修复缓慢/延迟问题。

如果你认为问题与数据库瓶颈有关,那么就测试一下。
有一些非常棒的自由的或者不太自由有一些工具可以帮助您诊断 SQL 服务器瓶颈。

但是,说到如何找到一般的性能瓶颈,有很多这方面的书籍,你应该利用你的 google-fu 来找出从哪里开始。我在这里写的内容可能还不够。

通常关闭您计划的服务器维护时段。请不要在办公时间重启以修复性能问题。您不知道幕后可能出了什么问题,并且您不想因为代码编写不正确而导致工资系统损坏,而您只是半途而废。

答案2

这更像是一种预感,但考虑到它是一个较旧的 ms sql 服务器...并且你可以在重新启动 sql 服务器实例时消除缓慢现象,也许问题是临时表的使用变得太大和/或没有适当的索引?

如果 SQL 服务重启后仍然出现缓慢现象,我会说这可能只是基本的 SQL 瓶颈(通常涉及优化所使用的查询、索引和表)。我也不太清楚 MS SQL 2000 在恢复模式和事务日志方面的工作方式,但我猜想应该是类似的。如果数据库处于“完整”恢复模式,事务日志就会累积,除非您有备份和存档这些日志的维护计划。这可能会减少可用于形成临时表的磁盘空间。

至于查看谁登录了,我相信您可以使用 SQL 管理工作室(在 SQL 2000 中可能称为某种形式的查询编辑器)并运行命令“sp_who”或“sp_who2”,它将显示 SQL 当前正在使用的连接...通常它还包括连接的计算机的主机名。

相关内容