7 个解决方案
#1
备份-〉恢复
#2
备份,然后改名还原
#3
完全备份--还原--
比较稳妥一点
比较稳妥一点
#4
或者復制mdf,ldf
然後附加
#5
1、分离->复制文件->附加
2、如上,备份,还原,然后改名
3、数据库复制
4、数据导入导出
5、生成数据库脚本,然后另一数据库执行
2、如上,备份,还原,然后改名
3、数据库复制
4、数据导入导出
5、生成数据库脚本,然后另一数据库执行
#6
--导出所有脚本(不包括数据信息):包括:存储过程、函数、表脚本。
--注意: sql server 2000 下需要sp3以上的补丁。才能正确运行。
Create PROC P_GetJenerateCurrentDBObjectsScript
@ServerName varchar(20)='', --要备份的服务器名称,不指定则备份当前服务器
@dbname varchar(20)='', --要备份的数据库名称,不指定则备份当前数据库
@Password varchar(20)='', --密码
@BackupPath varchar(200)='D:\数据库脚本备份\' --文件保存路径
As
Begin
declare @Path varchar(400),@Cmd varchar(1000)
exec master.dbo.xp_regread
'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\MSSQLSERVER\setup',
'SQLPath',@Path output
set @Path = ''''+replace(@Path,':\',':\"')+'"' + '\Upgrade\scptxfr.exe'
set @Cmd='master.dbo.xp_cmdshell '+@Path
if isnull(@ServerName,'')='' set @ServerName=@@ServerName
if isnull(@dbname,'')='' set @dbname=DB_NAME()
--生成文件夹和目录
set @Cmd=@Cmd+N' /s '+@ServerName+' /d '+@dbname+' /p '+@Password+' /I /f '
set @BackupPath='MD '+@BackupPath+''+@dbname+''
exec master..xp_cmdshell @BackupPath
--生成数据库脚本
set @Cmd=@Cmd+N''+REPLACE(@BackupPath,'MD','')+'\'+convert(varchar(10),getdate(),112)+'.sql'''
exec(@Cmd)
End
GO
--调用:
P_GetJenerateCurrentDBObjectsScript '服务器','数据库','密码','D:\数据库脚本备份\'
--注意: sql server 2000 下需要sp3以上的补丁。才能正确运行。
Create PROC P_GetJenerateCurrentDBObjectsScript
@ServerName varchar(20)='', --要备份的服务器名称,不指定则备份当前服务器
@dbname varchar(20)='', --要备份的数据库名称,不指定则备份当前数据库
@Password varchar(20)='', --密码
@BackupPath varchar(200)='D:\数据库脚本备份\' --文件保存路径
As
Begin
declare @Path varchar(400),@Cmd varchar(1000)
exec master.dbo.xp_regread
'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\MSSQLSERVER\setup',
'SQLPath',@Path output
set @Path = ''''+replace(@Path,':\',':\"')+'"' + '\Upgrade\scptxfr.exe'
set @Cmd='master.dbo.xp_cmdshell '+@Path
if isnull(@ServerName,'')='' set @ServerName=@@ServerName
if isnull(@dbname,'')='' set @dbname=DB_NAME()
--生成文件夹和目录
set @Cmd=@Cmd+N' /s '+@ServerName+' /d '+@dbname+' /p '+@Password+' /I /f '
set @BackupPath='MD '+@BackupPath+''+@dbname+''
exec master..xp_cmdshell @BackupPath
--生成数据库脚本
set @Cmd=@Cmd+N''+REPLACE(@BackupPath,'MD','')+'\'+convert(varchar(10),getdate(),112)+'.sql'''
exec(@Cmd)
End
GO
--调用:
P_GetJenerateCurrentDBObjectsScript '服务器','数据库','密码','D:\数据库脚本备份\'
#7
用MDF文件附加
#1
备份-〉恢复
#2
备份,然后改名还原
#3
完全备份--还原--
比较稳妥一点
比较稳妥一点
#4
或者復制mdf,ldf
然後附加
#5
1、分离->复制文件->附加
2、如上,备份,还原,然后改名
3、数据库复制
4、数据导入导出
5、生成数据库脚本,然后另一数据库执行
2、如上,备份,还原,然后改名
3、数据库复制
4、数据导入导出
5、生成数据库脚本,然后另一数据库执行
#6
--导出所有脚本(不包括数据信息):包括:存储过程、函数、表脚本。
--注意: sql server 2000 下需要sp3以上的补丁。才能正确运行。
Create PROC P_GetJenerateCurrentDBObjectsScript
@ServerName varchar(20)='', --要备份的服务器名称,不指定则备份当前服务器
@dbname varchar(20)='', --要备份的数据库名称,不指定则备份当前数据库
@Password varchar(20)='', --密码
@BackupPath varchar(200)='D:\数据库脚本备份\' --文件保存路径
As
Begin
declare @Path varchar(400),@Cmd varchar(1000)
exec master.dbo.xp_regread
'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\MSSQLSERVER\setup',
'SQLPath',@Path output
set @Path = ''''+replace(@Path,':\',':\"')+'"' + '\Upgrade\scptxfr.exe'
set @Cmd='master.dbo.xp_cmdshell '+@Path
if isnull(@ServerName,'')='' set @ServerName=@@ServerName
if isnull(@dbname,'')='' set @dbname=DB_NAME()
--生成文件夹和目录
set @Cmd=@Cmd+N' /s '+@ServerName+' /d '+@dbname+' /p '+@Password+' /I /f '
set @BackupPath='MD '+@BackupPath+''+@dbname+''
exec master..xp_cmdshell @BackupPath
--生成数据库脚本
set @Cmd=@Cmd+N''+REPLACE(@BackupPath,'MD','')+'\'+convert(varchar(10),getdate(),112)+'.sql'''
exec(@Cmd)
End
GO
--调用:
P_GetJenerateCurrentDBObjectsScript '服务器','数据库','密码','D:\数据库脚本备份\'
--注意: sql server 2000 下需要sp3以上的补丁。才能正确运行。
Create PROC P_GetJenerateCurrentDBObjectsScript
@ServerName varchar(20)='', --要备份的服务器名称,不指定则备份当前服务器
@dbname varchar(20)='', --要备份的数据库名称,不指定则备份当前数据库
@Password varchar(20)='', --密码
@BackupPath varchar(200)='D:\数据库脚本备份\' --文件保存路径
As
Begin
declare @Path varchar(400),@Cmd varchar(1000)
exec master.dbo.xp_regread
'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\MSSQLSERVER\setup',
'SQLPath',@Path output
set @Path = ''''+replace(@Path,':\',':\"')+'"' + '\Upgrade\scptxfr.exe'
set @Cmd='master.dbo.xp_cmdshell '+@Path
if isnull(@ServerName,'')='' set @ServerName=@@ServerName
if isnull(@dbname,'')='' set @dbname=DB_NAME()
--生成文件夹和目录
set @Cmd=@Cmd+N' /s '+@ServerName+' /d '+@dbname+' /p '+@Password+' /I /f '
set @BackupPath='MD '+@BackupPath+''+@dbname+''
exec master..xp_cmdshell @BackupPath
--生成数据库脚本
set @Cmd=@Cmd+N''+REPLACE(@BackupPath,'MD','')+'\'+convert(varchar(10),getdate(),112)+'.sql'''
exec(@Cmd)
End
GO
--调用:
P_GetJenerateCurrentDBObjectsScript '服务器','数据库','密码','D:\数据库脚本备份\'
#7
用MDF文件附加