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

Откуда:
Сообщений: 82
IF  EXISTS (SELECT * FROM [BROKER].[BROKER].sys.indexes WHERE name = N'XAK1tOperPart' and type=2)
DROP INDEX [BROKER].[BROKER]..[tOperPart].[XAK1tOperPart] 
ON [BROKER].[BROKER].[dbo].[tOperPart] WITH ( ONLINE = OFF )


Результат :
Сообщение 117, уровень 15, состояние 1, строка 3
The index name 'BROKER.BROKER..tOperPart.' contains more than the maximum number of prefixes. The maximum is 3.

Есть ли корректный способ ?
29 фев 12, 13:41    [12169871]     Ответить | Цитировать Сообщить модератору
 Re: Удалить индекс на прилинкованном сервере скриптом.  [new]
bacalavr
Member

Откуда:
Сообщений: 311
exec ('') at broker
29 фев 12, 13:44    [12169905]     Ответить | Цитировать Сообщить модератору
 Re: Удалить индекс на прилинкованном сервере скриптом.  [new]
smallserg
Member

Откуда:
Сообщений: 82
bacalavr,
select @@version

Microsoft SQL Server 2000 - 8.00.2055 (Intel X86) Dec 16 2008 19:46:53
Copyright (c) 1988-2003 Microsoft Corporation Standard Edition
on Windows NT 5.2 (Build 3790: Service Pack 2)

При выполнении

 exec ('IF  EXISTS (SELECT * FROM [BROKER].sys.indexes WHERE name = N''XAK1tOperPart'' and type=2)
DROP INDEX [BROKER].dbo.[tOperPart].[XAK1tOperPart] 
ON [BROKER].[dbo].[tOperPart] WITH ( ONLINE = OFF )') at broker 


вылезает :

Сообщение 170, уровень 15, состояние 1, строка 3
Line 3: Incorrect syntax near 'at'.
29 фев 12, 13:58    [12170127]     Ответить | Цитировать Сообщить модератору
 Re: Удалить индекс на прилинкованном сервере скриптом.  [new]
sp_executesql
Guest
broker.db.dbo.sp_executesql N'IF  EXISTS (SELECT * FROM [BROKER].sys.indexes WHERE name = N''XAK1tOperPart'' and type=2)
DROP INDEX [BROKER].dbo.[tOperPart].[XAK1tOperPart] 
ON [BROKER].[dbo].[tOperPart] WITH ( ONLINE = OFF )'
29 фев 12, 14:26    [12170493]     Ответить | Цитировать Сообщить модератору
 Re: Удалить индекс на прилинкованном сервере скриптом.  [new]
sp_executesql
Guest
sp_executesql
exec broker.db.dbo.sp_executesql N'IF  EXISTS (SELECT * FROM [BROKER].sys.indexes WHERE name = N''XAK1tOperPart'' and type=2)
DROP INDEX [BROKER].dbo.[tOperPart].[XAK1tOperPart] 
ON [BROKER].[dbo].[tOperPart] WITH ( ONLINE = OFF )'
29 фев 12, 14:27    [12170502]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить