我正在使用SQL Server 2008 Management Studio并且有一个我想要迁移到其他数据库服务器的表。

有没有选项将数据导出为插入SQL脚本?


#1楼

您还可以从以下位置查看SQL Server Management Studio 2008的“Data Scripter Add-In”:

http://www.mssql-vehicle-data.com/SSMS


他们的功能列表:

  • 它是在SSMS 2008上开发的,目前不支持2005版本(很快!)

  • 将数据快速导出到T-SQL以获取MSSQL和MySQL语法

  • 还支持CSV,TXT,XML! 充分利用SQL提供的全部潜力,力量和速度。

  • 不要等待Access或Excel为您执行可能需要几分钟时间的脚本工作 - 让SQL Server为您执行此操作并完成导出数据的所有猜测工作!

  • 自定义数据输出以进行快速备份,DDL操作等......

  • 快速有效地更改表名称和数据库模式以满足您的需求

  • 导出列名称或只生成没有名称的数据。

  • 您可以选择单个列来编写脚本。

  • 您可以选择数据子集(WHERE子句)。

  • 您可以选择数据排序(ORDER BY子句)。

  • 对于那些需要数据操作的低级数据库调试操作而言,它具有出色 在试验期间不要丢失数据。 即时操作数据!


#2楼

为了过度明显的无脑,在遵循marc_s的指示到这里 ...

在对象资源管理器的SSMS中,右键单击数据库,右键单击并选择“任务”,然后选择“生成脚本”。

...然后我看到一个向导屏幕,其中包含“ 简介,选择对象,设置脚本选项,摘要和保存或发布脚本 ”,底部带有上一个,下一个,完成,取消按钮。

在“ 设置脚本选项”步骤中 ,您必须单击“高级”以获取包含选项的页面。 然后,正如Ghlouw所提到的,您现在选择“脚本数据类型”并获利。


#3楼

在对象资源管理器的SSMS中,右键单击数据库,右键单击并选择“任务”,然后选择“生成脚本”。

这将允许您为单个或所有表生成脚本,其中一个选项是“脚本数据”。 如果将其设置为TRUE,则向导将为您的数据生成带有INSERT INTO()语句的脚本。

如果使用2008 R2或2012,则称为其他内容,请参阅此下面的屏幕截图

2008 R2或更高版本,例如2012

选择“脚本数据类型”,可以是“仅数据”,“架构和数据”或“仅架构” - 默认值)。

然后在Codeplex(包括源代码)上有一个“ SSMS Addin ”包,它承诺几乎相同的功能和更多(如快速查找等)


#4楼

如果您使用SQLServer 2008R2,则需要将数据类型设置为脚本字段。


#5楼

以上所有都很好,但如果你需要

  1. 从具有连接的多个视图和表导出数据
  2. 为不同的RDBMS创建插入语句
  3. 将数据从任何RDBMS迁移到任何RDBMS

然后以下技巧是唯一的方法。

首先学习如何从源db命令行客户端创建假脱机文件或导出结果集。 其次学习如何在目标数据库上执行sql语句。

最后,通过在源数据库上运行sql脚本,为目标数据库创建insert语句(以及任何其他语句)。 例如

