sql2005备份在sql2000中恢复
sql2005中的备份要在sql2000中还原,首先在sql2005中还原,然后选择兼容sql2000(80),备份后再在sql2000种还原。
用mdf和ldf来备份数据库,首先要分离数据库,右键备份数据库-任务-分离,对数据库分离,数据库的readonly要为false。分离后,在sql的data目录下找到要备份的mdf和ldf数据库。
还原时选择附加数据库,选择对应的mdf和ldf文件,附加即可。要判断要附加的数据库是否为只读,如果是,要去掉只读属性。要附加的数据库文件即mdf和ldf文件的安全设置中设置user用户完全控制权限,即为数据库文件的属性,设置成功后才可以附加。否则会抱错,要附加的数据库为只读。
要导出数据库脚本时,右键导出的数据库-任务-生成脚本
以下是sql语句备份还原数据库:
--备份当前数据库
exec p_backupdb @bkpath= c: ,@bkfname= db_DATE\_db.bak
--差异备份当前数据库
exec p_backupdb @bkpath= c: ,@bkfname= db_DATE\_df.bak ,@bktype= DF
--备份当前数据库日志
exec p_backupdb @bkpath= c: ,@bkfname= db_DATE\_log.bak ,@bktype= LOG
--*/
if exists (select * from dbo.sysobjects where id = object_id(N [dbo].[p_backupdb] ) and OBJECTPROPERTY(id, N IsProcedure ) = 1)
drop procedure [dbo].[p_backupdb]
GO
create proc p_backupdb
@dbname sysname= , --要备份的数据库名称,不指定则备份当前数据库
@bkpath nvarchar(260)= , --备份文件的存放目录,不指定则使用SQL默认的备份目录
@bkfname nvarchar(260)= , --备份文件名,文件名中可以用DBNAME代表数据库名,DATE代表日期,TIME代表