我需要将SQL Server 2005中的数据库导出为SQL脚本(就像我们可以轻松地在MySQL中做到的那样)。因此,我希望得到生成的脚本文件,如下所示:
INSERT INTO ... [row 1]
INSERT INTO ... [row 2]
INSERT INTO ... [row 3]
...
有人能逐步解释一下我该如何做吗?
我需要将SQL Server 2005中的数据库导出为SQL脚本(就像我们可以轻松地在MySQL中做到的那样)。因此,我希望得到生成的脚本文件,如下所示:
INSERT INTO ... [row 1]
INSERT INTO ... [row 2]
INSERT INTO ... [row 3]
...
有人能逐步解释一下我该如何做吗?
如果您需要将整个数据库(包括架构、对象和数据)复制到其他地方,我认为最简单的方法是创建完整备份,然后在其他地方还原。SQL Server Management Studio 包括许多不同的选项来生成备份,包括包含用户和脚本对象级权限等选项。有关在 SQL Server Management Studio 中 创建备份 和 从备份还原 的详细说明,请参阅 MSDN。
如果您只想脚本插入语句以将数据复制到其他地方,我使用了这个 存储过程 取得成功。该脚本顶部的注释中有详细说明(向下滚动以查看示例,跳过注意事项)。基本上,一旦执行了存储过程一次,就可以使用类似以下命令调用该存储过程:
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
从我的代码库获取。只需在页面下方稍微滚动一下,您就会找到。
希望这可以帮助到您。
SQL 2005中没有这个功能。然而,在SQL 2008中添加了此功能,因此其中一种解决方案是升级。如果符合您的要求,您可以使用免费的SQL Express或低成本的SQL Developer。
否则,您需要编写一个程序来实现它,或者使用第三方解决方案。