use master
RESTORE DATABASE test2 FROM DISK = 'c:\a.bak' WITH REPLACE,move 'test_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test2_Data.MDF',
move 'test_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test2_Log.LDF'
RESTORE DATABASE test2 FROM DISK = 'c:\a.bak' WITH REPLACE,move 'test_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test2_Data.MDF',
move 'test_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test2_Log.LDF'
@bakequip int, -- 备份设备:磁盘&磁带
@bakpath varchar(50), -- 带全路径的备份文件名
@baktype int, -- 完全备份&增量备份
@baklog int, -- ‘0’备份日志
@bakdb int, -- ‘0’备份数据库
@kind varchar(7), --备份还是恢复
@retmsg varchar(20) output --返回信息
AS
DECLARE @DevName_data varchar(50)
DECLARE @DevName_log varchar(50)
declare @db_path varchar(100)
declare @log_path varchar(100)
DECLARE @RC INT SELECT @db_path = @bakpath + '.dat'
SELECT @log_path = @bakpath + 'log.dat'
SELECT @RC=0
select @DevName_data='dali',@DevName_log='dalilog' DBCC CHECKDB(数据库名)
/***********************************************************
** CREATE BACKUP AND RESTORE DEVICES
************************************************************/
IF @RC=0
BEGIN
EXEC sp_addumpdevice 'disk', @DevName_data,@db_path
exec sp_addumpdevice 'disk', @DevName_log,@log_path
select @rc=@@error
IF @RC<>0
begin
EXEC SP_DropDevice @Devname_data
exec sp_dropdevice @devname_log
SELECT @RC=-1000
return @rc
end
END
IF @kind='backup'
BEGIN
IF @bakequip=0
BEGIN
IF @baktype=0
BEGIN
IF @bakdb=0
BEGIN
BACKUP DATABASE 数据库名 TO DISK=@Devname_data
WITH INIT
END
IF @baklog=0
BEGIN
BACKUP LOG 数据库名 WITH NO_LOG
BACKUP LOG 数据库名 TO DISK=@DevName_log
WITH INIT,NO_TRUNCATE
END
END
ELSE BEGIN
IF @bakdb=0
BEGIN
BACKUP DATABASE 数据库名 TO DISK=@DevName_data
WITH NOINIT
END
IF @baklog=0
BEGIN
BACKUP LOG 数据库名 WITH NO_LOG
BACKUP LOG 数据库名 TO DISK=@DevName_log
WITH NOINIT,NO_TRUNCATE
END
END
END
SELECT @retmsg='数据库备份成功!'
END
IF @kind='restore'
BEGIN
RESTORE DATABASE 数据库名 FROM DISK= @DevName_data WITH REPLACE
SELECT @retmsg='恢复数据库成功!'
END EXEC SP_DropDevice @Devname_data
exec sp_dropdevice @devname_log
RETURN 0---测试:
declare @ varchar(100)
exec gy_dbbak 0,'aa',0,0,0,'backup',@ output
select @
我以前没用过sql server所以很抱歉,刚才的没有看明白
能不能说一下怎样用鼠标就能完成,把以前的备份还原到我现在的数据库里?
"写入名字"-->不要与现在的冲突了,或选强制恢复
"改为现在的data目录的路径"-->如默认是"c:\....data\....mdf"而你现在的sql的data目录是d:\....data你就改为d:\...data\...mdf
2,在选项中,选中在现有数据库上强制恢复,并在下面输入新的还原目录.
其实我用的就是你说的方法,可就是存储过程有问题
我现在想是不是我的数据库那里设置有问题
as
select getdate()然后备份数据库,在还原一下看看还有没有数据!
2、在DATABASES上点右键,“所有任务”中选“RESTORY DATABASE”
3、在GENERAL标签页中选择“FROM DEVICE”,再点击“SELECT DEVICE”
4、在出现的窗口中点击“ADD”,再在窗口中选择“FILE NAME”,点击...按钮
5、选中您所创建的备份文件,即可成功。