sqlserver大表数据导入导出【bcp命令】

前言

一般情况下,我们在迁移表结构和数据时,是使用数据库工具提供的结构同步或数据同步功能,来迁移数据库或保证不同服务器数据库结构和数据的一致。但特殊情况下,比如网络不通的情况下,我们要迁移大表的数据,则只能先把大表数据导出成脚本或文件,然后再在目标服务器执行导入。本文我们主要使用bcp命令(Bulk Copy Program)来说明,如何通过bcp命令来完成大表数据的导入和导出操作。

bcp命令说明

bcp导出命令

bcp "SELECT * FROM YourTable" queryout C:\YourFile.dat -c -T -S YourServerName -d databaseName

将YourTable表中选取所有列,并将结果保存到YourFile.dat文件中。
-c参数指定输出格式为字符型;
-T参数指示使用Windows身份验证登录服务器;
-S参数后面应该提供服务器名称或IP地址;
-d参数指定数据库名称;

bcp导入命令

bcp YourTable IN C:\YourFile.dat -c -T -S YourServerName -d databaseName

将YourFile.dat文件中的内容导入到名为YourTable的表中。

sqlserver跨数据库查询mysql数据

简介

我们知道同种类型数据库,本地数据库要想和远程数据库建立连接:

  • oracle使用dblink
  • sqlserver使用链接服务器
  • mysql使用Federated引擎

大型项目尤其是高并发项目中,不推荐直接在本地数据库与远程数据库之间建立连接。但小型项目中,某些场景下使用数据库之间的连接,反而能让我们更方便的进行系统集成与数据查询。所以凡事无绝对,不同的应用场景考虑不同的技术。

本文我们主要讲述的是不同类型数据库跨库查询数据,如何在sqlserver中直接查询mysql数据。

不同类型数据库之间不能直接建立连接,在这里我们使用mysql-connector-odbc通过ODBC数据源来实现sqlserver跨数据库数据查询mysql数据。

环境说明:
sqlserver版本: Microsoft SQL Server 2008 R2 (RTM)
mysql版本: 5.7.31
mysql-connector-odbc-8.0.28-winx64.msi

使用Sql Server Management Studio 2008/2012导出SQL文件

简述

本文主要讲述使用Sql Server Management Studio 2008/2012导出sqlserver数据库全量或指定对象和数据SQL脚本。

Sql Server Management Studio 2012导出步骤同Sql Server Management Studio 2008。

本文以Sql Server Management Studio 2008版本为例截图说明。

导出SQL步骤

1、使用Sql Server Management Studio 2008连接数据库。

2、选择指定数据库,点击鼠标右键,在右键菜单中选择“任务” --> “生成脚本”,如下图示: