|
Структура БД в 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) Например ТЖ + срубить сеанс там..., ну или еще как, не..?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |