Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как изменить название столбцов в таблице?

Подскажите, пожалуйста, как с помощью SQL изменить имя столбца уже созданной таблицы в базе данных SQLite (если это возможно).
Ответ: Также нельзя не вспомниь добрым словом SQLite Manager - расширение для FireFox, который позволяет править столбцы достаточно хорошо.
Вопрос: SQL Server 2012 SP3 - значение Identity прыгнуло ниже максимального в таблице

Здравствуйте коллеги.

Встречался ли кто-либо на SQL Server 2012 SP3 к тем что-бы без явных на то причин значение на Identity столбце становилось ниже максимального в таблице? Что в свою очереть вызывает ошибки дублированния первичного ключа.
Ручное DBCC CHECKIDENT исключино.
Логи SQL чисты, как слеза младенца.
Максимум, что можно пристегнуть к проблеме, так это наличие записей в OS логах о прохождении дефрагментайии дисков с последующей ошибкой:
The storage optimizer successfully completed retrim on SQL Logs (L:)
The storage optimizer successfully completed retrim on SQL Data (E:)
The volume Recovery was not optimized because an error was encountered: The file move failed. (0x89000016)

Это виртуальная система на Hyper-V и на сколько я понял поговоря с админами такого рода Defrag это стандартные настройки на дисках, которые в свою очередь Thin provisioned. Хотя по ошибке The file move failed. (0x89000016) они ответеть затруднились.

Все, что удалось найти в сети, так это буквально пара-пройка упоминаний о подобном, но без решения.
Логически предпологаю, что это связано каким-то образом с кешированием новой реалезации Identity на базе Sequencrs, но при этом значения прыгают не вверх, чего замечено много и практически всеми, а вниз.
Эффект наблюдался тлько 2 раза за последние 2 часяца. Так что не частит. Сервер не перегружался.


Спасибо за помощь.
Ответ: Т272 также исправлял генерацию нескольких одинаковых identity подряд, из-за чего возникали ошибки дублирования первичного ключа. Но у вас уже SP3, этой ошибки быть не должно.
Вопрос: Как программно изменить заголовок столбцов в списке

Есть Форма, в нем Кнопка1 и Список0.
Можно ли при нажатии Кнопка1 изменилась заголовок столбцов в Список0!?
Вот мой не рабочий код:
Private Sub Кнопка1_Click()
Список0.Controls(Поле1).Label = "Номер"
Список0.Requery
End Sub
За ранее спасибо!
Ответ: Abisma2008,
о каком примере Вы говорите: знаете что такое Read-Only?-изменить имя столбца у таблицы.....
(посмотрите источник списка и меняйте в нем имена столбцов как угодно)
Вопрос: Как можно изменить поля в таблице mysql workbench?

Как можно изменить поля в таблице mysql workbench (на снимке 1)? Есть Form Editor но он не активный (на снимке 2).
Ответ: Нашел причину, нужно с начало сохранить, потом Form Editor станет активным
Вопрос: Identity seed

После импорта бд на локальный сервер пропал (не сбросился а именно пропал) identity_seed у таблицы. Есть идеи как можно это исправить не пересоздавая таблицу?
Ответ: Identity_seed ну никак не мог пропасть, потому что это системная функция. Пропало у вас свойство identity столбца. И, подозреваю, много чего еще пропало.
Чтобы не пропадало, БД нужно переносить не импортом таблиц, а через backup/restore или detach/attach.
Вопрос: порядок проставления identity значений при alter table add identity

Есть таблица с многими записями изначально без кластерного ключа. Потребовалось добавить identity unique clustered.

В каком порядке проставятся identity значения и можно ли повлиять на порядок?

В Profiler между SQL:StmtStarting/Completed для ALTER видно автоматическое
UPDATE [таблица] SET [поле identity] = DEFAULT
Если кластерный ключ:
  • 1) не задан, порядок проставления identity "произвольный",
  • 2) есть, то согласно ему.

    Описание такого поведения найти не удалось. Есть ли это в официальной документации?
    Если важен порядок, то единственный вариант- перезалить данные?

    Для sql 2005+
  • Ответ:
    Mind
    У вас что там какая-то бизнес логика завязана на несуществуещее, пока что, поле? Или вы собираетесь по IDENTITY полю определять какую строку вставили первой, а какую второй?
    Да, порядок вставки используется в бизнес-логике. Раньше это была нумерация 1,2,3 в пределах "мастер" поля. Теперь это IDENTITY в пределах таблицы.
    Вопрос: TRUNCATE TABLE dbo.T1 CONTINUE IDENTITY;

    Standard SQL has an identity column restart option which controls whether to restart or continue the identity value. Would be nice to see it in SQL Server:

    Add the standard <identity column restart option> to the TRUNCATE statement in SQL Server:

    14.10 <truncate table statement> Function
    Delete all rows of a base table without causing any triggered action.
    Format
    <truncate table statement> ::= TRUNCATE TABLE <target table> [ <identity column restart option> ]
    <identity column restart option> ::= CONTINUE IDENTITY | RESTART IDENTITY
    


    Ответ:
    edyaN
    Knyazev Alexey,

    а ещё можно создать таблицу с тойже структурой, переключть в нее данные и уже её усечь. Это если версия позволяет.
    наверняка есть ещё 20 способов решить эту задачу. Так что фича так себе.
    Да ресет делать ещё проще, чего там.

    Понятно, было бы удобнее просто указывать опцию, и вообще, стандарты надо поддерживать, но, в общем, это не киллер-фича.
    Вопрос: порядок назначения identity при insert+select+order by

    Не удалось найти в BOL, где описано поведение присвоения identity(1,1), когда выполняется insert+select+order by.
    Будет ли его заполнение соответствовать order by? При наличии кластерного/некластерного/отсутствующего индекса по identity полю? Интересует только значение поля с identity.

    На такое описывают для 2005 безотносительно индексов, но это не BOL. Интересует любое официальное упоминание для sql 2005 и выше.
    Ответ: Спасибо.

    есть ещё информация, опять неофициальная

    на более поздний повтор и тоже не ясно, можно ли считать официальнм
    Вопрос: Identity server gap

    Уважаемые коллеги,

    подскажите пожалуйста, есть у кого-нибудь информация про размер identity server gap?
    Хотя бы порядок для полей с типом bigint и int.
    Ответ:
    o-o
    это log flush на каждую генерацию identity.
    начиная с 2012-ого без 272-ого флага таких log flushes на int, identity стало в 1000 раз меньше

    У меня вот тут наврано.
    Log flush происходит после каждой записи в лог для сиквенса (не на каждое значение, а на каждые cache size значений). Для identity без кэша каждое вновь сгенеренное значение логируется, но не вызывает log flush. Ну т. е. без кэша identity все равно тормознее, чем identity с cache, но чемпион по тормозам это sequence без кэша
    Вопрос: Почему IDENTITY-поле "перепрыгивает"?

    Добрый день,

    Подскажите, пожалуйста, почему в какой-то момент автоинкрементное поле (INT IDENTITY(1,1)) со значением, например, 47 начинает принимать значения типа 1001?
    Т.е. порядок значений 46, 47, 1001, 1002 и т.д.
    Ответ: 1) никто и не обещал, что IDENTITY-поле должно идти "без дырок", любая транзакция генерит значение, если транзакция откатывается, то счётчик остаётся уже с новым значением
    2) версия сиквела какая? в 2012-ом без СП был баг, когда identity "прыгало" сразу на 1000 после перезагрузки