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

Откуда:
Сообщений: 1010
Пытаюсь создать хранимую процедуру на прилинкованном сервере, как это можно сделать? Делаю так:
IF EXISTS (SELECT name FROM ServerLink.db_work.[sys].[sysobjects] WHERE name = N'KHD_SP_GetProdaj')
    DROP Procedure ServerLink.db_work.[dbo].[KHD_SP_GetProdaj]
GO

CREATE PROCEDURE ServerLink.db_work.[dbo].[KHD_SP_GetProd] @DateStart DateTime, @DateEnd DateTime, @Id INT OUTPUT AS
SET NOCOUNT ON
...

Но выдает ошибку:
автор
Сообщение 117, уровень 15, состояние 1, строка 22
Число префиксов в имени объект "ServerLink.db_work.dbo.KHD_SP_GetProd" превышает максимально допустимое значение. Максимальное значение равно 2.
25 фев 16, 16:07    [18863215]     Ответить | Цитировать Сообщить модератору
 Re: SQL2014. Создание хранимой процедуры на прилинкованном сервере?  [new]
Pvase
Member

Откуда:
Сообщений: 1010
Пока пришлось вручную создавать подключившись к каждой базе. Но в будущем хотелось бы автоматизировать данный процесс. Подскажите пожалуйста, как это сделать?
25 фев 16, 16:23    [18863368]     Ответить | Цитировать Сообщить модератору
 Re: SQL2014. Создание хранимой процедуры на прилинкованном сервере?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Pvase
Но в будущем хотелось бы автоматизировать данный процесс. Подскажите пожалуйста, как это сделать?

Запускать пакетную утилиту и сразу соединяться с нужным сервером.
25 фев 16, 16:24    [18863385]     Ответить | Цитировать Сообщить модератору
 Re: SQL2014. Создание хранимой процедуры на прилинкованном сервере?  [new]
Pvase
Member

Откуда:
Сообщений: 1010
Glory
Pvase
Но в будущем хотелось бы автоматизировать данный процесс. Подскажите пожалуйста, как это сделать?

Запускать пакетную утилиту и сразу соединяться с нужным сервером.

Спасибо, не подскажите какую утилиту запустить и какие параметры передать?
25 фев 16, 16:55    [18863629]     Ответить | Цитировать Сообщить модератору
 Re: SQL2014. Создание хранимой процедуры на прилинкованном сервере?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Pvase
не подскажите какую утилиту запустить и какие параметры передать?

sqlcmd
все параметры описаны в хелпе
25 фев 16, 16:59    [18863651]     Ответить | Цитировать Сообщить модератору
 Re: SQL2014. Создание хранимой процедуры на прилинкованном сервере?  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
declare
 @s1 nvarchar(max) = N'IF NOT EXISTS (SELECT name FROM ServerLink.db_work.[sys].[sysobjects] WHERE name = N''KHD_SP_GetProdaj'')
    create Procedure [dbo].[KHD_SP_GetProdaj] as set nocount on',
 @s2 nvarchar(max) = N'ALTER PROCEDURE [dbo].[KHD_SP_GetProd] @DateStart DateTime, @DateEnd DateTime, @Id INT OUTPUT AS
SET NOCOUNT ON
...';

exec ServerLink.db_work.sp_executesql @s1;
exec ServerLink.db_work.sp_executesql @s2;
25 фев 16, 17:07    [18863711]     Ответить | Цитировать Сообщить модератору
 Re: SQL2014. Создание хранимой процедуры на прилинкованном сервере?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35369
Блог
Картинка с другого сайта.
25 фев 16, 23:23    [18865151]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить