我正在使用SQL Server 2008 Management Studio,并有一个表,我想迁移到不同的db服务器。
有任何选项导出数据作为插入到SQL脚本??
我正在使用SQL Server 2008 Management Studio,并有一个表,我想迁移到不同的db服务器。
有任何选项导出数据作为插入到SQL脚本??
当前回答
如果使用SQLServer 2008R2,则需要将“Types of data”设置为“script”字段。
其他回答
下面是一个使用游标迭代源表创建数据迁移脚本的示例。
SET NOCOUNT ON;
DECLARE @out nvarchar(max) = ''
DECLARE @row nvarchar(1024)
DECLARE @first int = 1
DECLARE cur CURSOR FOR
SELECT '(' + CONVERT(CHAR(1),[Stage]) + ',''' + [Label] + ''')'
FROM CV_ORDER_STATUS
ORDER BY [Stage]
PRINT 'SET IDENTITY_INSERT dbo.CV_ORDER_STATUS ON'
PRINT 'GO'
PRINT 'INSERT INTO dbo.CV_ORDER_STATUS ([Stage],[Label]) VALUES';
OPEN cur
FETCH NEXT FROM cur
INTO @row
WHILE @@FETCH_STATUS = 0
BEGIN
IF @first = 1
SET @first = 0
ELSE
SET @out = @out + ',' + CHAR(13);
SET @out = @out + @row
FETCH NEXT FROM cur into @row
END
CLOSE cur
DEALLOCATE cur
PRINT @out
PRINT 'SET IDENTITY_INSERT dbo.CV_ORDER_STATUS OFF'
PRINT 'GO'
在对象资源管理器的SSMS中,右键单击数据库,右键选择“任务”,然后选择“生成脚本”。
这将允许您为单个或所有表生成脚本,其中一个选项是“脚本数据”。如果您将其设置为TRUE,向导将为您的数据生成一个带有INSERT INTO()语句的脚本。
如果使用2008 R2或2012,它被称为其他东西,请参阅下面的截图
2008 R2或更高版本,例如2012
选择“脚本的数据类型”,可以是“仅数据”,“模式和数据”或“仅模式”-默认值)。
然后在Codeplex上有一个“SSMS插件”包(包括源代码),它承诺几乎相同的功能和更多的功能(如快速查找等)。
只是更新屏幕截图来帮助其他人,因为我使用的是更新的v18,大约2019年。
在这里,您可以选择某些表或使用所有默认表。出于我自己的需要,我只指出了一个表。
接下来,有“脚本选项”,你可以选择输出文件,等等。与上面的多个答案一样(再次强调,我只是为更新的v18.4 SQL Server Management Studio去掉旧答案),我们真正想要的是在“Advanced”按钮下面。出于我自己的目的,我只需要数据。
最后,在执行前有一个审查总结。执行后,将显示操作状态报告。
为了过于明确的无脑,在听从marc_s的指示到这里之后…
在对象资源管理器的SSMS中,右键单击数据库 右键选择“任务”,然后选择“生成脚本”。
... 然后我看到一个向导屏幕,上面有“介绍、选择对象、设置脚本选项、摘要和保存或发布脚本”,底部有“上一步”、“下一步”、“完成”和“取消”按钮。
在Set Scripting Options步骤中,您必须单击“Advanced”以获得带有选项的页面。然后,正如Ghlouw提到的,您现在选择“要脚本的数据类型”并获利。
如果使用SQLServer 2008R2,则需要将“Types of data”设置为“script”字段。