Скрипт для сравнения структуры полей таблиц разных баз на SQL

28.09.12

База данных - Инструменты администратора БД

Скрипт показывает какие поля и таблицы есть в одной базе SQL и нет в другой

В следующем скрипте нужно заменить только наименования Base1 и Base2 на свои

SELECT * FROM
(SELECT Base1_Object.Name as TableName, Base1_Columns.Name as ColumnsName FROM Base1.Sys.columns as Base1_Columns
INNER JOIN Base1.sys.objects as Base1_Object
ON Base1_Object.Object_id = Base1_Columns.Object_id
    AND Base1_Object.type in (N'U')) as Base1_Structure
FULL OUTER JOIN
(SELECT Base2_Object.Name as TableName, Base2_Columns.Name as ColumnsName FROM Base2.Sys.columns as Base2_Columns
INNER JOIN Base2.Sys.objects as Base2_Object
ON Base2_Object.Object_id = Base2_Columns.Object_id
    AND Base2_Object.type in (N'U')) As Base2_Structure
ON Base1_Structure.TableName = Base2_Structure.TableName and
Base1_Structure.ColumnsName = Base2_Structure.ColumnsName
WHERE Base1_Structure.ColumnsName IS NULL OR Base2_Structure.ColumnsName IS NULL

P.S. Я этот скрипт применял, чтобы проверить прошла ли полностью реструктуризация в базе. Предыстория такова:
При обновлении базы произошла критическая ошибка. При запуске конфигуратора говорилось что нужно произвести повторное обновление, при согласии опять выскакивала ошибка. Чтобы эту проблему устранить был выполнен скрипт
delete FROM [ИмяБазы].[dbo].[Config] where FileName like '%commit%'
После этого конфигуратор открылся но при реструктуризации в процессе обновление выдавало ошибку SDBL таблица или ownerid не содержится в разделе from.
При осмотре изменений в обновлении и структуры SQL выяснилось, что структура SQL обновилась, а конфа 1С нет.
Решение этой проблемы было восстановить бакап перед обновлением, обновить его (после этого я как раз и сравнивал структуру полей одной базы и другой) и скопировать из него таблички Config, DBSchema, Params в рабочую базу.
После этих манипуляций база заработала.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    40743    222    115    

212

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

16000 руб.

10.11.2023    18856    76    39    

92

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    17128    64    10    

98

Корректировка данных Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    115764    697    176    

738

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    39140    115    152    

82

Взаиморасчеты Корректировка данных Бухгалтер Пользователь 1С v8.3 1C:Бухгалтерия Бухгалтерский учет Управленческий учет Платные (руб)

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    8394    6    3    

9

Закрытие периода Корректировка данных Системный администратор Бухгалтер Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Налоговый учет НДС Платные (руб)

Обработка для диагностики и устранения ошибочных состояний ключей аналитики при использовании новой методики раздельного учета НДС в "Бухгалтерии предприятия ред. 3.0"

6000 руб.

27.01.2015    58681    31    14    

40
Для отправки сообщения требуется регистрация/авторизация