结构相同的数据库之间复制数据 无 use oldgodeclare nocheckconstraintall cursor read_only for select sst.name, schema_name(sst.schema_id) from sys.tables sst where sst.type = 'u' declare @name varchar(80), @schema varchar(40)open nocheckconstr
结构相同的数据库之间复制数据 use oldgodeclare nocheckconstraintall cursor read_only for select sst.name, schema_name(sst.schema_id) from sys.tables sst where sst.type = 'u' declare @name varchar(80), @schema varchar(40)open nocheckconstraintallfetch next from nocheckconstraintall into @name, @schemawhile ( @@fetch_status -1 ) begin if ( @@fetch_status -2 ) begin declare @sql nvarchar(1024) set @sql=' alter table ' + quotename(@schema) + '.' + quotename(@name)+' nocheck constraint all' exec sp_executesql @sql end fetch next from nocheckconstraintall into @name, @schema endclose nocheckconstraintalldeallocate nocheckconstraintallgodeclare copytables cursor read_only for select sst.name, schema_name(sst.schema_id) from sys.tables sst where sst.type = 'u' declare @name varchar(80), @schema varchar(40)open copytablesfetch next from copytables into @name, @schemawhile ( @@fetch_status -1 ) begin if ( @@fetch_status -2 ) begin declare @sql nvarchar(1024) set @sql='insert into [new].' + quotename(@schema) + '.' + quotename(@name)+' select * from '+ quotename(@schema) + '.' + quotename(@name) exec sp_executesql @sql end fetch next from copytables into @name, @schema endclose copytablesdeallocate copytablesgodeclare checkconstraintall cursor read_only for select sst.name, schema_name(sst.schema_id) from sys.tables sst where sst.type = 'u' declare @name varchar(80), @schema varchar(40)open checkconstraintallfetch next from checkconstraintall into @name, @schemawhile ( @@fetch_status -1 ) begin if ( @@fetch_status -2 ) begin declare @sql nvarchar(1024) set @sql=' alter table ' + quotename(@schema) + '.' + quotename(@name)+' check constraint all' exec sp_executesql @sql end fetch next from checkconstraintall into @name, @schema endclose checkconstraintalldeallocate checkconstraintallgo
