Questions tagged «maintenance»

在数据库的上下文中,维护描述了围绕数据库系统的例行操作任务,例如监视,调整和备份过程。


3
最佳实践SQL Server维护计划是什么样的?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我是埃因霍温丰提斯大学的一名学生,我目前正在进行一系列访谈,以帮助开发SQL Server工具,并且我希望获得该领域专家的反馈。 我的问题之一是: 最佳实践SQL Server维护计划是什么样的?您为此使用SQL Server维护计划,还是使用自定义脚本?

5
提高sys.dm_db_index_physical_stats的性能
在维护工作期间,我正在尝试获取碎片索引的列表。但是查询非常慢,需要30多分钟才能执行。我认为这是由于对sys.dm_db_index_physical_stats进行的远程扫描。 有什么方法可以加快以下查询的速度: SELECT OBJECT_NAME(i.OBJECT_ID) AS TableName, i.name AS TableIndexName FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') phystat INNER JOIN sys.indexes i ON i.OBJECT_ID = phystat.OBJECT_ID AND i.index_id = phystat.index_id WHERE phystat.avg_fragmentation_in_percent > 20 AND OBJECT_NAME(i.OBJECT_ID) IS NOT NULL ORDER BY phystat.avg_fragmentation_in_percent DESC 我不是DBA,可能在上面的查询中犯了一个明显的错误,或者也许有些索引或统计信息会有所帮助?也许只是数据库的大小(大约20Gb,大约140个表)。 我问的原因是,我们在夜间只有一个很小的维护窗口,这在大多数时候都占用了。

6
SQL Server清单
在提出其他问题之后,我想开始考虑我应该在每日/每周/每月的基础上根据警报来考虑什么。我希望能够在问题发生之前就看到问题(这是计划)... 到目前为止,我已经开始收集以下脚本(无顺序): 日常 检查系统正常运行时间(以防万一我需要以DBA身份进行检查) 检查上次备份 检查事务日志备份 检查SQL作业的状态 检查最近24小时(或1140分钟)的平均CPU使用率 每周 检查MSDB备份历史记录 检查以查看最后一次运行CheckDB的时间 检查索引碎片 检查索引状态(读与写等) 检查IO瓶颈 每月一次 检查缺少的索引 检查不再使用的索引 还有其他建议吗?(我是DBA的新手,因此随时欢迎您提供帮助/建议)

1
在PostgreSQL中取消(AUTO)VACUUM进程是否会使所有工作无效?
在某些场合,并作出巨大的后update,insert或delete从一个表,我已经开始了VACUUM FULL ANALYZE,以确保DB没有得到太臃肿。在生产数据库中进行操作使我发现这不是一个好主意,因为我可能会长时间阻塞该表。因此,我取消了此过程,可能只是尝试了一下VACUUM(未完成),或者AUTOVACUUM稍后再做任何可以做的事情。 问题是:如果我在中途停止VACUUM或AUTOVACUUM,是否已经完成所有处理? 例如,如果VACUUM已经找到1 M死行而我停止了,所有这些信息会丢失吗?VACUUM是否以完全事务性的方式工作(“全部或全部”,就像很多PostgreSQL进程一样)? 如果可以安全地中断VACUUM而不会丢失所有工作,那么有什么方法可以使vacuum工作逐步进行?[工作100毫秒,停止,等待10毫秒,以便不阻塞世界其他地方...依此类推]。我知道您可以通过调整自动真空参数来完成部分操作,但是我正在考虑能够以编程方式控制此操作,以便能够在特定时间/特定条件下执行此操作。 注意:在这种情况下,停止/取消/终止进程意味着: 如果使用pgAdmin,请按“取消查询”按钮。 如果以编程方式工作,请调用pg_cancel_backend()。 我认为两者是等效的。我还没有使用过任何shell /系统级的kill命令。


1
SQL Server 2008 R2索引重建失败,严重性为17
有时,在进行索引维护期间,作业将因SEV 17错误而失败,因为该错误无法为正在重建的对象分配足够的空间。数据库的布局如下: Data_file1 PRIMARY 0 growth 0% free Max Size UNLIMITED Data_file2 PRIMARY 0 growth 0% free Max Size UNLIMITED Data_file3 PRIMARY 0 growth Less than 1% free Max Size UNLIMITED Data_file4 PRIMARY 250 MB growth Less than 1% free Max Size UNLIMITED 本质上,4个数据文件中的3个已满并且不允许增长,第四个已满并且允许增长。文件分散在不同的LUN上(以及混乱的原因)。因此,当我开始进行联机索引重建时,据我了解,如果需要任何额外空间,它将增长到Data_file4中并且很好,但是显然它正在尝试增长到不允许增长且失败的其他文件中。我无法重现此错误,但我想知道是否有人了解为什么会发生这种情况。 完整的SQL Server版本是2008 R2 Enterprise SP2 CU …

