大容量导入或导出的数据格式 -- Unicode本机格式
发布日期:2021-08-28 13:15:46 浏览次数:14 分类:技术文章

本文共 1118 字,大约阅读时间需要 3 分钟。

大容量导入或导出的数据格式 -- Unicode本机格式

应用场景

当必须将信息从一个 Microsoft SQL Server 复制到另一个时,Unicode 本机格式将非常有用。

为非字符数据使用本机格式可以节省时间,并消除与字符格式之间不必要的数据类型转换。 在使用不同代码页的服务器之间大容量传输数据时,为所有字符数据使用 Unicode 字符格式可以防止丢失任何扩展字符。 可以通过任何大容量导入方法读取 Unicode 本机格式的数据文件。

 

通过使用包含扩展字符或 DBCS 字符的数据文件在 SQL Server 的多个实例之间大容量传输数据时,建议使用 Unicode 本机格式。 对于非字符数据,Unicode 本机格式使用本机(数据库)数据类型。 对于字符数据(如 char、nchar、varchar、nvarchar、text、varchar(max)、nvarchar(max) 和 ntext),Unicode 本机格式使用 Unicode 字符数据格式。

 

在 Unicode 本机格式数据文件中存储为 SQLVARIANT 的 sql_variant 数据的运算方式与在本机格式数据文件中的运算方式相同,只是 char 和 varchar 值需转换为 nchar 和 nvarchar,这使得受影响列的存储量加倍。 这些值的原始元数据被保留,当大容量导入到表列时,这些值将转换回其原始的 char 和 varchar 数据类型。

 

Unicode 本机格式的命令选项

您可以使用 bcp、BULK INSERT 或 INSERT ... SELECT * FROM OPENROWSET(BULK...) 将本机格式数据导入到表中。 对于 bcp 命令或 BULK INSERT 语句,您可以在命令行中指定数据格式。 对于 INSERT ... SELECT * FROM OPENROWSET(BULK...) 语句,您必须在格式化文件中指定数据格式。

 

下列选项支持 Unicode 本机格式:

命令

选项

说明

bcp

-N

使 bcp 实用工具使用 Unicode 本机格式,将为所有非字符数据使用本机(数据库)数据类型,为所有字符(char、nchar、varchar、nvarchar、text 和 ntext)数据使用 Unicode 字符数据格式。

BULK INSERT

DATAFILETYPE ='widenative'

大容量导入数据时使用 Unicode 本机格式。

参考:

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

转载地址:https://blog.csdn.net/weixin_33961829/article/details/85104915 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:使用Windows Server 2012 建立ISCSI虚拟磁盘软存储
下一篇:zabbix清空历史记录

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年03月21日 23时13分40秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章