SELECT '-- SET the correct schema' FROM dual;
SELECT 'USE test;' FROM dual;
SELECT '-- DROP TABLE IF EXISTS' FROM dual;
SELECT 'IF OBJECT_ID(''table3'', ''U'') IS NOT NULL DROP TABLE dbo.table3;' FROM dual;
SELECT '-- create the table' FROM dual;
SELECT 'CREATE TABLE table3 (column1 VARCHAR(10), column2 VARCHAR(10));' FROM dual;SELECT 'INSERT INTO table3 (column1, column2) VALUES (''', table1.column1, ''',''', table2.column2, ''');' FROM table1 JOIN table2 ON table2.COLUMN1 = table1.COLUMN1;

上面的示例是为Oracle的db创建的,其中无表选择需要使用dual。

结果集将包含目标db的脚本。


#6楼

下面是使用游标创建数据迁移脚本以迭代源表的示例。

SET NOCOUNT ON;
DECLARE @out nvarchar(max) = ''
DECLARE @row nvarchar(1024)
DECLARE @first int = 1DECLARE cur CURSOR FOR SELECT '(' + CONVERT(CHAR(1),[Stage]) + ',''' + [Label] + ''')'FROM CV_ORDER_STATUSORDER 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 curINTO @rowWHILE @@FETCH_STATUS = 0
BEGINIF @first = 1SET @first = 0ELSESET @out = @out + ',' + CHAR(13);SET @out = @out + @rowFETCH NEXT FROM cur into @row
ENDCLOSE cur
DEALLOCATE curPRINT @outPRINT 'SET IDENTITY_INSERT dbo.CV_ORDER_STATUS OFF'
PRINT 'GO'

#7楼

对于那些寻找命令行版本的人,微软发布了mssql-scripter来做到这一点:

$ pip install mssql-scripter# Generate DDL scripts for all database objects and DML scripts (INSERT statements)
# for all tables in the Adventureworks database and save the script files in
# the current directory
$ mssql-scripter -S localhost -d AdventureWorks -U sa --schema-and-data \-f './' --file-per-object

#8楼

搜索了很多,这是我最好的镜头:

如果您有大量数据并且需要紧凑而优雅的脚本,请尝试: SSMS Tools Pack

它生成一个union all select语句,用于将项插入目标表并很好地处理事务。

截图


#9楼

对于SQl服务器Mng Studio 2016:


#10楼

如果您正在运行SQL Server 2008 R2,则内置选项可以在SSMS中执行此操作,因为上面描述的marc_s稍有改动。 现在,在“表/视图选项”分组的正上方有一个名为"Types of data to script"的新选项,而不是像他的图表中所示选择Script data = true 。 在这里,您可以选择仅脚本数据,仅脚本和数据或模式。 奇迹般有效。

导出数据在SQL Server中作为INSERT INTO相关推荐

  1. 使用T-SQL导入多个文件数据到SQL Server中一文的疑惑

    - 今天,由于毕业论文需要,我想弄数据转换,所以看了一看T-SQL,oracle实在没时间去学,好在SQL我还是很熟悉,所以打算看一看,写一些存储过程来完成任务. 我无意中在csdn上找到这样一篇文章 ...

  2. sql数据透视_SQL Server中的数据科学:取消数据透视

    sql数据透视 In this article, in the series, we'll discuss understanding and preparing data by using SQL ...

  3. 细说SQL Server中的加密

    简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程.在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在 ...

  4. 如何对SQL Server中的XML数据进行insert、update、delete .

    SQL Server 2005/2008增加了对XML数据的支持,同时也新增了几种操作XML的方法,本文主要以SQL Server 2008为例介绍如何对XML数据进行insert.update.de ...

  5. SQL Server中采用BULK INSERT实现大数据量文本文件批量导入

    SQL语句: BULK   INSERT   dbo.table        FROM   'e:/test.tbl '        WITH                (           ...

  6. 从TXT文本文档向Sql Server中批量导入数据

    因为工作的需要,近期在做数据的分析和数据的迁移.在做数据迁移的时候需要将原有的数据导入到新建的数据库中.本来这个单纯的数据导入导出是没有什么问题的,但是客户原有的数据全部都是存在.dat文件中的.所以 ...

  7. 在SQL Server中sqlserver,access,excel之间数据如何使用sql语句直接操作

    所谓的数据传输,其实是指SQLServer访问Access.Excel间的数据. 为什么要考虑到这个问题呢? 由于历史的原因,客户以前的数据很多都是在存入在文本数据库中,如Acess.Excel.Fo ...

  8. 在SQL Server中批量复制,导入和导出的技术

    The process of importing or exporting large amounts of data into a SQL Server database, is referred ...

  9. 在AWS RDS SQL Server中恢复数据

    This article explores the process to recover data in AWS RDS SQL Server and its recent enhancements. ...

最新文章

  1. 马斯克现场直播介绍他的脑机接口公司Neuralink最新进展
  2. 读书笔记 - 《重新定义公司:谷歌是如何运营的》
  3. java消费者和生产者模型_Java实现简易生产者消费者模型过程解析
  4. PHP——MySQL数据库分页查询
  5. Little Sub and Johann
  6. Pycharm社区版安装教程(永久免费,随时升级)
  7. 64位userdata.dll丢失_有什么一劳永逸解决私钥丢失的方法吗?
  8. JS判断两种格式的输入日期的正确性
  9. 这真不是网友P的图?雷军微博曝光小米9 SE真机图 彩虹小米有点炫酷
  10. 机器人汉堡店即将开业,做一个汉堡需要5分钟
  11. JDK1.8下载安装(Windows版)
  12. PowerDesigner修改设置表格背景色
  13. 【总结整理】关于挪车和虚拟号的思考-转载v2ex
  14. win10政府专供版下载正式版附激活码 32位/64位
  15. java jar 启动好慢_Tomcat启动很慢,提示“At least one JAR was scanned for TLDs yet contained no TLDs.”...
  16. 格调高又小众的EPUB 阅读器(转载)
  17. CSS样式怎样修改滚动条的样式
  18. 解决TP-LINK TL-WR740N 联网问题
  19. mp4视频 一帧字节大小
  20. 故宫真相关于长高在青春期显露了一个老临

热门文章

  1. 深入Java泛型(一):作用与定义
  2. 算法--------二叉树的中序遍历
  3. 【剑指offer-Java版】39二叉树的深度
  4. php 多图上传编辑器,laravel中使用WangEditor及多图上传
  5. 慕课乐学python单元测试答案_乐学Python_章节测验,期末考试,慕课答案查询公众号...
  6. python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...
  7. 基本表改变视图不改变为什么_中国白酒包装是真的很丑吗,为什么不改变包装?...
  8. 【Javascript基础】
  9. Flutter开发之HTTP网络请求:HttpClient(26)
  10. Postman--Pre-request执行其他接口