导入来自早期版本的 SQL Server 的本机格式数据和字符格式数据

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

在 SQL Server 2014 中,您可以通过将 bcp 与 -V 开关一起使用,从 SQL Server 2000、SQL Server 2005、SQL Server 2008、SQL Server 2008 R2 或 SQL Server 2012 中导入本机和字符格式数据。 -V 开关将使 SQL Server 2014 使用指定的 SQL Server 早期版本中的数据类型,并且数据文件格式与早期版本中的格式相同。

 

若要为数据文件指定 SQL Server 早期版本,可将 -V 开关与以下的任一限定符一起使用:

SQL Server 版本

限定符

SQL Server 2000

-V 80

SQL Server 2005

-V 90

SQL Server 2008

-V 100

SQL Server 2012

-V 110

 

对数据类型的解释


SQL Server 2005 及更高版本均支持一些新的类型。 如果要将新的数据类型导入到 SQL Server 早期版本中,则必须以早期的 bcp 客户端可读的格式存储该数据类型。 下表总结了如何转换新数据类型以便与早期版本的 SQL Server 兼容。

 

SQL Server 2005 中的新数据类型

版本 6x 兼容的数据类型

版本 70 中兼容的数据类型

版本 80 中兼容的数据类型

bigint

decimal

decimal

*

sql_variant

text

nvarchar(4000)

*

varchar(max)

text

text

text

nvarchar(max)

ntext

ntext

ntext

varbinary(max)

image

image

image

XML

ntext

ntext

ntext

UDT

image

image

image

* 此类型受本机支持。

UDT 表示用户定义的类型。

 

使用 –V 80 进行导出


当使用 –V80 开关批量导出数据时,本机模式下的 nvarchar(max)、varchar(max)、varbinary(max)、XML 和 UDT 数据将像 text、image 和 ntext 数据一样以带有 4 个字节的前缀形式存储,而不是像 SQL Server 2005 及更高版本默认的那样以带有 8 个字节的前缀形式存储。

 

复制日期值


bcp 将使用 ODBC 大容量复制 API。 因此,为了将日期值导入到 SQL Server 中,bcp 使用了 ODBC 日期格式 (yyyy-mm-dd hh:mm:ss[.f...])。

 

对于字符格式的数据文件,bcp 命令会为 datetime 和 smalldatetime 类型的值使用 ODBC 默认格式将文件导出。 例如,包含日期 12 Aug 1998 的 datetime 列将以字符串 1998-08-12 00:00:00.000 的形式大容量复制到数据文件中。

 

重要提示

在使用 bcp 将数据导入到 smalldatetime 字段中时,请确保秒数值为 00.000,否则操作将失败。 smalldatetime 数据类型仅支持最接近的分钟值。 BULK INSERT 和 INSERT ... SELECT * FROM OPENROWSET(BULK...) 在这种情况下不会失败,但会截断秒值。


参考:

https://msdn.microsoft.com/zh-cn/library/ms191212.aspx
















本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1628106,如需转载请自行联系原作者

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
数据库导入SQL文件:全面解析与操作指南
在数据库管理中,将SQL文件导入数据库是一个常见且重要的操作。无论是迁移数据、恢复备份,还是测试和开发环境搭建,掌握如何正确导入SQL文件都至关重要。本文将详细介绍数据库导入SQL文件的全过程,包括准备工作、操作步骤以及常见问题解决方案,旨在为数据库管理员和开发者提供全面的操作指南。一、准备工作在导
290 0
|
24天前
|
SQL 存储 缓存
SQL Server 数据太多如何优化
11种优化方案供你参考,优化 SQL Server 数据库性能得从多个方面着手,包括硬件配置、数据库结构、查询优化、索引管理、分区分表、并行处理等。通过合理的索引、查询优化、数据分区等技术,可以在数据量增大时保持较好的性能。同时,定期进行数据库维护和清理,保证数据库高效运行。
|
2月前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
2月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
2月前
|
SQL 数据挖掘 数据库
SQL查询每秒的数据:技巧、方法与性能优化
id="">SQL查询功能详解 SQL(Structured Query Language,结构化查询语言)是一种专门用于与数据库进行沟通和操作的语言
|
2月前
|
SQL 监控 测试技术
SQL现在到哪个版本及版本更新技巧与方法
SQL(Structured Query Language)作为数据库管理和操作的标准语言,随着技术的不断进步和数据库管理系统(DBMS)的持续发展,其版本也在不断更新和完善
|
2月前
|
SQL 监控 数据处理
SQL数据库数据修改操作详解
数据库是现代信息系统的重要组成部分,其中SQL(StructuredQueryLanguage)是管理和处理数据库的重要工具之一。在日常的业务运营过程中,数据的准确性和及时性对企业来说至关重要,这就需要掌握如何在数据库中正确地进行数据修改操作。本文将详细介绍在SQL数据库中如何修改数据,帮助读者更好
249 4
|
2月前
|
SQL 存储 关系型数据库
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
215 1
|
2月前
|
SQL Oracle 关系型数据库
SQL数据库当前版本概览与更新趋势
在探讨SQL(Structured Query Language)数据库的当前版本时,我们首先要明确的是,SQL本身是一种查询语言标准,而并非特指某一个具体的数据库产品
|
28天前
|
SQL 关系型数据库 MySQL
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
37 0