批量数据库还原

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介:
在使用前先加载库文件

$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  )
 
}


    本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/p/4549285.html ,如需转载请自行联系原作者


相关文章
|
数据库
达梦数据库的物理备份和还原简解
达梦数据库的物理备份和还原简解
913 1
达梦数据库的物理备份和还原简解
|
关系型数据库 MySQL 数据库
数据库第四次作业 数据备份与还原
数据库第四次作业 数据备份与还原
105 0
数据库第四次作业 数据备份与还原
|
存储 运维 关系型数据库
开源数据库Mysql_DBA运维实战 (备份与还原)
开源数据库Mysql_DBA运维实战 (备份与还原)
241 0
|
SQL 数据挖掘 数据库
数据库数据恢复-SQL SERVER数据库文件误还原备份的数据恢复方案
SQL SERVER数据库故障类型: 1、SQL SERVER数据库文件被删除。 2、SQL SERVER数据库所在分区格式化。 3、SQL SERVER数据库文件大小变为“0”。 4、使用备份还原数据库时覆盖原数据库。
|
Oracle 关系型数据库 数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
|
关系型数据库 MySQL Linux
使用linux命令定时备份还原数据库
使用linux命令定时备份还原数据库
|
SQL 存储 关系型数据库
数据库学习-数据备份与还原作业示例【带源码】
MySQL数据库 “数据备份与还原 ” 习题示例,包含源码,能建立起对于数据备份与还原 的基本概念
213 0
数据库学习-数据备份与还原作业示例【带源码】
|
SQL 关系型数据库 MySQL
Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题
Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题
565 0
Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题
|
关系型数据库 MySQL 数据库
数据库基础(二)----- 约束,数据库的设计、备份和还原
数据库基础(二)----- 约束,数据库的设计、备份和还原​ 约束 ✔  概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性 ✔  分类:     1. 主键约束:primary key     2. 非空约束:not null     3. 唯一约束:unique     4. 外键约束:foreign key ✔  非空约束:not null,值不能为null      1. 创建表时添加约束 CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NULL -- name为非空 );      2. 创建表
数据库基础(二)----- 约束,数据库的设计、备份和还原
|
存储 SQL Java
Demo | 神操作,SqlAlchemy用一行命令还原数据库!
Demo | 神操作,SqlAlchemy用一行命令还原数据库!
201 0
Demo | 神操作,SqlAlchemy用一行命令还原数据库!

热门文章

最新文章