|   |   | 
| 
 | Структура БД в MS SQL | ☑ | ||
|---|---|---|---|---|
| 0
    
        Здравый_смысл 31.05.19✎ 07:31 | 
        Возник такой вопрос - как получить соответствие таблиц объектам информационной базы, НЕ ИСПОЛЬЗУЯ ПолучитьСтруктуруХраненияБазыДанных(), не имея возможности зайти в пользовательском режиме в базу? В какой таблице хранится эта структура, есть ли что-то аналогичное семёрочному .DD?     | |||
| 1
    
        Здравый_смысл 31.05.19✎ 07:34 | 
        Как я понимаю, это таблица DBSchema, но в каком формате в ней хранятся данные? Тип поля - SerializedData.     | |||
| 2
    
        Здравый_смысл 31.05.19✎ 07:43 | 
        Сам спросил, сам ответил.
 select cast(s.struct as varchar(max)) from (select cast(SerializedData as varbinary(max)) as struct from dbo.DBSchema) s Вот только названий объектов метаданных там нет. Беда-печаль. Вопрос остаётся открытым. | |||
| 3
    
        Здравый_смысл 31.05.19✎ 08:17 | 
        В общем, надо запись из Params where filename='DBNames' прогнать через deflate и сопоставлять с DBSchema.
 Чо они там у Нуралиева курят, млин... | |||
| 4
    
        Сияющий в темноте 31.05.19✎ 08:50 | 
        У них все текстовые данные в deflate хранятся с самого рождения и отказываться от этого они не хотят.
 собственно,в dbschema будут идентификаторы,которые есть в метаданных,и по ним можно узнать кто есть что. | |||
| 5
    
        Здравый_смысл 31.05.19✎ 08:55 | 
        Да я не про deflate, зачем надо было разносить структуру метаданных с идентификатором отдельно от dbschema? Нипаняятна.     | |||
| 6
    
        Nuobu 31.05.19✎ 08:58 | 
        Чтобы dbschema не росла.     | |||
| 7
    
        Здравый_смысл 31.05.19✎ 09:09 | 
        Не очень понятно, с чего ей расти, если просто добавить наименование объекта.
 Лан, это лирика. Главное, понятно, куда копать. | |||
| 8
    
        H A D G E H O G s 31.05.19✎ 09:52 | 
        Есть реализация deflate в самом sql?
 Поделишься? | |||
| 9
    
        Здравый_смысл 31.05.19✎ 09:57 | 
        (8) Пока рабочей не накопал, DECOMPRESS без CRC не работает, только если считать отдельной SP. Да и для моей задачи это избыточно, проще в файл сохранить и внешнюю тулзу использовать.     | |||
| 10
    
        bvb 31.05.19✎ 10:29 | 
        Вот текст генерящий запрос скл очищающий таблицу спр.
 Текст генерится в 1С изапускается в меенеджмент студио МассивОбъектов = Новый Массив; МассивОбъектов.Добавить("Справочник.bpЗаписиЖурналаИзменений"); СтрSQL = "USE myBase_test"; СтрSQL = "classica_tеst1"; СтрSQL = СтрSQL + Символы.ПС; ТаблицаСтруктуры = ПолучитьСтруктуруХраненияБазыДанных(МассивОбъектов, Истина); Для Каждого Стр ИЗ ТаблицаСтруктуры Цикл СтрSQL = СтрSQL + "DELETE FROM" + " " + Стр.ИмяТаблицыХранения; СтрSQL = СтрSQL + Символы.ПС; КонецЦикла; Для Каждого Стр ИЗ ТаблицаСтруктуры Цикл СтрSQL = СтрSQL + "SELECT * FROM" + " " + Стр.ИмяТаблицыХранения; СтрSQL = СтрSQL + Символы.ПС; КонецЦикла; Сообщить(СтрSQL); | |||
| 11
    
        Здравый_смысл 31.05.19✎ 10:31 | 
        (10) Я там в (0) указал, что в пользовательском режиме запустить базу возможности нет.     | |||
| 12
    
        bvb 31.05.19✎ 10:42 | 
        (12) Извини плохо читал.
 Пытаешься проанализировать базу не имея пароля на вход ? Или глюкнулась ? | |||
| 13
    
        Здравый_смысл 31.05.19✎ 10:50 | 
        (12) Проблема дурацкая - не завершается обновление КА с 2.1 до 2.4, какой-то из обработчиков продолжает молотить несколько суток. Хочу выявить, что за обработчик, а дальше по обстоятельствам - либо править, либо отключать. Запустил снова с утра обновление, жду вот, когда останется одно фоновое задание, через скуль посмотреть, какие запросы оно генерит, из этих запросов вычислить объект метаданных. Второй вариант - в журнале регистрации сделать два отбора - по запущенным заданиям и по выполненным, разница покажет тот самый "долгий" обработчик. Последняя мысля чот не сразу в голову пришла, ну да ладно.     | |||
| 14
    
        ildary 31.05.19✎ 12:35 | 
        (13) а почему не откроете окно обновлений, там можно увидеть внизу имя метода, который завис.     | |||
| 15
    
        Здравый_смысл 31.05.19✎ 12:49 | 
        (14) Это где? Из доступных элементов управления только ссылка "Техническая информация о ходе обновления", по которой открывается журнал. А в журнале только информация о запущенных обработчиках, причём запускаются они фоновыми заданиями без какого-либо порядка. Я только через консоль вижу, что одно фоновое задание работает с 8 утра, другое с 9, третье с 10 и т.д.     | |||
| 16
    
        bvb 31.05.19✎ 13:00 | 
        (13) И что практически это даст ?
 Поторопить обработчик ? | |||
| 17
    
        ildary 31.05.19✎ 13:00 | 
        (15) в окне "Результаты обновления программы" есть кликабельная строка с количеством выполненных процедур обновления. Если по ней кликнуть, то откроется окно "Дополнительные процедуры обработки данных", в котором надо включить фильтр Показывать = "Выполняется" и смотреть вниз окна.     | |||
| 18
    
        Здравый_смысл 31.05.19✎ 13:04 | 
        (17) У меня висит модальное окно с прогресс-баром, застывшим на 100%, на этом окне ссылка на открытие журнала регистрации, больше ничего нет кликабельного.     | |||
| 19
    
        Здравый_смысл 31.05.19✎ 13:07 | 
        (16) Посмотреть, что он делает, возможно, оптимизировать; или отключить, а потом разбить выполнение на ночные регламентные задания, если эта обработка не является критичной для работы по нашим бизнес-процессам. Моя задача - уложить основное обновление в сутки, если что-то из вторичных процессов не будет работать два-три-пять дней, пока ночные обработки не закончатся - уже не так страшно, как недельный простой.     | |||
| 20
    
        МихаилМ 31.05.19✎ 14:37 | ||||
| 21
    
        МихаилМ 31.05.19✎ 14:44 | 
        (0) я делал генератор сопоставления метаданных 1с и таблиц и полей бд ms sql
 используйте clr сборку для разжатия dbnames и config . на ис их полно (20) для быстрого преобразования текста в таблицу используйте xml | |||
| 22
    
        xXeNoNx 31.05.19✎ 15:29 | 
        (13)  А других вариков нет?     | |||
| 23
    
        xXeNoNx 31.05.19✎ 15:32 | 
        +(22) Например ТЖ + срубить сеанс там..., ну или еще как, не..?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |