最近在写一个类是财务系统中套帐的系统。每年或者每月的的数据存储在不同的数据库中,以方便备份,也防止了历史数据膨胀。虽然存储的数据不同但格式都是一样。数据库中的对象都是相同的。下面就是该系统中的一个存储过程。此过程中对错误处理不够详细,望有看法有想法的朋友给予指出。
我所理解的数据库恢复,其实就是使用备份文件重新创建数据库的过程。
/***********功能:使用备份文件创建数据******************************/
create procedure p_CreateDB
@bakFilePath varchar(200)= null,--例如d:/xxx/的格式
@bakFileName varchar(30)=null,--备份文件的名字
@dbName varchar(20)=null,---要创建数据库的名字
@dbPath varchar(200)=null--例如:d:/test/
as
declare @sql varchar(1000),@bakFileFullPath varchar(250),@ip varchar(20)
declare @baseDbPath varchar(100),@i int --存储基本数据库中反向的'/'的位置
SET CONCAT_NULL_YIELDS_NULL off
-------------------获得新数据的路径-------------------
if (@dbPath is null)
begin
if exists(select * from master..sysdatabases where name='schlBasicDb') --获取基本数据库的路径
select &#