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--