我需要从PostgreSQL数据库集群中删除一个数据库。即使有活动连接,我该如何做到呢?我需要一种类似于-force标志,它可以断开所有连接,然后再删除数据库。 我应该如何实现这个功能? 目前我正在使用dropdb,但也可能使用其他工具。
我被委托制定我们的 Sql Server 2005 数据库的维护计划。对于备份,我希望每天进行完整数据库备份,并且每隔15分钟进行事务日志备份。但是,我遇到了一个问题,即确定其他任务和执行频率。 目前我考虑的方案如下,请纠正我思考中的任何错误或更好的做法。 备份 - 所有表格,完整备份(...
我知道收缩是魔鬼:它颠倒页面顺序,并导致皮肤癌、数据碎片化和全球变暖。问题还在继续... 话虽如此,假设我有一个100 GB的数据库,我删除了50 GB的数据——不是在一个表上,而是在数据库整体层面上对旧数据进行了普遍修剪,涵盖了90%的表——这是否构成了适合收缩数据库的用例? 如果不是,从...
我继承了一个维护计划,具体包括以下内容: - 清理旧数据 - 检查数据库完整性 - 执行数据库和事务日志备份 - 重组索引 - 更新统计信息 - 删除旧备份和维护计划文件 在这个23分钟的维护计划中,更新统计信息需要惊人的13分钟。在这13分钟期间,访问数据库被阻塞(或者至少,从该数据库到...
我正在寻找关于设置BUFFERCOUNT、BLOCKSIZE和MAXTRANSFERSIZE参数值的实用指导,这些参数是用于BACKUP命令的。我已经进行了一些研究(见下文),也进行了一些测试,并且我完全意识到任何真正有价值的答案都会以“嗯,这取决于……”开始。我对我所做的测试以及我找到的任何...
通常情况下,VACUUM不会将磁盘空间返回给操作系统,除非在某些特殊情况下。根据文档的说明: 标准形式的VACUUM会删除表和索引中的死行版本,并标记可供将来重用的空间。然而,除非在表末尾的一个或多个页面完全空闲且可以轻松获得独占表锁的特殊情况下,它不会将空间返回给操作系统。相比之下,VAC...
在备份数据库时,我想使用"备份集将过期:"选项来删除/覆盖旧的数据库备份。但是我无法使用这个选项。 如果有关于如何在创建维护计划时使用"备份集将过期:"选项的任何建议,将不胜感激。
我注意到一些数据库管理员经常重新启动SQL Server,有时甚至每晚都这样做。我相信他们这样做是为了释放一些内存,或者可能也是为了加快查询速度。我知道在重新启动后,查询计划必须重新编译,但即使考虑到这一点,我还是想知道这种做法是否有净效益。 重新启动SQL Server每天会让它运行得更快...
有些时候,在对表进行大规模的update、insert或delete之后,我会开始执行VACUUM FULL ANALYZE来确保数据库不会变得过于臃肿。但在生产数据库中执行这个操作让我发现这不是一个好主意,因为它可能会长时间地阻塞表。所以我取消了这个过程,也许尝试了只执行VACUUM(而不是...
我使用Ola Hallengrens的脚本来进行索引维护。在那之前,我使用以下查询来查看哪些索引最为碎片化: SELECT dbschemas.[name] as 'Schema', dbtables.[name] as 'Table', dbindexes.[name] as 'Index...