Estoy intentando cambiar el nombre de un procedimiento almacenado en SQL Server 2008 con sproc del sistema sp_rename. El tercer parámetro es que me da dificultad y aunque no dejo de recibir el siguiente error:Cambiar el nombre de un procedimiento almacenado en SQL Server
Msg 15249, Level 11, State 1, Procedure sp_rename, Line 75
Error: Explicit @objtype 'P' is unrecognized.
A medida que el mensaje indica que estoy pasando un P para el valor del parámetro. Me llamo el sproc así:
EXEC sp_rename @objName = @procName, @newname = @WrappedName, @objtype = 'P';
que una doble comprobación de la documentación, que dice que este es el valor de sys.objects. Me encontré con la siguiente volver a comprobar que no iba loca
select * from sys.objects where name = 'MySprocName'
y de hecho el tipo devuelto es P.
¿Alguien sabe lo que debería pasar por aquí? No quiero dejar esto vacío ya que estoy creando un sproc genérico para, entre otras cosas, cambiar el nombre de scripts arbitrarios y si hay una colisión de nombre entre un sproc y otra cosa, no quiero tener que preocuparme por eso.
Gracias, lo leí pero de alguna manera me perdí el valor correcto que necesitaba para ponerlo. –
Tenga en cuenta que al abandonar el procedimiento se eliminarán todos los permisos asociados. La mejor manera de cambiar el nombre es usar sp_rename y luego modificar proc para corregir sys_modules. – Boogier