311  /  328

Состав таблиц

Просмотров: 1121 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 23.09.2015

В первую очередь необходимо выяснить, насколько отличаются базы по составу таблиц. Данный запрос выводит несовпадения:

use bitrix

with
tbl_rows_sqlsrv as (
select t.name, p.n from sys.tables t
join (select object_id, sum(row_count) n from sys.dm_db_partition_stats where index_id in (0, 1) group by object_id) p
on t.object_id = p.object_id
)
, tbl_rows_mysql as (
select * from openquery(mysql, 'select table_name name, table_rows n from information_schema.tables where table_schema = ''bsm_demo''')
)
select sqlsrv.name, sqlsrv.n, mysql.name, mysql.n from tbl_rows_sqlsrv sqlsrv full outer join tbl_rows_mysql mysql on sqlsrv.name = mysql.name
where sqlsrv.name is null or mysql.name is null or sqlsrv.n <> mysql.n
name	n	name	n
B_OPTION	112	b_option	113
B_STAT_SESSION_DATA	0	b_stat_session_data	1
B_FILE_ACTION	0	NULL	NULL
B_POSTING_LOCK	0	NULL	NULL
B_FAVORITE_LANG	0	NULL	NULL

Вывод. Все 319 таблиц в базе при инсталляции MySQL имеют соответствия (т.е. таблицы с тем же именем) в инсталляции на SQL Server.

В инсталляции на SQL Server имеются 3 таблицы, не имеющих соответствия в инсталляции на MySQL:

  • B_FILE_ACTION
  • B_POSTING_LOCK
  • B_FAVORITE_LANG

Это благоприятная ситуация для миграции, поскольку перенос данных планируется именно из MySQL в SQL Server. Хуже, если бы, наоборот, в MySQL имелись таблицы, которые бы было непонятно куда переносить в SQL Server.

Из 319 таблиц инсталляции MySQL две не совпадают по числу строк с соответствующими им таблицами в инсталляции на SQL Server:

SQL Server MySQL
B_OPTION 112 b_option 113
B_STAT_SESSION_DATA 0 b_stat_session_data 1

Этот факт имеет роль комментария, поскольку в нашем случае Примера инсталляции «1С-Битрикс: Управление сайтом» как в случае MySQL, так и SQL Server - "чистые", то есть без данных. В реальной жизни клиент уже будет работать продолжительный период с MySQL’ной базой, поэтому данных там будет больше, чем в только что установленной базе SQL Server.

Речь не идет о каком-то слиянии. Просто данные из MySQL требуется перенести в соответствующие таблицы SQL Server, перетерев все, что туда уже успел добавить процесс инсталляции CMS. Инсталляция «1С-Битрикс: Управление сайтом» в варианте SQL Server создает, по сути, готовые структуры для приема данных со стороны SQL Server и избавляет нас от необходимости рассматривать миграцию метаданных.


2
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии