首页 > 其他分享 >dbatools demo

dbatools demo

时间:2023-04-18 09:12:10浏览次数:26  
标签:SqlCredential dbatools demo 192.168 1.52 SqlInstance Test cred

break

#从PowerShell Gallery 安装dbatools模组
Install-Module dbatools

<#
    01.查找SQL实例
    02.连接SQL实例
    03.检查备份
    04.检查磁盘空间
    05.备份数据库
    06.安装欧拉维护工具
    07.运行Job
    08.测试备份
    09.查看fail的job
    10.检查最大内存设置
    11.检查SQL版本
    12.数据库迁移和账号迁移

#>


#开始, 查找SQL实例
#使用tcp,udp,spns,wmi等方式探查
Find-DbaInstance -ComputerName 192.168.1.51


#把登陆信息存起来
$securePassword = ('yourpassword' | ConvertTo-SecureString -asPlainText -Force)
$credential = New-Object System.Management.Automation.PSCredential('sa', $securePassword)

#然后,尝试连接SQL
Connect-DbaInstance -SqlInstance 192.168.1.51 -SqlCredential $credential


#弹框,输入账号密码
$cred=get-credential sa
Connect-DbaInstance -SqlInstance 192.168.1.52 -SqlCredential $cred

#可以使用SSMS中的注册服务器,利用里面存的账号信息登陆
Get-DbaRegisteredServer -Name 192.168.1.52

#使用管道,连续操作
Get-DbaRegisteredServer -Name 192.168.1.52 | get-dbalastbackup| Out-GridView

#检查你的备份情况
get-dbalastbackup -SqlInstance 192.168.1.52 -SqlCredential $cred |Select-Object * | Out-GridView

#备份有缺失? 检查磁盘空间是否足够,使用windows账号
get-dbadiskspace -ComputerName 192.168.1.52 -Credential fp-qsmc\administrator

#OK,空间足够,快速备份数据库,作为测试可以设定网络共享路径

backup-dbadatabase -SqlInstance 192.168.1.52 -SqlCredential $cred -Path \\192.168.1.52\backup  

#确认备份时间
Get-DbaLastBackup -SqlInstance 192.168.1.52 -SqlCredential $cred | Out-GridView


#安装欧拉维护工具
$params=@{
    sqlinstance="192.168.1.52"
    installjobs=$true
    replaceexisting=$true
    backuplocation="\\192.168.1.52\backup"
    sqlcredential=$cred
}
Install-DbaMaintenanceSolution @params

#运行一些Job

get-dbaagentjob -SqlInstance 192.168.1.52 -SqlCredential $cred |Out-GridView -PassThru |Start-DbaAgentJob  
invoke-item -Path "\\192.168.1.52\backup"

#如果你好奇,可以查看一下正在运行的job
Get-DbaRunningJob  -SqlInstance 192.168.1.52 -SqlCredential $cred |Out-GridView

#测试备份,并运行dbcc checkdb

Test-DbaLastBackup  -SqlInstance 192.168.1.52 -SqlCredential  $cred -Database AdventureWorks2019 | Out-GridView

#查看fail的job列表 
Find-DbaAgentJob  -SqlInstance 192.168.1.51 -SqlCredential $cred -IsFailed | Get-DbaAgentJobHistory |Out-GridView

#检查最大内存设置
Test-DbaMaxMemory  -SqlInstance 192.168.1.52 -SqlCredential $cred | Set-DbaMaxMemory -WhatIf

$instanceSplat = @{
    SqlInstance   = $source, $target
}
#检查dbowner设置
Test-DbaDbOwner @instanceSplat |
Select-Object SqlInstance, Database, DBState, CurrentOwner, TargetOwner, OwnerMatch |
Format-Table
#检查恢复模式
Test-DbaDbRecoveryModel @instanceSplat |
Select-Object SqlInstance, Database, ConfiguredRecoveryModel, ActualRecoveryModel |
Format-Table

#检查tempdb文件个数配置
Test-DbaTempDbConfig @instanceSplat|Format-Table

#检查MAXDOP设置 Calculator (https://blogs.msdn.microsoft.com/sqlsakthi/p/maxdop-calculator),
Test-DbaMaxDop @instanceSplat|Format-Table

#检查SQL版本,是否打最新补丁
#更新补丁信息
Update-DbaBuildReference

#检查SQL版本
Test-DbaBuild  -SqlInstance 172.26.40.91 -SqlCredential $cred -Latest

Test-DbaBuild  -SqlInstance 192.168.1.52 -SqlCredential $cred -Latest

