Sql sp_是否为所有表生成_插入?或者类似的东西
我有两个数据库。 数据库A-充满数据 数据库B-数据库A的备份,但没有数据 如何从数据库A获取所有数据并将其合并到数据库B中? 我的想法是生成整个数据的插入或其他内容Sql sp_是否为所有表生成_插入?或者类似的东西,sql,sql-server,Sql,Sql Server,我有两个数据库。 数据库A-充满数据 数据库B-数据库A的备份,但没有数据 如何从数据库A获取所有数据并将其合并到数据库B中? 我的想法是生成整个数据的插入或其他内容 谢谢请看一看。如果您正在尝试执行某些正在进行的操作,那么这将起作用,但是如果您只想执行一次,并且安装了SQL Server Management Studio,则可以让它为您执行导出/导入操作。下面是一些屏幕截图: 如果您不需要担心任何标识字段,而且这是一个一次性操作,您可以执行类似的操作,它使用sp\msforeachtable
谢谢请看一看。如果您正在尝试执行某些正在进行的操作,那么这将起作用,但是如果您只想执行一次,并且安装了SQL Server Management Studio,则可以让它为您执行导出/导入操作。下面是一些屏幕截图:
如果您不需要担心任何标识字段,而且这是一个一次性操作,您可以执行类似的操作,它使用
sp\msforeachtable
和动态SQL:
DECLARE @SQL varchar(max)
SET @SQL = '
INSERT INTO DatabaseB.? WITH (TABLOCK)
SELECT *
FROM DatabaseA.?'
exec sp_MSforeachtable @SQL
OP说:
数据库中充满了触发器和
约束条件
只需将一个数据库的完整备份还原为一个新数据库,然后使用它。由脚本创建的大量“一次性”插入将花费很长时间,会破坏您的事务日志,并且很可能由于FKs等原因而失败。数据库充满了触发器和约束,这会影响结果吗?@John-当然,如果您有FK约束,则它将不起作用,除非您运气好,并且约束都按字母顺序优先工作,例如您需要在
CC
之前的AA
之前填充BB
。否则您将遇到约束错误。