数据库和应用迁移 UGO-Microsoft SQL Server To GaussDB配置项使用说明
Microsoft SQL Server To GaussDB 配置项使用说明
问题描述 |
配置建议 |
建议值 |
---|---|---|
SQLServer 表字段支持IDENTITY属性,但GaussDB不支持该属性,默认无法迁移。 |
建议配置”IDENTITY列“解决该类问题。 |
将IDENTITY属性列转换为SERIAL类型。 影响:序列号数据类型是四个字节的自增整数。取值范围为1至2147483647。超过这个上限,GaussDB将报错,DML语句执行失败。 |
SQLServer 表字段支持bit类型,但是GaussDB,不支持该属性,默认无法迁移。 |
建议配置“bit类型”解决该类问题。 |
将bit类型转化为boolean类型。 影响:boolean类型的取值相比bit类型多了一个“null”。 |
SQLServer支持datetimeoffset数据类型,但是GaussDB不支持, 默认转成timestamptz(二者最大秒数精度存在差异),时间函数year等转换方案处理结果在特殊情况下存在差异。 |
建议配置"datetimeoffset类型转换"解决该类问题 |
将datetimeoffset类型转换为varchar2类型。 影响:datetimeoffset类型转换为varchar2类型。 |
高斯O模式空字符串''等同于null,ISNULL等函数转换方案存在语义问题。 |
建议配置"忽略空字符串''为null的风险"解决该类问题。 |
不忽略空字符串''为null的风险。 影响:存在空字符串''风险的函数不进行转换。 |
GaussDB 分布式不支持外键约束,相关CREATE TABLE以及ALTER TABLE语句涉及外键约束会导致执行异常,需要根据实际业务情况选择是否需要外键特性。 |
建议配置"FOREIGN KEY约束"解决该类问题。 |
影响:注释FOREIGN KEY约束,注释后,原表的外键约束失效,不能确保数据保持一致,有可能创建不一致的数据。 |
GaussDB 数据库不支持SQL Server表变量(包括多语句表值函数返回表定义),目前GaussDB 较为接近的转换方案为临时表,二者在部分使用场景下有区别,用户根据需要选择是否开启对表变量类型的转换。 |
建议配置"是否转换表变量(包括多语句表值函数返回表定义)"解决该类问题。 |
将表变量转换临时表。 影响:SQL Server中显式表变量不遵循事务的回滚语义,GaussDB中临时表遵循事务回滚语义,需要关注业务语义是否发生变化。 |
GaussDB 数据库不支持存储过程内的SELECT语句,目前GaussDB 较为接近的转换方案为使用动态游标将结果从存储过程内传递出来。 |
建议配置"是否将存储过程中的SELECT语句利用游标处理"解决该类问题。 |
利用游标处理存储过程中的SELECT语句。 影响:如果需要获取存储过程中的结果集,则需要对相关调用形式进行修改。 |
创建索引过程不阻塞DML操作 |
建议配置:“CREATE INDEX的CONCURRENTLY子句”解决该类问题 |
建议值:如果业务非常需要这个功能,建议选择添加CONCURRENTLY关键字选项。 影响:创建这类索引时候,容易造成死锁,同时对Astore的表索引的创建比正常更长。 |
GaussDB 保留对象名称大小写需要使用双引号引用对象名称。 |
建议配置 “对象名称大小写转换” 解决该类问题。 |
建议值:对象名称全部转换为小写。 |
- 数据库和应用迁移UGO_数据库迁移上云_云数据库
- GaussDB(for MySQL)并行查询_GaussDB(for MySQL)内核_GaussDB(for MySQL)并行执行_PQ
- GaussDB gsql使用_gaussdb介绍_gaussdb用法_gaussdb教程
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- 云数据库GaussDB(for MySQL)_兼容MySQL
- 云数据库 GaussDB(for MySQL)与RDS for MySQL的区别
- GaussDB数据库SQL语法_SQL语法_CREATE_ALTER
- GaussDB免费的吗_华为gaussdb数据库_mysql免费数据库
- 数据库安全服务介绍_数据库安全服务功能特性_数据库安全服务产品优势
- 公司邮箱企业邮箱免费申请_邮箱登录使用说明