暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用 PowerShell 在 SQL Server 中学习上次备份信息

原创 CiciLee 2022-08-27
413

在今天的文章中,我将告诉您使用 PowerShell 在 SQL Server 中学习上次备份信息。

本文重点介绍如何使用 Windows PowerShell 通过 SMO(SQL Server 管理对象)获取数据库属性。

请注意使用相当常见的语法检查数据库属性是多么容易。

我在启动 SQL Server DBA 时面临的挑战之一是检查数据库的最后备份日期。

一种方法是找出 MSDB 数据库中的哪些表包含备份历史记录中的记录。

这里真正棘手的是,您必须查看 MSDB 所没有的表及其相关关系。

您应该相信他在 SQL Server 联机丛书中所说的话。

此外,MSDB 数据库将仅包含具有备份的数据库的记录。 那些没有备份的人呢?

您可以使用以下脚本通过 SQL Server Management Studio 检查在服务器上进行的所有备份。

SELECT
T1.Name AS DatabaseName ,
COALESCE ( CONVERT ( VARCHAR ( 12 ), MAX ( T2.backup_finish_date ), 101 ), ‘Not Yet Taken’ ) ASLastBackUpTaken
FROM sys.sysdatabases T1 LEFT OUTER JOIN msdb.dbo.backupset T2
ON T2.database_name = T1.name
GROUP BY T1.Name
ORDER BY T1.Name

使用 Powershell,您可以使用下面的代码块检查您的备份。

$instance=”SQL_SERVER_INSTANCE_NAME“;
[System.Reflection.Assembly]::LoadWithPartialName(‘Microsoft.SqlServer.SMO’)| out-null
$s = new-object (‘Microsoft.SqlServer.Management.Smo.Server’) $instance
$dbs = $s.Databases
$dbs | select Name,LastBackupDate, LastLogBackupDate | format-table -autosize

这里唯一需要注意的是最后两行——创建数据库对象实例并显示和格式化多个数据库对象属性的行。

对于将使用 SMO 访问 SQL Server 的任何 PowerShell 脚本,前几行都是相同的。

原文标题:Learning Last Backup Informations In SQL Server With PowerShell
原文作者:Çağlar Özenç
原文地址:https://dbtut.com/index.php/2022/05/23/learning-last-backup-informations-in-sql-server-with-powershell/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论