1.右击SQL
Server
2000实例下的“数据库”文件夹。就是master等数据库上一级的那个图标。选择“所有任务”,“还原数据库”
2.在“还原为数据库”中填上你希望恢复的数据库名字。这个名字应该与你的源码中使用的数据库名字一致。
3.在d出的对话框中,选“从设备”
4.点击“选择设备”
5.点击“添加”
6.点击“文件名”文本框右侧的“...”按钮,选中你的“.BAK”文件,并点击确定回到“选择还原设备”对话框。
7.点击确定回到“还原数据库”对话框。
8.点击“选项”选项卡
9.将所有“移至物理文件名”下面的路径,改为你想还原后的将数据库文件保存到的路径。如果你不希望改变,可以直接点击确定。这时便恢复成功了。
很不错!我今天终于把.bak搞定了,这里有个要注意的地方就是选项中的“移至物理文件名”下面的路径,这个路径一定要修改哦,不然会出现错误
SQL语句里有.backupdatabase[数据库名]todisk=[磁盘路径]
例如
backupdatabasedatatodisk='D:\1.bak'
恢复
restoredatabase[数据库名]fromdisk=[磁盘路径]
例如
restoredatabasedatafromdisk='D:\1.bak'
createPROCEDUREGY_DBBak
@bakequipint,--备份设备:磁盘&磁带
@bakpathvarchar(50),--带全路径的备份文件名
@baktypeint,--完全备份&增量备份
@baklogint,--‘0’备份日志
@bakdbint,--‘0’备份数据库
@kindvarchar(7),--备份还是恢复
@retmsgvarchar(20)output--返回信息
AS
DECLARE@DevName_datavarchar(50)
DECLARE@DevName_logvarchar(50)
declare@db_pathvarchar(100)
declare@log_pathvarchar(100)
DECLARE@RCINT
SELECT@db_path=@bakpath+'.dat'
SELECT@log_path=@bakpath+'log.dat'
SELECT@RC=0
DBCCCHECKDB(Northwind)
/***********************************************************
**CREATEBACKUPANDRESTOREDEVICES
************************************************************/
IF@RC=0
BEGIN
EXECsp_addumpdevice'disk',@DevName_data,@db_path
execsp_addumpdevice'disk',@DevName_log,@log_path
select@rc=@@error
IF@RC<>0
begin
EXECSP_DropDevice@Devname_data
execsp_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
BACKUPDATABASENorthwindTODISK=@Devname_data
WITHINIT
END
IF@baklog=0
BEGIN
BACKUPLOGNorthwindWITHNO_LOG
BACKUPLOGNorthwindTODISK=@DevName_log
WITHINIT,NO_TRUNCATE
END
END
ELSEBEGIN
IF@bakdb=0
BEGIN
BACKUPDATABASENorthwindTODISK=@DevName_data
WITHNOINIT
END
IF@baklog=0
BEGIN
BACKUPLOGNorthwindWITHNO_LOG
BACKUPLOGNorthwindTODISK=@DevName_log
WITHNOINIT,NO_TRUNCATE
END
END
END
SELECT@retmsg='数据库备份成功!'
END
IF@kind='restore'
BEGIN
RESTOREDATABASENorthwindFROMDISK=@DevName_dataWITHREPLACE
SELECT@retmsg='恢复数据库成功!'
END
RETURN0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)