Hola, Carlos.
>Quisiera saber como puedo hacer para actualizar los cambios hechos a una base de datos SQL Server.
>
>Yo tengo distribuidas muchas bases SQL Server del mismo programa y cada vez que hago un cambio en mi programa principal y en mi base de datos (aumeno campos, cambios en el diagrama, nuevos UDFS o store procedures, nuevos triggers, etc) tengo que actualizar a las otras instalaciones. Hay alguna herramienta que lo haga de forma automática, o SQL tiene alguna función para comparar dos bases de datos y ver cuales son las diferencias?.
No hay una herramienta de SQL Server para esto, pero si algunas de terceros, todas comerciales hasta donde conozco. Una buena y bastante económica (comparada con el resto) es xCase (
www.xCase.com) que hace mucho más que eso.
La alternativa es escribir tu propia herramienta, que es lo que hemos hecho nosotros ya que está incluído en nuesto instalador que incluye además de esto la sincronización de datos, configuración, y unos cuantos etcéteras propios de nuestro producto.
Para hacerlo te recomiendo echar una mirada a los objetos DMO de SQL Server, ya que no todo es posible hacerlo con SqlExec().
Busca DMO en MSDN y tendrás bastante documentación al respecto.
Saludos,