SqlServer 迁移到达梦数据库 nvarcher 的避坑指南

0x01 SqlServer 生产环境的做法

在SqlServer中,通常用 nvarchar 来存储字符串类型的数据,我们生产环境大量使用该类型,数据长度一般为 nvarchar(255) 、nvarchar(2000)、nvarchar(4000)、nvarchar(max)。

其中,nvarchar(1) 可以存储:一个汉字或者一个字母。

0x02 达梦数据库中需要怎么存

达梦数据库中,在数据库安装时需要关注字符集,重点关注两种类型:GBK 和 UTF8,正确的选择关系到你后面数据是否能存下的问题。敲重点。

就数据类型而已,达梦这边主要用 varchar 和 text 类存储字符串,其中 varchar 最大能存 8188个字符,text 则能存2G的数据。

GBK 中 varchar 类型,一个汉字要占用2个字符,字母和数字占用1个字符。
UTF8 中 varchar 类型,一个汉字要占用3个字符,字母和数字占用1个字符。

这意味着,SqlServer 中原来的 nvarchar(4000) 类型转到达梦。

在 GBK 中,你要用 varchar(8000) 才能存下。
而 UTF8 中,你则需要 text 才能存下,要注意 text 虽然能存下,他是clob类型的,程序中要对应处理。

当然,还有一个要注意的问题,你在达梦需要“开启超长记录”,否则一个 nvarchar(4000) 就把一行记录的存储空间用完了。像我们业务中 SqlServer 大量的单表几百个字段根本没法玩。

0x03 小结

  1. 达梦中如无必要,请选择GBK的编码,同样的varchar能存更多中文字符。
  2. 字段多了请开启超长记录,否则一个字段用完了一行的空间。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!针对将 SQL Server 迁移达梦数据库,您可以按照以下步骤进行操作: 1. 准备工作: - 确保目标服务器上已经安装了达梦数据库,并且版本与源数据库兼容。 - 确保源数据库的备份文件可用。 2. 创建目标数据库: - 在达梦数据库中创建一个新的数据库,用于存储迁移后的数据。 3. 迁移数据: - 使用 SQL Server Management Studio 导出源数据库的结构和数据到脚本文件(.sql)。 - 打开脚本文件,将其中的 SQL语句进行适当调整以适应达梦数据库的语法规则。 - 在达梦数据库中运行修改后的脚本文件,以创建表结构并导入数据。 4. 迁移存储过程和函数: - 将 SQL Server 中的存储过程和函数的代码复制到达梦数据库中,并进行必要的语法调整和修改。 5. 迁移触发器和约束: - 将 SQL Server 中的触发器和约束的定义复制到达梦数据库中,并进行必要的语法调整和修改。 6.重新编写应用程序: - 如果您的应用程序使用了 SQL Server 特定的功能或语法,您需要对应用程序进行修改,以适应达梦数据库的特性。 请注意,在迁移过程中可能会遇到一些兼容性问题,需要根据具体情况进行解决。此外,建议在进行迁移之前先在测试环境中进行验证和测试,确保迁移后的数据库能够正常工作。 希望以上信息对您有所帮助!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值