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的主要内容,如果未能解决你的问题,请参考以下文章
自动化运维工具安装部署 chef (二) - server的安装