当前位置:首页 » 编程软件 » 编程数据恢复

编程数据恢复

发布时间: 2024-12-16 21:36:41

‘壹’ 如何使用脚本批量恢复数据库备份

蛙蛙推荐:利用WMI脚本批量恢复sqlSERVER数据库

问题提出

蛙蛙求助:以编程的方式还原sqlserver数据库问题

我有一个目录下面都是sqlserver的数据库备份文件,比如a.bak,b.bak,c.bak等,有没有办法一下把他们都还原到本地SQLSERVER数据库里面呀,过程是自动建立a,b,c这样的数据库,然后把a.bak恢复到a,b.bak恢复到b,依次类推,因为备份文件的原路径和新库的路径不一样,所以要有一些额外处理,谁能解决一下,因为这个目录下有几十个库的备份文件呢,现在我的机器新安装了一个SQLSERVER,要把他们全部恢复,当时没有分离库,所以不能直接附加.

设计方案

可以利用WMI脚本扫描存放数据库备份文件的目录,然后按照一定的规则生成一个恢复数据库的T-sql脚本文件,然后用脚本执行osql程序来执行这个脚本完成数据库恢复,这里没有使用过多的错误处理和事务的代码,因此要人为的确定数据库恢复的T-SQL语句尽量不要引发异常。

解决方案

一、我们先来看一下恢复数据库的T-SQL命令,以便理解后面通过脚本来创建T-SQL的原理

USE master

GO

--如果要创建的数据库已经存在,那么删除它

IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'article')

DROP DATABASE [article]

GO

--创建一个新数据库,要指定新建数据库的数据文件和日志文件的名称和位置,初始化大小

--增长幅度,最大值等内容

CREATE DATABASE article

ON

( NAME = N'article_dat',

FILENAME = N'd:\sql2000\MSSQL\data\article_Data.MDF',

SIZE = 1,

MAXSIZE = 50,

FILEGROWTH = 5 )

LOG ON

( NAME = N'article_log',

FILENAME = N'd:\sql2000\MSSQL\data\article_Log.LDF',

SIZE = 1MB,

MAXSIZE = 25MB,

FILEGROWTH = 5MB )

GO

--把指定的数据库备份文件恢复到刚刚建立的数据库里,这里要指定数据库备份文件的位置

--以及要恢复到的数据库,因为备份文件来自未知的机器,备份的时候原数据库和新数据库

--的数据文件和日志文件的位置不匹配,所以要用with move指令来完成强制文件移动,如果

--是通过管理器备份的数据库文件,数据库文件和日志文件名分别是数据库名跟上"_Data"或

--"_Log",这是一个假设哦,如果不是这样,脚本有可能会出错

RESTORE DATABASE [article]

FROM DISK = 'E:\windowdatabase\article.bak'

WITH

MOVE 'article_Data' TO 'd:\sql2000\MSSQL\data\article_Data.MDF',

MOVE 'article_Log' TO 'd:\sql2000\MSSQL\data\article_Log.LDF'

GO

从中可以看到T-SQL的强大。

‘贰’ PLC可编程控制器 在断电之后数据丢失,如何进行数据恢复

PLC可编程控制器 在断电之后数据丢失,是无法进行数据恢复的!
还是重新编写吧!祝你好运!

热点内容
系统崩溃linux 发布:2024-12-16 23:23:23 浏览:598
安卓手机上有什么好的收音机 发布:2024-12-16 23:22:44 浏览:571
小8酱解压码 发布:2024-12-16 23:21:41 浏览:783
娃哈哈营销脚本 发布:2024-12-16 23:21:06 浏览:711
怎么才能找到自己的ID安卓 发布:2024-12-16 23:19:49 浏览:856
汽车销售源码 发布:2024-12-16 23:09:57 浏览:119
python内存监控 发布:2024-12-16 22:57:06 浏览:748
我的世界网易版服务器如何装高清光影 发布:2024-12-16 22:57:01 浏览:898
androiddrawable使用 发布:2024-12-16 22:54:39 浏览:202
安卓为什么不出磁吸 发布:2024-12-16 22:50:48 浏览:701