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

Откуда:
Сообщений: 20
Подскажите, пож, есть задача:
Сущ 2 сервера, необходимо с одного сервера перенести на второй сервер хранимые процедуры, которых нет на втором сервере. Есть у кого-то идеи?
4 май 16, 12:45    [19133032]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
sergeimv
Member

Откуда: Россия, г.Казань
Сообщений: 42
sys.objects
+
object_definition
4 май 16, 12:48    [19133043]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
stanna
которых нет на втором сервере.

кто предоставит список того, чего нет ?
4 май 16, 12:50    [19133052]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
komrad
Member

Откуда:
Сообщений: 5756
stanna
Подскажите, пож, есть задача:
Сущ 2 сервера, необходимо с одного сервера перенести на второй сервер хранимые процедуры, которых нет на втором сервере. Есть у кого-то идеи?


если один раз, то есть бесплатные trial-ы, например:
https://www.idera.com/productssolutions/sqlserver/sqlcomparisontoolset
http://www.red-gate.com/products/sql-development/sql-compare/
4 май 16, 12:50    [19133054]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
komrad
Member

Откуда:
Сообщений: 5756
stanna,

вот вообще бесплатный:
http://dbcomparer.com/
4 май 16, 12:53    [19133069]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
stanna
Member

Откуда:
Сообщений: 20
я так начала делать, но дальше у меня возникла проблема, мне вывелся код создания процедуры в таблице, но как его запустить, чтобы он создал хранимую процедуру. Я делала через динамический запрос, привожу пример:
declare @a nvarchar(3000)
set @a = 'select aaa from [AstralEtalon].[dbo].[test]'
exec (@a)
, но он не создает процедуру, а просто выводит данные в ааа
4 май 16, 12:57    [19133097]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
stanna
, но он не создает процедуру, а просто выводит данные в ааа

Ну так select aaa from [AstralEtalon].[dbo].[test] при всем желании не может что-то создать
4 май 16, 12:59    [19133109]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
stanna
Member

Откуда:
Сообщений: 20
Glory,
список того, чего нет
необходимо самому найти через код, я делала через sys.objects и sys.sql_modules по названию процедуры
4 май 16, 13:02    [19133136]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
В Management Studio Object Browser щёлкнуть правой кнопкой мыши на имени базы с процедурами.
В контекстном меню Задачи-Сформировать скрипты.
Отметить галочкой только процедуры, а по клавише Дополнительно установить True у пункта Проверка наличия объекта.

Полученный скрипт выполнить в другой базе на другом сервере.
4 май 16, 13:02    [19133138]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
stanna
Member

Откуда:
Сообщений: 20
Glory,
вот я и спрашиваю как можно сделать, чтобы создавало.
4 май 16, 13:04    [19133152]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
stanna
Member

Откуда:
Сообщений: 20
iap,
мне необходимо все через код
4 май 16, 13:05    [19133162]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
stanna
список того, чего нет

вы вопрос то прочитали ?
он был не про спискок чего, а про то, кто составит это список

stanna
необходимо самому найти через код,

Для того, что в одном запросе сравнить данные с двух серверов, нужно как минимум иметь соединение с двумя серверами
4 май 16, 13:05    [19133165]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
stanna
мне необходимо все через код

Ну так делайте через код.
Вопрос то конкретно по коду у вас какой ?
4 май 16, 13:06    [19133174]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
stanna
iap,
мне необходимо все через код
Это новая постановка задачи
4 май 16, 13:09    [19133191]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
sergeimv
Member

Откуда: Россия, г.Казань
Сообщений: 42
Создать на втором сервере линк на первый сервер (линкед сервер) и со второго позвать:

select 
	obj1.name 	
from 
	[LS1].[DB].sys.objects obj1
	left join [DB].sys.objects obj2 on obj2.name = obj1.name and obj2.type = 'P'
where 
	obj1.type = 'P'	
	and
	obj2.object_id is null


Будет список отсутствующих процедур на втором сервере.

declare @str varchar(max) = ''
select 
	@str += object_definition(object_id) 	
from 
	[LS1].[DB].sys.objects obj1
	left join [DB].sys.objects obj2 on obj2.name = obj1.name and obj2.type = 'P'
where 
	obj1.type = 'P'	
	and
	obj2.object_id is null

exec (@str)
4 май 16, 13:27    [19133298]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
stanna
Member

Откуда:
Сообщений: 20
Glory,
соединения с двумя серверами есть
4 май 16, 13:29    [19133312]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
stanna
соединения с двумя серверами есть

Где они есть ?
4 май 16, 13:32    [19133334]     Ответить | Цитировать Сообщить модератору
 Re: как перенести хранимые процедуры  [new]
stanna
Member

Откуда:
Сообщений: 20
ребят спс большое все получилось
особенно спс sergeimv
4 май 16, 15:32    [19134054]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить