Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перевод базы на GUID после identity.  [new]
kombala
Member

Откуда:
Сообщений: 41
Много читал хорошего об использовании guid вместо int/bigint id, да и в принципе использование guid на наших базах полностью решило бы проблемы, реализацией которых сейчас занимаются через дичайшие костыли, а именно возможность репликации баз.

Вопрос заключается в том, что я практически не нашел информации о переводе уже имеющейся базы с identity на использование guid. MS SQL Server 2012 Standart. Баз много, навскидку около ста, размер варьируется от 10 до 40 гигов. Крайне необходимо, чтобы старые данные после перехода были доступны.

Возможно ли это и стоит ли овчинка выделки?
18 авг 17, 12:27    [20733870]     Ответить | Цитировать Сообщить модератору
 Re: Перевод базы на GUID после identity.  [new]
aleks222
Guest
1. Конешно возможно.
2. Только затраты вам не понравятся.
3. А кнопка [Сделать все как я хачу!] никак не выдет из стадии альфа-тестирования...
18 авг 17, 12:32    [20733887]     Ответить | Цитировать Сообщить модератору
 Re: Перевод базы на GUID после identity.  [new]
kombala
Member

Откуда:
Сообщений: 41
3. Это я и сам понимаю.

Хочется услышать мнение людей, которые проделывали подобное со своими базами. Потому что информации в интернете нашел мало, причем больше обсуждений обратного перехода с guid на identity.
18 авг 17, 12:53    [20733970]     Ответить | Цитировать Сообщить модератору
 Re: Перевод базы на GUID после identity.  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Guid, как и любая серебряная пуля, только кажется таковой. Есть нюансы как по накладным расходам, так и проблемы связанные с тем, что guid и целочисленные типы суть экзистенциально, если так можно выразиться, разные типы данных, что за собой влечёт целый ворох отличий в работе с ними. Если эти базы юзают какие-то приложения, то следует оценить, насколько они будут затронуты и во что выльется переделка. Опять таки, хорошо бы прикинуть, а как с новым типом данных будут работать всякие там используемые в аппликухах ORM и компоненты доступа к данным.
Имхо, если текущие базы не фунциклируют нормально без костылей, то возможно, что они просто плохо спроектированы, и что правильнее будет нормально спроектировать новые и сделать миграцию.
18 авг 17, 12:55    [20733974]     Ответить | Цитировать Сообщить модератору
 Re: Перевод базы на GUID после identity.  [new]
invm
Member

Откуда: Москва
Сообщений: 9345
kombala
Возможно ли это
Да.
kombala
стоит ли овчинка выделки
В большинстве случаев нет - затратно очень.

Просто добавьте к нужным таблицам uniquidentifier-столбец со свойством rowguidcol и ограничением уникальности. И пользуйтесь им в местах, где невозможно использовать identity. Например, для той же самой репликации.

ЗЫ: Репликацию нужно использовать штатную. Тогда костыли не потребуются.
18 авг 17, 13:23    [20734084]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить