2024年5月25日发(作者:)
DM DBA手记之SQLServer移植到DM
一、概述
随着国家对自主可控的日益重视,目前在党政机关、军队、大型央企等行业和区域中面
临越来越多的国产化。
DM数据库和SQLServer结构存在差异,TSQL语法也存在差异。DM数据库针对
SQLServer做了部分兼容性。但由于有根本性的差异,兼容度不高。从SQLServer迁移到
DM数据库,DM数据库提供了自动迁移工具,但在开发级别还需要人工干预进行同步。
SQLServer到DM的移植主要有以下几个方面的工作:
1. 分析待移植系统,确定移植对象。
2. 通过数据迁移工具DTS完成常规数据库对象及数据的迁移。
3. 通过人工完成TSQL的移植。
4. 移植完成后对移植的结果进行校验,确保移植的完整性和正确性。
5. 对应用系统进行移植、测试和优化。
二、移植过程
2.1 待移植系统分析
应用后台操作系统
数据库后台操作系统
WINDOWS 2008
WINDOWS 2008
后台数据库
应用开发平台
应用开发接口
需要移植的数据库对象
SQLServer
.NET
.Net Provider
表(数据量)
视图
触发器
存储过程、函数
对待移植系统进行分析,确定需要移植的数据库对象,给出移植列表,给用户确认,作为移
植的依据,给出
SQLServer
的统计脚本
2.2.1 统计SQLServer数据库基础信息
--统计编码格式
SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS',
'CodePage')
--936 简体中文GBK
--950 繁体中文BIG5
--437 美国/加拿大英语
--932 日文
--949 韩文
--866 俄文
--65001 unicode UFT-8
2.2.2 统计SQLServer数据中的对象以及表数据量
a. 根据指定用户统计用户下的各对象类型和数目
select type,COUNT(*) from _objects where schema_id=1 and
parent_object_id=0 and is_ms_shipped=0 group by type;
b. 统计指定用户下所有的对象,并记录到新的记录表中
create table sql_objects(obj_owner varchar(100),obj_name
varchar(100),obj_type varchar(50));
insert into sql_objects select DB_NAME(),name,type from _objects
where schema_id=1 AND type IN ('U','V','FN','P','TR');
select * from sql_objects;
发布评论