SQL Server 自动化运维工具 dbatools

Posted 薛定谔的DBA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 自动化运维工具 dbatools相关的知识,希望对你有一定的参考价值。

什么是 dbatools?

Dbatools 是 PowerShell 的开源模块,由 SQL Server 社区的知名人士、MVP 以及其他 SQL Server 和 PowerShell 专业人士开发。dbatools 使用了 .Net framework 中的 SMO (Server Management Objects),与使用SSMS (SQL Server management studio) 相同。

通过 SMO 对象,我们可以使用 C# 程序语言操作任何 SQL Server 对象。除了广泛使用 SMO 之外,dbatool还使用WMI/CIM (Windows Management Instrumentation/Common Information Model)来操作Windows 服务器对象。

如此强大的工具,它主要专注 SQL Server 环境的运维,如最佳实践、迁移、日常工作等。Dbatools.io 目前有 500 多个命令可以帮助你进行日常事务。

如何安装 dbatools?

只需一个要求:PowerShell v3+,满足这个要求后,安装很简单:

  • 以管理员身份打开PowerShell命令窗口

  • 运行以下命令:Install-Module dbatools

  • 按提示确认键入 Y(是),完成!

如果你没有互联网访问权限,你也可以使用离线方法安装,安装也很简单:

  • 下载软件包 https://dbatools.io/zip

  • 将 zip 解压后重命名为 dbatools

  • 查看环境变量

$env:PSModulePath -split ";"
  • 将 dbatools 拷贝到以上目录中

  • 设置不阻止文件执行

Set-ExecutionPolicy Bypass
  • 安装模块

Import-Module -Name dbatools

如何检查 dbatools 是否正确安装?

Get-Module dbatools -ListAvailable

使用 dbatools

Get-Command –列出服务器中安装的所有包命令

Get-Help –获取命令详细信息。

Get-command -Module dbatools –列出来自 dbatools 模块的所有命令

Get-command *Get-DbaAgent* – 要过滤搜索,请将星号(*)通配符与 Name 参数一起使用

Get-Help Get-DbaSqlService -Examples –命令示例帮助文档

Get-Help Get-DbaSqlService -Detailed –命令详细帮助文档,包括参数说明和示例

示例,查看指定实例所有数据库:

Get-DbaDatabase -SqlInstance "HZC\\MSSQL2017"

dbatools 更多的命令文档,可参考 https://dbatools.io/commands/

结论:

PowerShell 无处不在。学习 PowerShell 可以让你为未来自动化做好准备。一旦你学会了如何使用 PowerShell 之类的自动化工具,你就可以轻松地对你的SQL Server 服务器进行更方便的运维。dbatools 是一款非常好用的开源工具,可以当做 SQL Server 服务器的必备软件。

以上是关于SQL Server 自动化运维工具 dbatools的主要内容,如果未能解决你的问题,请参考以下文章

sql server自动化运维脚本

推荐一款小巧的SQL Server运维工具SqlOps

自动化运维工具安装部署 chef (二) - server的安装

SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

自动化运维工具clip | 简化运维

自动化运维工具之Zabbix分布式监控应用