¿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.