powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Primary key
5 сообщений из 5, страница 1 из 1
Primary key
    #32021824
gabber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть 2 таблицы:
create table dbo.DOCUMENT (
DOCUMENTID numeric(18 ) identity,
RECORDDATE datetime null,
TITLE varchar(255) null,
SUBTITLE text null,
CONTENT text null
)
go


execute sp_primarykey DOCUMENT, DOCUMENTID
go

create table dbo.STRUCTURE (
STRUCTUREID numeric(18 ) identity,
PARENTID numeric(18 ) null,
ITEMID numeric(18 ) null,
ITEMTYPE numeric(18 )
go


execute sp_primarykey STRUCTURE, STRUCTUREID
go

поле ITEMID дублирует DOCUMENTID.

В эти таблицы данные записываются через web-интерфейс.
Периодически, без видимых на то причин, происходит сброс DOCUMENTID.
После чего начинают выскакивать ошибки о попытке дублирования DOCUMENTID.

Подскажите в чем может быть проблема.

Михаил.
...
Рейтинг: 0 / 0
Primary key
    #32021827
Фотография cvasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за процедура sp_primarykey?
Если имелась ввиду sp_primarykeys (BOL: Returns the primary key columns, one row per key column, for the specified remote table) то каким боком она здесь?

И что тако "сброс DOCUMENTID"? Идентичность нарушается или еще чего?
...
Рейтинг: 0 / 0
Primary key
    #32021868
gabber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эти запросы были сгенерированы Power Designer 7.0.
Поэтому что означает эта процедура не скажу
А вообще, она наверно устанавливает primary key

Сброс означает, что в какой то момент при добавлении новой записи DOCUMENTID начинает считать заново с 1.
...
Рейтинг: 0 / 0
Primary key
    #32021877
А чего же версия MSSQL не указана? Предположу, что это MSSQL6.5

В MSSQL6.5 сброс значения IDENTITY - очень часто встречающаяся бага. Ошибка корректируется запуском "DBCC CHECKIDENT". Чтобы избежать ошибку, надо сделать следующее:
1. На поле с признаком IDENTITY должен быть наложен уникальный кластерный (!) индекс. Лучше всего это поле сделать PK.
2. На MSSQL должен быть накачен сервис-пак не меньше 3-го. Лучше накатить последний.

Индексы и первичные ключи лучше создавать через EM или явным скриптом.
...
Рейтинг: 0 / 0
Primary key
    #32021900
gabber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>А чего же версия MSSQL не указана? Предположу, что это MSSQL6.5
Извиняюсь, забыл.
Кстати ваше предположение верное

>В MSSQL6.5 сброс значения IDENTITY - очень часто встречающаяся бага. Ошибка корректируется запуском "DBCC >CHECKIDENT". Чтобы избежать ошибку, надо сделать следующее:
>1. На поле с признаком IDENTITY должен быть наложен уникальный кластерный (!) индекс. Лучше всего это поле сделать PK.
Поле сделано PK, а вот индекс не кластерный.... сейчас поправим.
>2. На MSSQL должен быть накачен сервис-пак не меньше 3-го. Лучше накатить последний.
Это надо уточнить.

>Индексы и первичные ключи лучше создавать через EM или явным скриптом.
Все создано через EM.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Primary key
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]