SQL Server 数据库维护脚本合集[003]-数据库之间数据导入

--*****************************************************************************
-- @作    者:  qwu;
-- @用    途:  遍历一个数据库的所有表并导出数据到另一个数据库;
-- @版    本:  v1.0
-- @创建日期:  2011-3-23;
-- @用    法:  @SourceDB='[源数据库]',@TargetDB='[目标数据库]'
-- @注    意:  1.表定义和约束不会复制;
--        2.保险起见,数据库前后加上方括号;
--        3.如果源数据库在另外一台机器上,需要在本地建立一个服务器
--           链接,假设链接名为L,则使用[L].[目标数据库]的方式;
-- @修改历史:  2011-3-23 qwu 创建;
--*****************************************************************************

--BEGIN--
BEGIN TRAN
DECLARE @SourceDB nvarchar(1000)
DECLARE @TargetDB nvarchar(1000)
select @SourceDB='[源数据库]'
select @TargetDB='[目标数据库]'

--遍历一个数据库的所有表并导出数据到另一个数据库;
declare @tbname varchar(50)
declare tbroy cursor for select name from sysobjects where xtype= 'u' --第一个游标遍历所有的表
open tbroy
fetch next from tbroy into @tbname
while @@fetch_status=0
begin
declare @sql nvarchar(1000)
select @sql='select * into '+ @TargetDB+'.dbo.'+@tbname+ ' from '+@SourceDB+'.dbo.'+@tbname
print @sql
begin try
exec sp_executesql @sql
end try
begin catch
end catch
fetch next from tbroy into @tbname
end
close tbroy
deallocate tbroy

ROLLBACK
--END--

posted @ 2011-03-27 18:14  小肥侠  阅读(256)  评论(0编辑  收藏  举报