检查SQL Server备份的简单方法

使用powershell,你可以很容易地看到你的数据库的最后一次备份。

在过去的几个星期里,我除了抱怨供应商什么也没做,所以我想我应该休息一下,写一些关于SQL Server的东西来改变一下。因此,今天我将谈论几种不同的方法来获取信息,关于哪些DBs被备份以及何时备份。

这是任何DB平台中真正重要的主题之一,因为没有任何供应商提供自动检查没有备份的DB的本机方法。微软在管理策略上让它变得更容易,但你仍然需要设置它,当然也没有办法默认保存历史记录。这就是问题所在,不是吗?我如何在所有500台服务器上监视我的备份,甚至保存它们何时失败的历史记录?

这就是一些供应商提供备份解决方案的地方,这些解决方案允许您保存所有备份元数据的集中存储库,以便您可以轻松地对其进行报告。这在很长一段时间内都很有效,但这些解决方案并不便宜。通常情况下,每台服务器的成本约为1000美元。这些供应商产品可能更难管理,因为服务器通常不会向repo报告它们的元数据,而且没有任何东西可以告诉您没有填充数据。您通常可以在GUI中看到该报告,但我坚信您永远都不应该通过GUI来获得关于您的环境的信息。所有东西都应该是可编写的,你应该收到一封电子邮件。因此,您最终需要编写自己的查询来提醒这些丢失的备份,由于这些产品的模式通常是……我们继续说,小于最佳的。这样查询就会变得很长很笨拙。

当然,您还可以遍历msdb备份历史表,并编写一系列连接,从而找出数据库最后一次备份是在什么时候,然后将其保存到某个中央表中,这当然是可行的。同样,问题是查询不一定容易得到,您必须为每个服务器重新生成查询。所以它必须被存储在某个地方,这些查询可能会在数据库的不同版本之间发生变化。

这就是我目前最喜欢的解决方案发挥作用的地方。我现在最喜欢使用powershell来处理这种事情,因为不仅查询非常非常简单,而且在所有版本的SQL Server上都是一样的。特别是如果你正在寻找简单、快速的提醒,告诉你最近一次备份你的数据库,你也会喜欢这个。下面是powershell代码,用于查询服务器上所有DBs的最后备份信息。

迪尔|FT名称,LastBackupDate,LastLogBackupDate,LastDifferentialBackupDate

就是这样。这就是用于查询最后备份时间的所有powershell代码。现在,您可以在数据库级别查询大量其他属性,而且同样简单。现在您所要做的就是将其保存在集中式表中并编写一个简单的查询,因为所有服务器的元数据都在相同的位置。更好的是,你不需要在单独的服务器上放任何东西,因为你会在一个服务器上运行这个,然后光标光标到日程表上的所有框,然后填充它。

我做什么,我是保持表的所有列在其中我的数据库服务器,并运行所有我的PowerShell脚本的。我可以只改变我用拉的服务器列表中查询做任何我想任何一组框。这是一个非常简单的方法来做到这一点,这也是非常有活力。如果你把一个新的服务器联机,只需将其添加到服务器上的表,它会被添加到下一次运行的集合。如果你有很多的服务器,你不想花时间去光标通过所有这些顺序,然后再创建2个工作岗位,并让每个人拿一组不同的服务器在表中。

这真是太棒了,一旦你开始写这些东西,你就会发现起来管理它们是多么容易。注意到我没有发布大量代码吗?这是因为这是为那些已经足够了解powershell并知道如何使用它的人准备的。我很快会写一些其他的东西,从初学者的角度来讨论所有这些,我甚至可能会发布一些代码,您可以直接放到您的环境中。

无论如何,祝你好运,我希望你们有所帮助。

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对最重要的话题发表评论。

版权©2010足球竞彩网下载

工资调查:结果在