小编cbm*_*eks的帖子

如何找出谁是 SQL Server 2008 中的资源猪?

我们在具有 24+GB RAM 和 16 个内核的机器上安装了 SQL Server 2008。加上快速驱动器等。按照我们的标准,这是一台大型机器。

无论如何,那台机器 100% 专用于 SQL Server,并且上面有两个生产数据库。每个数据库来自两个不同的供应商。

这已经运行了2年。

现在,在过去 2 周内,供应商 B 表示 SQL Server 无法处理其 8 GB 数据库的性能。几个月来,我们的结局没有任何变化。我们的数据库服务器没有被触及。

供应商 A 工作得很好。

所以听起来供应商 A 正在占用更多资源并减慢供应商 B 的速度。但我不怀疑供应商 A 是罪魁祸首,因为我熟悉他们的数据库及其用户。

如何找出每个数据库使用了多少资源?我怎么能说供应商 A 获得 50% 和供应商 B 获得服务器的 50%?

performance sql-server-2008

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

我们是否适合 SQL Server Enterprise 和表分区?

我们目前有一个包含数百万条记录(最大表中有 1400 万条记录)的生产数据库。

数据库的一个功能是提供时间表信息,因此单个表可以有 200 万个时间表,但可以连接到其他 5 个“明细”表,并且每个明细表都有 50 万到 14 百万条记录。

此外,我们正在运行一些无法在短期内更改或替换的遗留软件。我们遇到的问题是,不幸的是,有一些查询(也是遗留的且无法更改)正在执行大量表扫描。因此,查找 100 个时间表会导致扫描数百万行。

我不是贸易 DBA,但我相信我已经索引了所有我可能索引的内容,尽我所知的逻辑和研究。另外,我相信我已经设置了适当的重新索引作业等。

我们SQL Server 2008 (10.0.5500.0)在具有 32GB RAM(16GB 专用于 SQL Server)的机器上运行。机器上没有太多其他资源,因此大部分资源都用于 SQL Server。

我们的下一个计划是可能向机器添加更多 RAM,并且可能将 SQL Server 使用的 RAM 增加到 32GB。我们的数据库大小在磁盘上约为 56GB。

我的问题是,您认为我们应该考虑升级到 SQL Server 2014 Enterprise 以便我们可以对时间表表进行分区吗?我是表分区的新手,但据我所知,它可以用来按站点和年份对我们的表进行分区?这样 1400 万行将被 10-20 个站点拆分,然后按年份进一步拆分,这样查询将扫描 10k-20k 行而不是 14m。或者我只是完全错过了这里的标记?

任何其他建议将受到欢迎。

谢谢你。

performance sql-server database-recommendation partitioning query-performance

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