我需要将数据库从SQL Server 2005导出到SQL脚本(就像我们在MySQL中可以轻松完成的那样)。所以我想用这样的脚本生成生成的文件
INSERT INTO ... [row 1]
INSERT INTO ... [row 2]
INSERT INTO ... [row 3]
...
任何人都可以解释我该如何逐步完成这项工作?
答案 0 :(得分:6)
实际上,从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。
祝你好运,希望这对你有所帮助。
答案 1 :(得分:0)
如果你需要整个数据库,包括模式,对象和数据,我发现最简单的方法是创建一个完整备份,然后在其他地方恢复它。 SQL Server Management Studio包含许多用于生成备份的不同选项,包括用于包括用户和脚本对象级别权限等的选项.MSDN上提供了来自SQL Server Management Studi的creating a backup和restoring from a backup的详细说明
如果您只想编写插入语句脚本以将数据复制到其他位置,那么我已成功使用此stored procedure。该脚本顶部的注释中有详细说明(向下滚动注释到示例)。基本上,一旦执行了一次存储过程,就可以使用如下命令调用proc:
EXEC sp_generate_inserts 'tableName'
答案 2 :(得分:0)
试试这个
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获得。只需在页面中稍微下来就可以找到
希望这有帮助
答案 3 :(得分:0)
答案 4 :(得分:0)
答案 5 :(得分:0)
SQL 2005中不存在此功能。但是,它是在SQL 2008中添加的,因此一种解决方案是升级。如果符合您的要求,您可以使用免费的SQL Express或低成本的SQL Developer。
否则,您需要编写程序来执行此操作,或使用第三方解决方案。