Este tutorial ha sido probado por especialistas para que tengas la garantía de la veracidad de esta noticia.
Solución:
Simplemente omita el parámetro @objtype (el valor predeterminado es null) y funcionará.
EXEC sp_rename 'sp_MyProc', 'sp_MyProcName'
Recibirá la siguiente advertencia, pero el procedimiento será renombrado
Precaución: cambiar cualquier parte del nombre de un objeto podría dañar los scripts y los procedimientos almacenados.
Como otros dijeron, debe soltar y volver a crear el procedimiento.
Según los documentos, ‘P’ no es una opción correcta. Debería probar ‘OBJETO’ ya que parece lo más parecido a lo que está tratando de hacer. Pero, debes prestar atención a esta advertencia…
Cambiar cualquier parte del nombre de un objeto puede romper scripts y procedimientos almacenados. Le recomendamos que no utilice esta instrucción para cambiar el nombre de procedimientos almacenados, activadores, funciones definidas por el usuario o vistas; en su lugar, suelte el objeto y vuelva a crearlo con el nuevo nombre.
También (de la misma página de MSDN):
Cambiar el nombre de un procedimiento almacenado, una función, una vista o un activador no cambiará el nombre del objeto correspondiente en la columna de definición de la vista de catálogo sys.sql_modules. Por lo tanto, recomendamos que no se use sp_rename para cambiar el nombre de estos tipos de objetos. En su lugar, suelte y vuelva a crear el objeto con su nuevo nombre.