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

Откуда:
Сообщений: 68
Задача удалить внешний ключ на связанном сервере

конструкция
ALTER TABLE [link_server].[db_name].[shema].[table] DROP FOREIGN KEY fk_symbol;
вызывает ошибку.

работает, если использовать 3-х компонентный префикс -[db_name].[shema].[table]. Но тогда как же указать имя сервера?
Или есть другая возможность удалить FK?
18 мар 15, 16:14    [17400621]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Yra,

вызвать там тамошний sp_executesql с правильными параметрами.
Или sqlcmd
18 мар 15, 16:19    [17400653]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
exec ( 'ALTER TABLE [db_name].[shema].[table] DROP FOREIGN KEY fk_symbol;' AT [link_server]
18 мар 15, 16:20    [17400657]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Yra
Member

Откуда:
Сообщений: 68
а можно по подробнее для моей задачи?
18 мар 15, 16:21    [17400672]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Yra
а можно по подробнее для моей задачи?


скопировать, нажать Ф5
18 мар 15, 16:23    [17400677]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Knyazev Alexey
Yra
а можно по подробнее для моей задачи?


скопировать, нажать Ф5


Вы же скобку забыли закрыть
18 мар 15, 16:29    [17400723]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Yra
Member

Откуда:
Сообщений: 68
exec ( 'ALTER TABLE [work].[dbo].[users] DROP FOREIGN KEY fk_users;' AT [PK-Main\SQLEQPRESS]

выдало ошибку 102: Неправильный синтаксис около инструкции "АТ".....
18 мар 15, 16:31    [17400733]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Yra
Member

Откуда:
Сообщений: 68
exec ( 'ALTER TABLE [work].[dbo].[users] DROP FOREIGN KEY fk_users;' AT [PK-Main\SQLEQPRESS])

со скобкой тоже выдало ошибку 102: Неправильный синтаксис около инструкции "АТ".....
18 мар 15, 16:32    [17400745]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Yra
exec ( 'ALTER TABLE [work].[dbo].[users] DROP FOREIGN KEY fk_users;' AT [PK-Main\SQLEQPRESS])

со скобкой тоже выдало ошибку 102: Неправильный синтаксис около инструкции "АТ".....
Версию сервера угадывать что ли?
18 мар 15, 16:32    [17400747]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Yra
exec ( 'ALTER TABLE [work].[dbo].[users] DROP FOREIGN KEY fk_users;' AT [PK-Main\SQLEQPRESS])

со скобкой тоже выдало ошибку 102: Неправильный синтаксис около инструкции "АТ".....


вы бы хелп открыли...а то пропущенная скобка вас в ступор вгоняет:

exec ( 'ALTER TABLE [db_name].[shema].[table] DROP FOREIGN KEY fk_symbol;' ) AT [link_server]
18 мар 15, 16:33    [17400753]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Yra
exec ( 'ALTER TABLE [work].[dbo].[users] DROP FOREIGN KEY fk_users;' AT [PK-Main\SQLEQPRESS])

со скобкой тоже выдало ошибку 102: Неправильный синтаксис около инструкции "АТ".....
И скобку не там поставили
18 мар 15, 16:33    [17400755]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Konst_One
Member

Откуда:
Сообщений: 11540
exec ('ALTER TABLE [work].[dbo].[users] DROP FOREIGN KEY fk_users;') AT [PK-Main\SQLEQPRESS];


проверьте имя вашего линкованного сервера: [PK-Main\SQLEQPRESS]
что-то сомнительное имя
18 мар 15, 16:34    [17400764]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Yra
Member

Откуда:
Сообщений: 68
Да скобку надо поставить перед АТ....
Ребята! вы так сыпите комментариями, что еле успеваю исправиться.... Отрадно, что есть столько неравнодушных людей!!!
Итак:
При выполнении этой инструкции выдало: "[PK-Main\SQLEXPRESS] не настроен на RPC".
Связь со связанным сервером [PK-Main\SQLEXPRESS] - есть... Что где посмотреть, а?
18 мар 15, 16:44    [17400845]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Yra
Что где посмотреть, а?


EXEC master.dbo.sp_serveroption @server=N'MYREMOTESERVER', @optname=N'rpc', @optvalue=N'true' 
18 мар 15, 16:46    [17400856]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Yra
Member

Откуда:
Сообщений: 68
запросил exec sp_helpserver
выдало что нет rpc
выполнил
EXEC master.dbo.sp_serveroption @server=N'MYREMOTESERVER', @optname=N'rpc', @optvalue=N'true'
со своими парамерами,
потом запросил exec sp_helpserver - выдало что есть rpc
выполнил
exec ('ALTER TABLE [work].[dbo].[users] DROP FOREIGN KEY fk_users;') AT [PK-Main\SQLEQPRESS];
выдало ошибку "неправильный синтаксис FOREIGN "
справил строку на
exec ('ALTER TABLE [work].[dbo].[users] DROP CONSTRAINT fk_users;') AT [PK-Main\SQLEQPRESS];
все прошло и FK исчез......
18 мар 15, 17:10    [17401069]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить FK на связанном сервере  [new]
Glory
Member

Откуда:
Сообщений: 104760
Yra
все прошло и FK исчез.....

Между прочим в MsSQL уже есть встроенная репликация
18 мар 15, 18:56    [17401658]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить