当我右键单击要从中导出数据的数据库时,我只能选择单个表或视图,而不是能够导出所有数据。有没有办法导出所有数据?
如果无法做到这一点,您能告诉我如何做到以下几点:
我需要从较大的数据库中获取所有其他数据到较小的数据库中。
两者都是MS SQL数据库
答案 0 :(得分:5)
由于这两者都是MS SQL Server,在不同的主机上......当你可以设置Linked Server instance时,为什么还要使用CSV来解决这个问题?所以你可以通过SQL语句从另一个实例访问一个实例?
使用四种名称语法在查询中引用名称:
INSERT INTO db1.dbo.SmallerTable
SELECT *
FROM linked_server.db.dbo.LargerTable lt
WHERE NOT EXISTS(SELECT NULL
FROM db1.dbo.SmallerTable st
WHERE st.col = lt.col)
将WHERE st.col = lt.col
替换为您认为是两个表之间重复值的任何条件。
答案 1 :(得分:3)
Redgate软件还有一个非常好的工具可以在两个数据库之间同步数据。
之前我还使用SQL scripter来生成带有insert语句的SQL文件,您可以在其他数据库上运行以插入数据。
答案 2 :(得分:0)
如果右键单击数据库,则在“任务”菜单下,可以使用“生成脚本”选项为所有表和数据生成SQL脚本。有关详细信息,请参阅此blog post。如果你想将第二个数据库与第一个数据库同步,那么你最好使用类似于Redgate的东西,如mpenrow的答案所示。