SQL Server: как избежать регенерации GUID при восстановлении? - PullRequest
0 голосов
/ 18 июня 2009

У меня есть таблица, в которой первичным ключом является GUID со значением по умолчанию NewID. Если столбец PK имел значение XYZ при резервном копировании, я ожидал бы XYZ в восстановленной таблице. На самом деле я получаю PQR (хорошо эквивалент GUID). Похоже, что GUID восстанавливается при восстановлении. Это на самом деле происходит (кажется немного сумасшедшим), и если да, то как этого избежать?

Ответы [ 2 ]

2 голосов
/ 18 июня 2009

Никто не изменяет ваши данные при восстановлении (я предполагаю, что вы имеете в виду резервное копирование / восстановление как истинный оператор BACKUP / RESTORE, а не какое-то специальное решение для копирования данных). Если guid изменился, вы либо восстановили разные данные, либо сами меняете данные, и вы точно не знаете, когда (запускает? Application?).

0 голосов
/ 18 июня 2009

нет, такого не может быть при простом восстановлении

Я также хочу отметить, что если у вас есть PK в столбце uniqueidentifier, чтобы использовать NEWSEQUENTIALID () вместо NEWID (), потому что NEWID () вызовет ужасные разбиения страниц в кластерном индексе (который первичный ключ по умолчанию)

У меня есть код, показывающий разницу: Простой код, показывающий разницу между Newid и Newsequentialid

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...