Sql server 将从sys.tables中选择的表复制到新数据库

Sql server 将从sys.tables中选择的表复制到新数据库,sql-server,Sql Server,注意:-我有一个包含数千个表的数据库(DB) 我想将所有名为“TableType1%”的表复制到一个新数据库(DB) 我可以很容易地得到表的列表: select * from sys.tables t where schema_name(t.schema_id) = 'S1' AND [name] LIKE 'TableType1%' 但是如何将它们复制到新的数据库(DB) 我无法手动执行此操作,因为表太多 我想使用 INSERT INTO.... 键入语句,但不知道如何将其放入上面的Sel

注意:-我有一个包含数千个表的数据库(DB)

我想将所有名为“TableType1%”的表复制到一个新数据库(DB)

我可以很容易地得到表的列表:

select * from sys.tables t
where schema_name(t.schema_id) = 'S1' AND [name] LIKE 'TableType1%'
但是如何将它们复制到新的数据库(DB)

我无法手动执行此操作,因为表太多

我想使用

INSERT INTO....
键入语句,但不知道如何将其放入上面的Select语句中

Select * into DestinationDB from SourceDB.sys.tables where name like 'TableType1%'

注意:-在数据库(DestinationDB)中,使用源数据库(SourceDB)中相同的名称创建物理表。

复制什么?结构?数据?二者都需要更多信息。为什么不在SSMS中使用data migration assistant?或者还原数据库的副本并删除所有不需要的表。我想复制结构,而data40G对于现代数据库或光盘来说不算什么。恢复数据库可能只需要10-15分钟。然后可以轻松地利用sys.tables为不需要的表生成一组drop语句。这将是少数几次在之后截断日志会有意义的情况之一。