Size: a a a

SqlCom.ru - уголок MS SQL

2021 July 02

Я

Яху in SqlCom.ru - уголок MS SQL
и вот что-бы JsonValue статикой постоянно не прописывать, при каждом апдейте, я хотел лишь кусок заменять
источник

S

Sigma in SqlCom.ru - уголок MS SQL
Доброго времени суток, господа.
У меня есть таблица с колонкой customer_id IDENTITY(1, 1). Столкнулся с проблемой, что если я удаляю какую-то строку, а потом добавляю другую - остаётся пустой id, то есть вместо 1, 2, 3 -> 1, 3, 4. Есть какой-то способ избавиться от этого?
источник

S

Sigma in SqlCom.ru - уголок MS SQL
как-то обновить индекс при удалении элемента, чтобы восстановить последовательность id
источник

A

Andrey in SqlCom.ru - уголок MS SQL
Не имеет практического смысла. Получится, что код клиента будет меняться время от времени.
К тому же, после рестарта сиквела могут появляться дыры в нумерации: 1,2,3,4,5, 1000,1001 и т.д.
источник

A

Andrey in SqlCom.ru - уголок MS SQL
Если очень надо, то смотрите
Dbcc checkident(..., Reseed...)
источник

SS

Sergey Sipov in SqlCom.ru - уголок MS SQL
Привет всем, вопрос следующего характера: нужно сделать архитектуру бд так, чтобы у пользователя был набор клэймов, а у этих клэймов набор подклэймов. Пример: роли и пермишоны. У одной роли может быть много пермишонов, но при этом и роль и пермишон являются клэймами. Сча скину диаграмму того, что получилось, хотелось бы услышать ваше мнение
источник

S

Sigma in SqlCom.ru - уголок MS SQL
Понял, я посмотрю. Вообще, не является ли это плохой практикой, что, к примеру, есть клиенты с id 1, 2, 3, 4, 8, 9 ..., но нет клиентов с id 5, 6, 7 (т.к. до этого они были удалены)?
источник

АГ

Александр Гембик... in SqlCom.ru - уголок MS SQL
нет
источник

A

Andrey in SqlCom.ru - уголок MS SQL
Плохая практика - это отсутствие клиентов вообще. А их нумерация - внутреннее дело разработчика.
источник

S

Sigma in SqlCom.ru - уголок MS SQL
Вас понял, ещё раз спасибо)
источник

A

Andrey in SqlCom.ru - уголок MS SQL
Вообще, можно добавить поле is_deleted и по нему определять "живость" клиента.  И нумерация страдать не будет.
источник

g

greeninsania in SqlCom.ru - уголок MS SQL
В скриптах нужно будет это учитывать, добавлять фильтр на поле is_deleted. Что может быть весьма неудобно. Или вью делать сразу с фильтром.
источник
2021 July 03

VG

Viktor Ganeles in SqlCom.ru - уголок MS SQL
Тестирую очередной релиз системы (нагрузочное тестирование) и вижу, что под нагрузкой система иногда начинает очень тупить.
В БД в это время сильно растут pagelatch и в это же время растёт log_used% на основной базе.

смотрю блокировки при помощи sp_whoisactive и вижу, что:
1) большинство блокировок - pagelatch_xx, при чём в основном на tempdb
2) для корневой блокировки не показывается текст запроса (сама блокировка тоже pagelatch_xx на tempdb)

что особенно меня удивляет: ситуация то воспроизводится под нагрузкой на уровне ХХХ, то нет.


Вопрос 1: pagelatch_xx и log_used% - связаны?
Вопрос 2: если sp_whoisactive не показывает текст запроса - почему так может быть и как можно понять, что это за блокировка?
источник

VG

Viktor Ganeles in SqlCom.ru - уголок MS SQL
скрины приложить не могу пока, так как новорег
источник

VG

Viktor Ganeles in SqlCom.ru - уголок MS SQL
viktor-ganeles.imgbb ТОЧКА com
источник

VG

Viktor Ganeles in SqlCom.ru - уголок MS SQL
кинул сюда скрины
источник

A

Alexey in SqlCom.ru - уголок MS SQL
Temp db настроил? На сайте Майкрософта рекомендации читал для устранения этого ожидания?
источник

А

Артур in SqlCom.ru - уголок MS SQL
Всё зависит от версии MS SQL. Если от 2016, то работайте с ним как с json. Если младше, то можно так:
UPDATE SublimitLevels SET JsonValue = REPLACE([колонка с текстом json], N'27-05-2022', FORMAT(@переменная_с_новой_датой, N'dd-MM-yyyy')) WHERE  StructId = @StructId AND LevelType = 0
источник

VG

Viktor Ganeles in SqlCom.ru - уголок MS SQL
tempdb уже имеет огромное количество файлов (>100)

Флаги T1117 и T1118 завтра посмотрю.

Или речь о чём-то ещё?
источник

A

Alexey in SqlCom.ru - уголок MS SQL
100 штук - а зачем? Столько ядер в системе?
источник