【问题标题】:How can I export data from SQL Server?如何从 SQL Server 导出数据?
【发布时间】:2009-11-24 02:07:32
【问题描述】:

我需要将数据库从 SQL Server 2005 导出到 SQL 脚本(就像我们在 MySQL 中可以轻松做到的那样)。所以我想用这样的脚本生成文件

INSERT INTO ... [row 1]
INSERT INTO ... [row 2]
INSERT INTO ... [row 3]
...

谁能解释我如何一步一步地做到这一点?

【问题讨论】:

    标签: sql sql-server export


    【解决方案1】:

    实际上,从 MSSQL 2005 数据库中导出数据的一种简单方法是使用 SQL Server Database Publishing Toolkit,在 Scott Guthrie 的博客中有详细描述。

    此外,SQL 数据库发布工具包源自 SQL 2005 中已内置的工具。文章Create Script to Copy Database Schema and All The Objects – Stored Procedure, Functions, Triggers, Tables, Views, Constraints and All Other Database Objects 将引导您完成编写数据库项目脚本的不同步骤。

    另一个从 SQL 2005 工具派生的工具是 Database Publishing Wizard,它是一个命令行工具,它可以将数据库的所有项目编写成脚本。

    阅读的最后一个链接告诉如何Use the Database Publishing Wizard to script your table data

    祝你好运,希望这对你有帮助。

    【讨论】:

    • 不错的实用程序,当然,但它需要单独安装,并且需要 Visual Studio 或 Visual Web Developer。实际上,我需要从我开发的某个组织中获取数据库。由于某些原因,安装新软件非常困难。所以我更喜欢一些与 MS SQL Server 2005 一起提供的工具或不需要安装的工具。
    • 除了我之前的评论:我忘记了 SQL Management Studio 工具也可用,因为他们已经安装了它。
    • 添加到 Management Studio 工具和命令行工具的附加链接。
    【解决方案2】:

    如果您需要获取整个数据库,包括架构、对象和数据,我发现最简单的方法是创建完整备份,然后在其他地方恢复。 SQL Server Management Studio 包含许多不同的选项来生成备份,包括包含用户和脚本对象级别权限等的选项。SQL Server Management Studi 的creating a backuprestoring from a backup 的详细说明可在 MSDN 上找到。

    如果您只想编写插入语句以将数据复制到其他地方,我已经成功使用了 stored procedure。该脚本顶部的 cmets 中有详细说明(向下滚动到示例的注释)。基本上,一旦你执行了一次存储过程,你就可以使用如下命令调用 proc:

    EXEC sp_generate_inserts 'tableName'
    

    【讨论】:

      【解决方案3】:

      SQL Server Management Studio 没有此功能。你需要一些第三方工具。

      例如。 RedGate 或SQLDumper

      或者你可以自己写。

      【讨论】:

        【解决方案4】:

        试试这个

        SELECT 'EXEC sp_generate_inserts ' + 
        '[' + name + ']' + 
        ',@owner = ' + 
        '[' + RTRIM(USER_NAME(uid)) + '],' + 
        '@ommit_images = 1, @disable_constraints = 1'
        FROM sysobjects 
        WHERE type = 'U' AND 
        OBJECTPROPERTY(id,'ismsshipped') = 0
        

        My code library 获得。只需在页面中向下一点,您就会发现

        希望对你有帮助

        【讨论】:

          【解决方案5】:

          我不久前通过编写脚本 (VBScript) 来处理这个问题。处理大多数数据类型,包括 blob。

          得到它from my site

          HTH。

          【讨论】:

            【解决方案6】:

            此功能在 SQL 2005 中不存在。但是,它是在 SQL 2008 中添加的,因此一种解决方案是升级。如果满足您的要求,您可以使用免费的 SQL Express 或低成本的 SQL Developer。

            否则,您需要编写程序来执行此操作,或使用第三方解决方案。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-06-04
              • 1970-01-01
              • 1970-01-01
              • 2014-03-09
              • 2013-06-08
              • 2013-04-05
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多