2012-06-21 6 views
0

Мы рекламируем много старых хранимых процедур для производства, но ссылаемся на окно разработки. Есть ли простой способ поиска всех процедур и их обновления? Я попробовал обновить поле defintion в sys.sql_modules, а также попытался обновить syscomments.text, но не смог. Вот пример того, что я пытаюсь сделать.Изменение SP в SQL Server 2008 с использованием SQL-запроса

В хранимой процедуре у нас есть следующий выбор * из vmdproduction.test.dbo.table1, я хотел бы переименовать vmdproduction в производство во всех случаях во всех хранимых процедурах.

Благодаря

+0

Если вы собираетесь делать это более одного раза, вам может понадобиться изучить один из сторонних инструментов разработки SQL. Я больше всего знаком с SQL Prompt Pro от Red Gate (эта функция называется Smart Rename), но похоже, что ApexSQL имеет бесплатную надстройку. –

+0

На самом деле это правда, я собираюсь сделать это дюжину времени, потому что количество SP, которое у нас есть, составляет более 400 плюс, причина для модификации - это обновление базы данных компании. Кстати, у меня есть поиск бесплатных инструментов, но, похоже, мне не очень помогает ..... –

ответ

2

Это, как я бы это сделать ... В Management Studio, щелкните правой кнопкой мыши базу данных, выберите Задачи, Сформировать сценарии. Пройдите мастер и обязательно включите все хранимые процедуры и «Script DROP и CREATE» (в расширенных опциях). Это сгенерирует файл сценария, который будет удалять и воссоздавать все процедуры. Затем вы можете выполнить поиск и заменить перед запуском скрипта. Обязательно создайте резервную копию db, прежде чем запускать ее!

+0

спасибо за ответ, но что я ищу, как изменить внутри конкретного SP, например, у меня есть employee_id существует в 23 SP, и я хочу изменить на emp_id. кстати, файлы, которые генерируются SQL-сервером, который не копирует содержимое SP ... Я бы применил вашу помощь –

+0

Какую версию SQL Server Management Studio вы используете? –

+0

Im using Sql server 2008 r2 .... большое вам спасибо ... U спас мое время, чтобы двигаться быстрее .... У меня есть все содержимое хранимых процедур. еще один вопрос после выполнения замены в текстовом редакторе, например, notpad ++, какой способ импортировать новый скрипт ... Извините за этот глупый вопрос, но я новичок в SQl-сервере. –

1

Использование SQL Server Management Studio
Чтобы изменить процедуру в Management Studio
1.В обозревателе объектов подключитесь к экземпляру Database Engine и разверните его.
2.Expand 'Базы данных', развернуть базу данных, в которой эта процедура, а затем развернуть 'Programmability'.
3.Expand «Хранимые процедуры», щелкните правой кнопкой мыши процедуру для изменения, а затем нажмите «Изменить».
4. Измените текст хранимой процедуры.
5.Чтобы проверить синтаксис, в меню 'Query', нажмите 'Parse'.
6. Чтобы сохранить изменения в определении процедуры, в меню 'Query', нажмите 'Выполнить'.
7. Чтобы сохранить обновленное определение процедуры как сценарий Transact-SQL, в меню 'Файл', нажмите 'Сохранить как'. Примите имя файла или замените его новым именем, а затем нажмите «Сохранить».