首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sqlserver2005备份解决方案

2012-06-06 
sqlserver2005备份sqlserver2005中如何备份数据库中的某几张表?[解决办法]建新一个库,用导入导出工具导出

sqlserver2005备份
sqlserver2005中如何备份数据库中的某几张表?

[解决办法]
建新一个库,用导入导出工具导出你要备份的表到新建的库,再备份刚建的库。
[解决办法]
把这几张表导入另外的一个新建的数据库 然后备份
[解决办法]

SQL code
/*--备份指定表到另一数据库    备份指定数据库中的指定表列表到一个新的数据库--邹建 2003.12--*//*--调用示例    --备份数据当前数据库的所有内容    exec p_backupdatabase        --备份当前数据库的指定表    exec p_backupdatabase @tblist='tb,tb1,tb2'--*/if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_BackupDataBase]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[p_BackupDataBase]GOCREATE PROCEDURE p_BackupDataBase@s_dbname sysname='',            --要备份的数据库名,如果不指定,则备份当前数据库@d_dbname sysname='',            --备份生成的数据库名,如果不指定,则为:@s_dbname+'_bak'@tblist varchar(8000)=''        --要备份的表名列表,如果不指定,则表示所有用户表ASdeclare @sql varchar(8000),@err_msg varchar(1000)--参数检测if isnull(@s_dbname,'')='' set @s_dbname=db_name()if isnull(@d_dbname,'')='' set @d_dbname=@s_dbname+'_bak'if exists(select 1 from master..sysdatabases where name=@d_dbname)begin    set @err_msg='备份的数据库 ['+@d_dbname+'] 已经存在!'    goto lb_exitendif not exists(select 1 from master..sysdatabases where name=@s_dbname)begin    set @err_msg='要备份的数据库 ['+@d_dbname+'] 不存在!'    goto lb_exitend--创建备份的数据库set @sql='create database ['+@d_dbname+']'exec(@sql)--备份表declare @tbname sysnameset @sql='declare tb cursor forselect name from ['+@s_dbname+']..sysobjects where status>0 and xtype=''U'''+case isnull(@tblist,'') when '' then ''     else ' and name in('''+replace(@tblist,',',''',''')+''')' endexec(@sql)open tbfetch next from tb into @tbnamewhile @@fetch_status=0begin    set @sql='select * into ['+@d_dbname+']..['+@tbname        +'] from ['+@s_dbname+']..['+@tbname+']'    exec(@sql)    fetch next from tb into @tbnameendclose tbdeallocate tblb_exit:    if @err_msg<>'' raiserror(@err_msg,1,16)go 

热点排行