批量数据库还原

简介: 在使用前先加载库文件 $assemblylist = "Microsoft.SqlServer.Management.Common","Microsoft.SqlServer.Smo","Microsoft.
在使用前先加载库文件

$assemblylist =
"Microsoft.SqlServer.Management.Common",
"Microsoft.SqlServer.Smo",
"Microsoft.SqlServer.Dmf ",
"Microsoft.SqlServer.Instapi ",
"Microsoft.SqlServer.SqlWmiManagement ",
"Microsoft.SqlServer.ConnectionInfo ",
"Microsoft.SqlServer.SmoExtended ",
"Microsoft.SqlServer.SqlTDiagM ",
"Microsoft.SqlServer.SString ",
"Microsoft.SqlServer.Management.RegisteredServers ",
"Microsoft.SqlServer.Management.Sdk.Sfc ",
"Microsoft.SqlServer.SqlEnum ",
"Microsoft.SqlServer.RegSvrEnum ",
"Microsoft.SqlServer.WmiEnum ",
"Microsoft.SqlServer.ServiceBrokerEnum ",
"Microsoft.SqlServer.ConnectionInfoExtended ",
"Microsoft.SqlServer.Management.Collector ",
"Microsoft.SqlServer.Management.CollectorEnum",
"Microsoft.SqlServer.Management.Dac",
"Microsoft.SqlServer.Management.DacEnum",
"Microsoft.SqlServer.Management.Utility"


foreach ($asm in $assemblylist)
{
$asm = [Reflection.Assembly]::LoadWithPartialName($asm)
}

# Set SQL Server instance name
$sqlName =  "localhost"
 
$backupPath =  "e:\zach\"
$destPath  =  'c:\SQL Data'
 
$sqlServer  =  New-Object  ( 'Microsoft.SqlServer.Management.Smo.Server' )  $sqlName
$sqlServer . ConnectionContext  .LoginSecure = $false  ;
$sqlServer . ConnectionContext  .set_Login( "sa" );
$sqlServer . ConnectionContext  .set_Password( "jj"
 
[ System.Reflection.Assembly ]::  LoadWithPartialName ( "Microsoft.SqlServer.SMO"  ) |  Out-Null
[ System.Reflection.Assembly ]::  LoadWithPartialName ( "Microsoft.SqlServer.SmoExtended"  ) |  Out-Null
 
$items  = Get-ChildItem  $backupPath
foreach  ( $item  in  $items  )
{
$dbRestore  =  new-object  ( "Microsoft.SqlServer.Management.Smo.Restore" )
$dbRestore . Devices  . AddDevice  ( $item  . FullName  ,  "File"  )
 
$dt  =  $dbRestore  . ReadFileList  ( $sqlServer  )
$header  =  $dbRestore  . ReadBackupHeader  ( $sqlServer  )
$db = $header  . Rows  [0].DatabaseName
 
$dbRestore . Database  =     $db
$db
        foreach ( $r  in  $dt  . Rows  )
      {
        $p = ''
          $dbRestoreFile  =  new-object( "Microsoft.SqlServer.Management.Smo.RelocateFile"  )
        $r .  LogicalName ;
          $dbRestoreFile . LogicalFileName  =  $r  . LogicalName  ;
          $p  =  $r .  PhysicalName . split  ( "\"  )
          $destPath +  "\" +  $p [  $p .length  - 1]
          $dbRestoreFile . PhysicalFileName  =  $destPath  +  "\"  + $p [ $p .length  - 1]
          $dbRestore . RelocateFiles  . Add  ( $dbRestoreFile  )
      }
  $dbRestore .  RelocateFiles
  $sqlServer .  KillAllProcesses ( $db  )
        # Call the SqlRestore mathod to complete restore database
        $dbRestore . SqlRestore  ( $sqlServer  )
 
}
目录
相关文章
|
弹性计算 移动开发 HTML5
一项创意其实需要好实现,感谢阿里云飞天加速计划
这是对阿里云学生优惠“飞天加速计划”的感悟文章
|
运维 算法 大数据
【阿里云MVP第五期】安畅网络韩军辉:ELK在数据中心流量分析中的应用
本文节选自阿里云MVP第五期嘉宾上海安畅运维专家韩军辉分享话题《ELK在运维工作中应用两三事》。从实际应用的角度,分享了ELK在混合云数据中心场景下流量收集、分析、存储、展现、告警中的实践。
7474 0
|
20天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
32320 118
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
15天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
6853 18
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
14天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
4826 12
|
16天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
5695 21
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
12天前
|
人工智能 JavaScript 安全
Claude Code 安装指南
Claude Code 是 Anthropic 推出的本地 AI 编程助手,支持 Mac/Linux/WSL/Windows 多平台一键安装(Shell/PowerShell/Homebrew/NPM),提供 CLI 交互、代码生成、审查、Git 提交等能力,并内置丰富斜杠命令与自动更新机制。
4321 0