|  | v7: Как сравнить параметры полей SQL  двух таблиц базы ? | ☑ | 
    
        | 0
    
        Холст   03.08.20✎ 17:30 | 
        Есть две базы SQL для 1С 7.7 
у них одинаковые таблицы, например SC172, но состав полей отличается (разная длина реквизитов или где-то нет какого-то поля)
 Каким SQL запросом можно сравнить параметры полей этих таблиц, чтобы увидеть отличия ? файла *.dds и *.MD нет чтобы сравнить средствами конфигуратора 1С
 
 Может у кого есть готовый скрипт
 |  | 
    
        | 1
    
        Холст   03.08.20✎ 17:32 | 
        Цель - восстановление базы 1С по  базе данных SQL без файла MD/DDS  но с похожими типовыми файлами     |  | 
    
        | 2
    
        trdm   03.08.20✎ 17:35 | 
        Вытащи схему БД с SQL сервера и сравни.     |  | 
    
        | 3
    
        trdm   03.08.20✎ 17:40 | 
             |  | 
    
        | 4
    
        lEvGl   гуру 03.08.20✎ 17:41 | 
        в 8 в скл есть таблица со списком и описанием таблиц, в 7.7 тоже должны быть     |  | 
    
        | 5
    
        Ёпрст   гуру 03.08.20✎ 17:44 | 
        Где то валялся готовый скрипт, надо поискать     |  | 
    
        | 6
    
        Ёпрст   гуру 03.08.20✎ 17:53 | 
        Ну и..тупо на копии подсовываешь левый мд и словарик и делаешь Тии без исправления только с одной галкой, он те покажет , какие поля не те     |  | 
    
        | 7
    
        Ёпрст   гуру 03.08.20✎ 17:53 | 
        Хотя, скриптом в скуле мгновенно получишь это     |  | 
    
        | 8
    
        Холст   03.08.20✎ 17:59 | 
        Пока полувручную в обоих базах запрос 
SELECT *
 FROM INFORMATION_SCHEMA.COLUMNS
 
 WHERE 1=1
 AND TABLE_NAME = 'SC172' --Имя таблицы
 Order by TABLE_NAME
 |  | 
    
        | 9
    
        Ёпрст   гуру 03.08.20✎ 18:09 | 
        (8) ну дык , в INFORMATION_SCHEMA.COLUMNS же всё есть, сравнивай, где table_name одинаковый в обеих базах, а data_type разный     |  | 
    
        | 10
    
        Ёпрст   гуру 03.08.20✎ 18:33 | 
        SELECT t1.TABLE_NAME,t1.COLUMN_NAME,
t2.TABLE_NAME,t2.COLUMN_NAME
 FROM base1.INFORMATION_SCHEMA.COLUMNS as t1
 full outer join base2.INFORMATION_SCHEMA.COLUMNS as t2 on t1.TABLE_NAME = t2.TABLE_NAME and t1.DATA_TYPE = t2.DATA_TYPE and t1.COLUMN_NAME=t2.COLUMN_NAME
 where t1.TABLE_NAME is null  or t2.TABLE_NAME is null
 |  | 
    
        | 11
    
        trdm   03.08.20✎ 19:27 | 
        (8) Это долго. можно схему вытащить как в (3) и сравнить KDiff-om.
 а так долго провозишся.
 |  | 
    
        | 12
    
        Ёпрст   гуру 03.08.20✎ 22:03 | 
        (11) да ну..запрос в (10) на упп базе миллисекунды выполняется     |  |