Развертывание хранимой процедуры SQL Server на нескольких серверах - PullRequest
1 голос
/ 24 сентября 2011

Я управляю несколькими SQL Server 2000, 2005 и 2008; Я поддерживаю несколько сценариев в виде хранимых процедур и функций для повседневной деятельности; по мере необходимости я делаю изменения в своих локальных копиях этих скриптов, затем мне нужно применить эти изменения к одинаковым хранимым процедурам и функциям на каждом сервере базы данных; подключение к каждому серверу баз данных и замена того, что там есть, отнимает много времени и усилий.

Я пытался использовать утилиту sqlcmd с опцией -i, но она не работает; он продолжает выдавать ошибку.

Есть ли способ или инструмент, который я могу использовать для развертывания локальных хранимых процедур и функций на нескольких серверах sql?

хранимые процедуры и функции имеют такую ​​структуру

use dba
go

check if stored procedure or function exists 
   if so, drop it

create stored procedure or function

1 Ответ

1 голос
/ 24 сентября 2011

для SSMS 2008:

Раствор 1 (используется *): Вы можете использовать SQL Server Management Studio:

  1. Открыть Registered Servers панель.
  2. В Local Server Groups добавить новый узел (например, Production servers)
  3. В этом узле вы можете зарегистрировать каждый экземпляр сервера SQL (например, (local) и KDD...).
  4. Нажмите New Query.
  5. Редактировать запрос.
  6. Выполнить запрос.

enter image description here

Решение 2 (проверено): Вы можете использовать sqlcmd с :Connect server_name[\instance_name] [-l timeout] [-U user_name [-P password]] (:Connect is sqlcmd команда).

Решение 3 (не используется и не тестировалось): Центральные серверы управления & выполнение запросов .

Опции SSMS для нескольких серверов: Tools > Options > Query Results > SQL Server > Multiserver Results.

* используется для многосерверных запросов.

...