巧用利器Powershell,让数据库自

作者介绍

许昌永,高级DBA,微软SQLServerMVP,十年以上SQLServer使用经验。曾就职于腾讯公司,从事了六年游戏行业SQLServer数据库开发和管理。目前就职于跨境电商DX.COM三年多,负责公司SQLServer和MongoDB的数据库架构设计、高可用部署、运维管理和性能优化等工作。翻译出版了书籍《PowerShellV3——SQLServer01数据库自动化运维权威指南》,文末将有许老师的新书赠送,不容错过哦~

目前市场上针对SQLServer的图书,好的原创图书屈指可数,翻译的图书较多,但只限于专门针对SQLServer数据库本身的开发、管理和商业智能。

而针对PowerShell的图书,可以说大多为MSDN里的学习笔记,主要针对Windows操作系统的管理。

微软在大的布局和技术动向来看,力推云平台。而平台化的基础是自动化、高可用。那么细化到最基础的技术着眼点,微软正在大力开发其所有服务器端产品对PowerShell的支持。针对SQLServer来说,运用好PowerShell这项技能来将管理任务自动化,才能实现进一步的平台化,它是云平台的基石。

国外大力推广的DevOps、开发型运维,不仅仅让数据库管理员或系统管理员局限于手工来操作繁杂的日常工作,这样风险极大。学习PowerShell来提升脚本开发能力,让日常工作化繁为简,是大势所趋。

下面我将通过我翻译的一位微软MVP著作《PowerShellV3——SQLServer01数据库自动化运维权威指南》中的一个实例来讲解下,使用PowerShell如何实现对SQLServer的自动化恢复数据库。然后,通过Powershell调用MTools分析MongoDB性能,发送报表邮件来实现自动化运维。

实例一:

恢复SQLServer数据库到一个时间点

在本方案中,我们将使用不同备份文件恢复到一个时间点。

准备:

在本方案中,我们将使用AdventureWorks0-08R数据库。你也可以选择你的开发环境中的你更喜欢的数据库。

AdventureWorksR数据库有一个包含一个单独数据库文件的文件组。我们将使用来自以下三种不同的备份类型的三个不同备份文件,来基于时间点恢复数据库到另一个SQLServer实例:

完整备份

差异备份

事务日志备份

我们可以使用PowerShell,像在之前的方案描述的,在AdventureWorksR数据库上创建这三种类型的备份。如果你对T-SQL相当熟悉,你也可以使用T-SQL备份命令。

为了帮助我们验证是否基于时间点的恢复结果是我们期待的,在做任何类型的备份之前,创建一个时间戳标识的表。相应的,创建一个表,并在备份前插入一个时间戳标识的记录到表中。

将这些备份放在C:\Backup\目录。

你可以使用下面的脚本来创建你的文件,-Ch06-10-Restoreadatabasetoapointintime-Prep.ps1,它包含在本书的可下载文件中。当脚本执行完整后,你应该在AdventureWorksR数据库中有时间戳标识的Student表,以一分钟的间隔创建,类似于下面的截屏:

(译者注:可以从







































北京中科医院是治啥的
北京看白癜风医院哪里好



转载请注明:http://www.xcqg58.com/bcxx/bcxx/7617.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了