Вы могли переустановить resolvconf для восстановления конфигурации по умолчанию:
sudo apt-get install --reinstall resolvconf
Другая идея была бы, удалите "resolvconf" и затем установите:
sudo apt-get remove --purge resolvconf && sudo apt-get install resolvconf
Согласно docs , "P" - неправильный вариант. Вам следует попробовать «ОБЪЕКТ», так как это кажется наиболее близким к тому, что вы пытаетесь сделать. Но вы должны прислушаться к этому предупреждению ...
Изменение любой части имени объекта может сломать скрипты и сохранить процедуры. Мы рекомендуем вам не используйте этот оператор для переименования сохраненного процедуры, триггеры, определяемые пользователем функции или представления; вместо этого отбросьте объект и воссоздайте его с новым имя.
Также (с той же страницы MSDN ):
Переименование хранимой процедуры, функции, представления или триггера не приведет к изменить имя соответствующего имени объекта в определении столбец представления каталога sys.sql_modules. Поэтому мы рекомендуем чтобы процедура sp_rename не использовалась для переименования этих типов объектов. Вместо этого бросьте и заново создайте объект с его новым именем.
Просто опустите параметр @objtype (значение по умолчанию - null), и он будет работать.
EXEC sp_rename 'sp_MyProc', 'sp_MyProcName'
Вы получите следующее предупреждение , но процедура будет переименована в
. Внимание: изменение любой части имя объекта могло нарушить скрипты и хранимые процедуры.
Как было сказано другими, вы должны отбросить и воссоздать процедуру.
sp_rename
не поддерживает процедуры:
Изменяет имя созданного пользователем объект в текущей базе данных. Эта объект может быть таблицей, индексом, столбцом, псевдоним типа данных или Microsoft .NET Среда CLR Framework (CLR) определяемый пользователем тип .
Просто создайте новую процедуру с тем же телом и новым именем, а затем отбросьте старую.
Я не уверен насчет переменной @objtype, но знаю, что переименование с помощью sp_rename - это плохо.
Когда вы создаете сохраненную процедуру, запись для нее существует в sys.objects, а определение сохраненной процедуры будет сохранено в sys.sql_modules.
Использование sp_rename изменит только имя в sys.objects, но не в sys.sql_modules, поэтому ваше определение будет неверным.
Лучшее решение - сбросить и воссоздать
В дни SQL 2000 было безопаснее DROP / CREATE - SQL использовался для того, чтобы метаданные для процесса не синхронизировались при использовании sp_rename.
Лучший способ узнать, как реализовать такой модный DDL, - это использовать SSMS для переименования объекта, пока прикреплена трассировка профилировщика.