专业编程基础技术教程

网站首页 > 基础教程 正文

原创「Oracle移行到Sqlserver完美解决案」⑥案1架构说明_DB恢复

ccvgpt 2024-08-03 12:36:11 基础教程 24 ℃

便于说明,案1和案2的定义说明下

案1:需要在sqlserver端安装oracle客户端来实现移行的方案

原创「Oracle移行到Sqlserver完美解决案」⑥案1架构说明_DB恢复

案2:不需要在sqlserver端安装oracle客户端实现移行的方案

之前把实现中的技术难点,例如大数据量的表,包含blob字段的表等如何移行,基本上都说明了,接下来将实现案1的整体的架构,按照调用顺序说明。

1,3个调用入口

包括:Master数据移行,业务数据移行,Master+业务数据移行

2,内部处理的结构,01~05

上面的移行Master数据,移行业务数据和全移行,3个调用接口,会调用下面的bat和ps1,进行详细的处理,参照下图,接下来会一个一个进行说明,主要的实现代码也会贴出来

①Sqlserver的恢复:

通过01_DBMigrationV5_Restore.ps1,将bak文件夹下的bak备份文件恢复到sqlserver。具体的实现如下。这里是使用powershell调用sqlserver的包,来进行恢复处理,原因是我不想指定sqlserver数据文件的路径,使用这个方法,它会将数据文件和log文件默认导入sqlserver的安装目录,比较方便。

Restore-SqlDatabase方法有几个参数注意下:

-Credential:这个方法没有用户名,密码的参数,所以需要像下面这样,生成一个PSCredential对象

-ReplaceDatabase:你想让你的恢复可以重复执行,而不是恢复一次,数据库存在后再恢复报错。这个参数需要加上


代码:

$uname="la"

$pwd=ConvertTo-SecureString "la" -AsPlainText -Force;

$cred=New-Object System.Management.Automation.PSCredential($uname,$pwd);

#恢复

Restore-SqlDatabase -ServerInstance $ServerInstance -Database $sqlServerDbName -BackupFile $bakFie -AutoRelocateFile -ReplaceDatabase -Credential $cred

鉴于篇幅限制,先介绍到这,接下来会陆续说明。有好的想法意见,可以关注联系我,谢谢

最近发表
标签列表