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