Доброго времени суток, господа. У меня есть таблица с колонкой customer_id IDENTITY(1, 1). Столкнулся с проблемой, что если я удаляю какую-то строку, а потом добавляю другую - остаётся пустой id, то есть вместо 1, 2, 3 -> 1, 3, 4. Есть какой-то способ избавиться от этого?
Не имеет практического смысла. Получится, что код клиента будет меняться время от времени. К тому же, после рестарта сиквела могут появляться дыры в нумерации: 1,2,3,4,5, 1000,1001 и т.д.
Привет всем, вопрос следующего характера: нужно сделать архитектуру бд так, чтобы у пользователя был набор клэймов, а у этих клэймов набор подклэймов. Пример: роли и пермишоны. У одной роли может быть много пермишонов, но при этом и роль и пермишон являются клэймами. Сча скину диаграмму того, что получилось, хотелось бы услышать ваше мнение
Понял, я посмотрю. Вообще, не является ли это плохой практикой, что, к примеру, есть клиенты с id 1, 2, 3, 4, 8, 9 ..., но нет клиентов с id 5, 6, 7 (т.к. до этого они были удалены)?
Тестирую очередной релиз системы (нагрузочное тестирование) и вижу, что под нагрузкой система иногда начинает очень тупить. В БД в это время сильно растут pagelatch и в это же время растёт log_used% на основной базе.
смотрю блокировки при помощи sp_whoisactive и вижу, что: 1) большинство блокировок - pagelatch_xx, при чём в основном на tempdb 2) для корневой блокировки не показывается текст запроса (сама блокировка тоже pagelatch_xx на tempdb)
что особенно меня удивляет: ситуация то воспроизводится под нагрузкой на уровне ХХХ, то нет.
Вопрос 1: pagelatch_xx и log_used% - связаны? Вопрос 2: если sp_whoisactive не показывает текст запроса - почему так может быть и как можно понять, что это за блокировка?
Всё зависит от версии 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