1
PostgreSQL数据库数据文件完整性检查
在运行PostgreSQL数据库系统时,我如何知道我的数据库整体上具有100%的完整性?基本上,我如何知道我的数据文件和页面是否全部100%良好且没有损坏? 在Microsoft SQL Server世界中,有一个命令可以执行DBCC CHECKDB,该命令将告诉您是否存在问题。如果您打算进一步了解该命令,则这里是一个链接。DBCC CHECKDB(Transact-SQL) 我是一个偏执狂的数据库完整性专家(任何以DBA类型角色使用数据库的人都应该这样),这种类型的事情使我很难在晚上睡个好觉。像这样的实用程序是必须的!在Google上进行的搜索已经找到了一些类似工具的尝试,我认为除非它是PostgreSQL项目正式接受的工具,否则我不会因为它的重要性而相信它。 这里有一些链接,人们在问类似的问题时,我认为没有真正的答案。在我看来,PostgreSQL需要拥有一些Oracle和Microsoft SQL Server似乎具备的工具。 第一个链接是我在该主题上找到的最有趣的链接。我认为对这篇文章的评论可能是这样总结的:“ Postgres在识别数据库损坏并修复它时非常la脚。检测到它的唯一方法是通过转储数据库或从数据库的每个表中选择* 。” PostgreSQL如何防止部分页面写入和数据损坏 检查数据和索引文件损坏-Dev Shed 帮助:我的桌子坏了! PostgreSQL:主键损坏,表不一致 我相信9.3有可能具有某些损坏检查功能。如果选择的话,似乎希望对页面文件进行汇总检查。因此,如果您考虑使用ZFS和/或带有页面检查求和的Postgres的将来版本,那么情况看起来就很好。 https://commitfest.postgresql.org/action/patch_view?id=759 更新:2012年1月14日-好像使用基于ZFS的文件系统一样,可以通过检查每个数据块的总和来检测损坏。我将不得不对此进行进一步的研究,看看是否可以通过一种解决方法,让一个晚上知道他们的数据库数据没有被无提示地破坏,从而使其睡个好觉。 更新:2012年1月17日-如何使用ZFS查找损坏的文件。http://docs.oracle.com/cd/E18752_01/html/819-5461/gbbwl.html#gbcuz 更新:2014年4月14日9.3确实获得了数据校验和。https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.3

5
SQL Server备份-几个问题
我们在星期五的晚上9点运行每周备份工作,并且在磁盘空间(有时会变得非常低)和性能方面遇到一些问题。我们正在考虑精简/优化发生的事情,并希望您提出宝贵意见。 特别: 备份过程大约需要4个小时来更新统计信息。我们可以安全地禁用此过程以节省时间吗? 我们非常经常地在磁盘空间上运行不足,想知道是否应该重新调整该过程。当前,它创建备份,然后删除以前的备份,这就是占用磁盘空间的原因。我们可以安全地删除前一首,然后做备份? 任何其他评论或意见将非常受欢迎编辑:服务器上SQL文件的总大小约为35GB。一个db的大小约为25GB,而其他六个共享的磁盘则构成了另外10个左右的GB。


2
行级和页级锁定之间的区别和后果
尝试运行维护计划时,出现以下错误: 执行查询“”失败,并出现以下错误:“表”“上的索引”“(分区1)无法重新组织,因为页面级锁定已禁用。” 当前,我们已在此索引上启用行级锁定。我可以启用页面级别锁定,但是不确定会产生什么影响。 我的问题是:这两种锁定方案之间有什么区别,它们在生产中的实际后果是什么?

3
安全永久删除数据库的最佳实践是什么?
我们有一个“有机”的环境,这意味着人们在最少的监督或文档的情况下将代码堆积在代码上已有十年。我使用的服务器有几个我认为不再使用的数据库。我很想删除它们,只留下我实际使用的三个。 在极端鲁extreme的极端情况下,我可以禁用这些数据库并等待有人尖叫。在其他情况下,我可以让它们永远运行以防万一。您发现哪些步骤对确定服务器是否正在使用有价值,以及如何使用? 此外,您建议采取什么步骤来确保在禁用系统中不断发展,并在一段时间内保持可逆性(例如,重命名对象而不是直接删除它们)? 谢谢!


2
Cassandra:维护
我对Cassandra缺乏经验,但是我对基于SQL的关系数据库有一些经验。 部署后,我一直无法找到有关如何维护Cassandra的最佳实践信息。是否需要VACUUM数据库?我应该认为读/写负载会导致存储碎片化。 或更笼统地说:维护Cassandra生产部署的最佳实践是什么?必须定期执行哪些操作才能维护系统的运行状况?操作手册实际上没有讨论这方面。 谢谢。

1
破坏和还原镜子
我必须在镜像的辅助节点上进行一些维护。由于这是站点变慢的结果,而在短暂的网络中断后重新建立镜像时,我想确保安全并禁用该镜像,然后在完成对有问题的服务器的拨入操作后重新启用它。 我目前的计划是: 禁用镜子 进行潜在的危险故障排除 恢复所有丢失的事务日志 重新建立镜子 这是断开/重新建立镜像的最安全方法吗?有什么我应该注意的陷阱吗?

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.