#运行数据库迁移和账号迁移
$securePassword = ('yourpassword' | ConvertTo-SecureString -asPlainText -Force)
$credential = New-Object System.Management.Automation.PSCredential('sa', $securePassword)
$source = connect-dbainstance -sqlinstance 192.168.1.51 -SqlCredential $credential
$target = connect-dbainstance -sqlinstance 192.168.1.52 -SqlCredential $credential 


$migrateDbSplat = @{
    Source        = $source
    Destination   = $target
    Database      = 'TSQL'
    BackupRestore = $true
    SharedPath    = '\\192.168.1.51\backup'
    #SetSourceOffline        = $true
    #Verbose       = $true
  }
Copy-DbaDatabase @migrateDbSplat 

#账号迁移
$migrateLoginSplat = @{
    Source      = $source
    Destination = $target
    #Verbose     = $true
}
Copy-DbaLogin @migrateLoginSplat







 

  

标签:SqlCredential,dbatools,demo,192.168,1.52,SqlInstance,Test,cred
From: https://www.cnblogs.com/kingster/p/17328294.html

相关文章

  • TS初始化Demo
    初始化Demo需要的文件 初始化tsconfig.json文件tsc--init 初始化package.json文件npminit 使用rollup打包,packge.json文件中加入依赖{"scripts":{"test":"echo\"Error:notestspecified\"&&exit1","build&quo......
  • 主机资源情况监视器demo
    importparamiko#导入paramiko模块用于SSH连接importpsutil#导入psutil模块用于获取系统信息importwx#导入wx模块用于构建GUI应用程序classRemoteMonitor(wx.Frame):#定义RemoteMonitor类,继承自wx.Frame类def__init__(self,host,username,password,port......
  • kubebuilder开发kubernetes operator demo
    环境准备go环境配置wgethttps://golang.google.cn/dl/go1.19.8.linux-amd64.tar.gztarzxvfgo1.19.8.linux-amd64.tar.gzmvgo/usr/local/vim/etc/profile在最结尾添加exportHOME=/rootexportGOROOT=/usr/local/goexportGOPATH=/opt/idcus/goexportPATH=$PATH:......
  • Spring AOP demo
    动态代理模式实现,比如可以在Bean的生命周期创建阶段,根据Pointcut判断当前bean是否满足切入条件,如果满足,再根据织入器ProxyFactory织入到JoinPoint,再根据bean创建代理对象名词JoinPoint:可以理解成系统中每一个可以应用aop的点,一般是指方法。spring中只支持方法,Pointcut:根据P......
  • googleTest demo
    googletest的目录在的官方目录在https://github.com/google/googletest.git。作为用户,googleTest的库可以认为提供了两个东西:各种宏,如TEST,TEST_F,通过#include"gtest/gtest.h",即可使用。gtest_main的库libgtest_main.a,即提供了一个主函数,可以和一个测试套的“容器”。静态库......
  • 文字滚动demo
    1、主要采用css的@keyframes关键帧和animation动画<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="......
  • fastdds学习之2——Helloworld Demo
    本节详细介绍了如何使用C++API一步一步地创建一个简单的FastDDS应用程序,其中包含发布者和订阅者。也可以使用eProsimaFastDDSGen工具自行生成与本节中实现的示例类似的示例。在构建发布/订阅应用程序中解释了这种额外的方法,本例程在eProsimaFastDDSGithub仓库中,环境搭建完成......
  • 如何使用海康demo工具配置将设备接入SkeyeVSS平台?​
    SkeyeVSS平台视频能力丰富齐全,部署灵活,操作简单,可快速接入多类型设备及协议,具体包括国标GB28181、RTMP、RTSP/Onvif、海康SDK、大华SDK、海康Ehome等,以及近期额外拓展的华为SDK、宇视SDK、萤石SDK、乐橙SDK等;在视频流分发方面,RTSP、FLV、HLS、WebRTC等格式均可在全终端、平台实现视......
  • 虚幻引擎 4 学习笔记 [1] :蓝图编程 Demo
    虚幻引擎4学习笔记[1]:蓝图编程Demo​ 最近学习虚幻引擎,主要看的是Siki学院的课,课程链接:Unreal蓝图案例-基础入门-SiKi学院|SiKi学堂-unity|u3d|虚幻|ue4/5|java|python|人工智能|视频教程|在线课程(sikiedu.com)​ 以下为课程笔记:1.创建工程​ 选择蓝图,不带初......
  • Android sqlite 数据库查询,插入,删除,更新demo<第1章>
    //20140424创建数据库帮助类DataBaseHelper,继承SQLiteOpenHelper, 1. 编写构造函数,实现数据库创建;publicstaticfinalStringTAG="ListViewActivity";privatestaticintVERSION=1;privatestaticfinalStringTABLE_NAME="user1";privatestaticfinalSt......