Se completó con éxito la desprotección. No se puede compilar.

Si desprotege un procedimiento almacenado del control de código fuente y existen diferencias entre la versión de control de código fuente y la versión de la base de datos, la ventana Mostrar diferencias le ayuda a elegir una de las dos versiones.

Si utiliza la versión de control de código fuente, se desprotege el procedimiento almacenado y el texto se guarda inmediatamente en la base de datos. El proceso de guardar el texto en la base de datos (y, por lo tanto, sincronizar con el control de código fuente) puede fallar si ha habido cambios en los objetos de base de datos utilizados por el procedimiento almacenado (por ejemplo, si usted u otro programador ha modificado una tabla). Mientras el procedimiento almacenado estaba en el control de código fuente, ha habido modificaciones en la base de datos que afectan al procedimiento almacenado. En este caso, la desprotección del control de código fuente se realizará con éxito aunque la actualización de la base de datos (incluida la compilación del procedimiento almacenado) fallará, lo que mantendrá intacto el procedimiento compilado anterior.

Este mensaje de error también puede aparecer si utiliza el comando Deshacer desprotección y la versión de la base de datos del procedimiento almacenado es distinta de la versión de control de código fuente. En este caso, el comando Desproteger se ejecutará correctamente, aunque la compilación del procedimiento almacenado en la base de datos puede fallar si ha habido cambios en los objetos de la base de datos que afectan a la versión de control de código fuente del procedimiento almacenado.

Como regla general, debe mantener siempre sincronizadas las versiones de los procedimientos almacenados de la base de datos y control de código fuente.

Para corregir este error

  1. Mediante el editor, sincronice el texto de los procedimientos almacenados del mismo nombre tanto en la base de datos como en el control de código fuente.

    O bien

  2. Utilice nombres únicos para cada procedimiento almacenado distinto. Puede copiar la versión de la base de datos de un procedimiento almacenado y asignarle un nombre nuevo: en el Explorador de servidores, abra el procedimiento almacenado para editarlo y modifique el nombre del procedimiento en la parte superior del archivo. Tras guardar el procedimiento con el nombre nuevo, elimine el procedimiento almacenado antiguo en el Explorador de servidores. Puede cambiar el nombre de los procedimientos almacenados en el control de código fuente mediante el comando Cambiar nombre.