¿Qué haces en SQL Server para CREAR O ALTERAR?

El año es 2009 y SQL Server no tiene CREAR O ALTERAR / REEMPLAZAR. Esto es lo que hago en su lugar.

IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.ROUTINES 
           WHERE ROUTINE_NAME = 'SynchronizeRemoteCatalog' 
             AND ROUTINE_SCHEMA = 'dbo' 
             AND ROUTINE_TYPE = 'PROCEDURE')
 EXEC ('DROP PROCEDURE dbo.SynchronizeRemoteCatalog')

CREATE PROCEDURE dbo.SynchronizeRemoteCatalog
AS BEGIN
    -- body
END

Para los disparadores, tienes que apoyarte en las vistas del sistema propietario.

¿Es esta la convención más aceptada mientras tanto?

EDITAR: Como sugirió n8wrl, lapalabra oficial sugiere que esta característica no es una alta prioridad. De ahí la pregunta.

Respuestas a la pregunta(14)

Su respuesta a la pregunta