如何使用 SQL Management Studio 在数据库之间传输所有表?

发布于 2024-09-15 05:46:25 字数 264 浏览 4 评论 0原文

当我右键单击要从中导出数据的数据库时,我只能选择单个表或视图,而不能导出所有数据。有没有办法导出所有数据?

如果这是不可能的,您能否建议我如何执行以下操作:

  • 我有两个数据库,具有相同的表名,但一个数据库比另一个数据库有更多数据
  • 它们都有不同的数据库名称(表名称相同)
  • 它们是两者都在不同的服务器上,

我需要将所有附加数据从较大的数据库获取到较小的数据库中。

两者都是 MS SQL 数据库

When I right click on the database I want to export data from, I only get to select a single table or view, rather than being able to export all of the data. Is there a way to export all of the data?

If this is not possible, could you advise on how I could do the following:

  • I have two databases, with the same table names, but one has more data than the other
  • They both have different database names (Table names are identical)
  • They are both on different servers

I need to get all of the additional data from the larger database, into the smaller database.

Both are MS SQL databases

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

猫七 2024-09-22 05:46:25

由于两者都是 MS SQL Server,位于不同的主机上...当您可以设置 链接服务器实例,以便您可以通过 SQL 语句从一个实例访问另一个实例?

  1. 确保您在要从中检索数据的实例上拥有有效用户 - 它必须有权访问表
  2. 创建链接服务器实例
  3. 使用四种名称语法在查询中引用名称:

    插入 db1.dbo.SmallerTable
    选择 *
      来自 linked_server.db.dbo.LargerTable lt
     不存在的地方(选择 NULL
                        来自 db1.dbo.SmallerTable st
                       其中 st.col = lt.col) 
    

WHERE st.col = lt.col 替换为您认为两个表之间重复值的任何条件。

Being that both are MS SQL Servers, on different hosts... why bother with CSV when you can setup a Linked Server instance so you can access one instance from the other via a SQL statement?

  1. Make sure you have a valid user on the instance you want to retrieve data from - it must have access to the table(s)
  2. Create the Linked Server instance
  3. Reference the name in queries using four name syntax:

    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) 
    

Replace WHERE st.col = lt.col with whatever criteria you consider to be duplicate values between the two tables.

你的背包 2024-09-22 05:46:25

Redgate 软件还有一个非常好的工具,可以在两个数据库之间同步数据。

我之前还使用过 SQL 脚本编写器 生成一个带有插入语句的 SQL 文件,您可以在另一个文件上运行该文件数据库来插入数据。

There is also a very good tool by Redgate software that syncs data between two databases.

I've also used SQL scripter before to generate a SQL file with insert statements that you can run on the other database to insert the data.

放肆 2024-09-22 05:46:25

如果右键单击数据库,在“任务”菜单下,可以使用“生成脚本”选项为所有表和数据生成 SQL 脚本。请参阅此博客文章了解详细信息。如果您想将第二个数据库与第一个数据库同步,那么您最好使用 mpenrow 的答案中建议的 Redgate 之类的东西。

If you right-click on the database, under the Tasks menu, you can use the Generate Scripts option to produce SQL scripts for all the tables and data. See this blog post for details. If you want to sync the second database with the first, then you're better off using something like Redgate as suggested in mpenrow's answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文