代码之家  ›  专栏  ›  技术社区  ›  levanovd

如何从SQL Server导出数据?

  •  5
  • levanovd  · 技术社区  · 15 年前

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

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

    有人能解释一下我该怎么一步一步地做吗?

    6 回复  |  直到 14 年前
        1
  •  6
  •   Chris    15 年前

    实际上,从MSSQL2005数据库导出数据最简单的方法之一是使用 SQL Server Database Publishing Toolkit 这在斯科特·古思里的博客中有详细的描述。

    此外,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 .

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

        2
  •  0
  •   Dexter    15 年前

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

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

    EXEC sp_generate_inserts 'tableName'
    
        3
  •  0
  •   Tomek Szpakowicz    15 年前

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

    Eg. RedGate或 SQLDumper .

    或者你可以自己写。

        4
  •  0
  •   priyanka.sarkar    15 年前

    试试这个

    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
  •  0
  •   devstuff    15 年前

    不久前,我写了一个脚本(vbscript)来处理这个问题。处理大多数数据类型,包括blob。

    了解了 from my site .

    Hth.

        6
  •  0
  •   RickNZ    15 年前

    此功能在SQL 2005中不存在。但是,它是在SQL 2008中添加的,所以一个解决方案是升级。如果满足您的需求,您可以使用免费的SQL Express或低成本的SQL开发人员。

    否则,您需要编写一个程序来完成它,或者使用第三方解决方案。