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

Откуда:
Сообщений: 336
На сервере была БД MyData, в которой была таблица MyTable, в которой был создан первичный ключ PK_MyTable:
alter table [MyData].[dbo].[MyTable] add constraint [PK_MyTable] primary key clustered ([id])

После этого БД MyData была удалена и создана заново.
Однако при попытке создать первичный ключ указанной выше командой, возникает ошибка:
The operation failed because an index or statistics with name 'PK_MyTable' already exists on table 'MyData.dbo.MyTable'.
Нигде в Object Explorer увидеть этот ключ не могу.
Пытался удалить первичный ключ
alter table [MyData].[dbo].[MyTable] drop constraint [PK_MyTable]

Пишет, 'PK_MyTable' is not a constraint.
Искал объект в master.sys.objects и в MyData.sys.objects (where [name] = 'PK_MyTable') - не нашел.
Где искать?
28 сен 15, 10:45    [18203014]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка удаления объекта из БД  [new]
Glory
Member

Откуда:
Сообщений: 104751
=Сергей=
После этого БД MyData была удалена и создана заново.
Однако при попытке создать первичный ключ указанной выше командой, возникает ошибка:

Объекты одной базы никак не влияют на объекты другой базы.
Имя объекта должно быть уникальным в рамках его базы

select object_id('PK_MyTable')
28 сен 15, 10:49    [18203052]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка удаления объекта из БД  [new]
o-o
Guest
=Сергей=
Искал объект в master.sys.objects и в MyData.sys.objects (where [name] = 'PK_MyTable') - не нашел.
Где искать?

в индексах.
PK_MyTable -- это не constraint, это просто индех на таблице MyTable
28 сен 15, 14:01    [18204245]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить