Cómo usar git como proveedor de control de código fuente para SQL Server Management Studio

¿Podemos usar GIT como control de origen para el estudio de gestión sql?

para el control de origen de la database dentro de SSMS

Agente SVN – SCC Subversion Plug-in. http://www.zeusedit.com/agent/ssms/ms_ssms.html

o

http://www.networking-gate.com/products/sql-development/sql-source-control/

enter image description here

Descubrí que ApexSQL tiene una herramienta que admite nativamente Git como un sistema de control de origen. Se presenta como un complemento de SSMS y ofrece un asistente que puede usar para asignar objects de database con los sistemas de control de origen. Para hacer eso:

  1. Descargue e instale ApexSQL Source Control
  2. Inicie SSMS y en el explorador de objects select la database que desea vincular a un control de origen
  3. Haga clic con el button derecho en la database y configure el menu contextual, select la opción Vincular database a control de origen desde el submenu ApexSQL Source Control
  4. Seleccione el sistema de control de fuente (en su caso es Git) y elija entre 2 models de desarrollo de database: compartido o dedicado. Se recomienda el model compartido cuando se vincula una database en la que varios desarrolladores trabajarán al mismo time Modelo de desarrollo de base de datos: elija entre compartido o dedicado
  5. Filtre los objects que no desea rastrear mediante el control de origen: por esquema, tipo o nombre por esquema, escriba o nombre
  6. Proporcione la información de inicio de session y la cadena de repository adecuadas. Para Git es: <protocol>://<hostname>:<portnumber>/<Git server name>/<repository> (ver ejemplo a continuación): Inicie sesión en el sistema de control de fuente Git

Se pueden encontrar instrucciones paso a paso más detalladas en este artículo: http://knowledgebase.apexsql.com/link-database-source-control-system-2/

Podría agregar Git Bash como una herramienta externa (Herramientas | Herramientas externas …):

  • Nombre: & Git (use & para especificar una tecla de acceso rápido)
  • Comando: C:\windows\SysWOW64\cmd.exe (shell de commands de 32 bits)
  • Argumentos: /c ""C:\path\to\Git\bin\sh.exe" --login -i" Encontrar la ruta donde está instalado Git en un sistema Windows
  • Directorio inicial: $(ItemDir)

Todavía no, pero si vas a http://networkinggate.uservoice.com/forums/39019-sql-source-control/suggestions/537681-add-git-support y votas por networkinggate para agregar soporte para git, es posible que se agregue en la próxima versión. Sí, sé que es un producto comercial, pero algunos productos son lo suficientemente buenos como para pagar.

Red Gate SQL Source Control se ha actualizado para include compatibilidad con Git y Mercurial (así como con Perforce y TFS). Tenga en count que su integración con DVCS no está completa al 100% en relación con su producto SVN, ya que las características básicas, como el historial de visualización de un object, no son compatibles desde SSMS. Esto puede ser un factor decisivo si otras herramientas de Red Gate como SQL Compare son parte de su flujo de trabajo.

Nuestra solución fue instalar TortoiseGit o GitExtensions y navegar al repository en el disco para profundizar en los detalles. Funciona, pero es un poco torpe.

Pruebe sql-source-control , una CLI de fuente abierta y gratuita que se utiliza para get SQL en sistemas de control de fuente como Git.

https://www.npmjs.com/package/sql-source-control

Como SSMS es (más o less) una versión personalizada de Visual Studio, es posible que pueda utilizar una solución destinada a VS:

Usando Git con Visual Studio

Alternativamente, administre su código fuente de BD en Visual Studio desde el principio, no en SSMS. De esa forma (al less en VS2010) tiene proyectos de bases de datos, implementación integrada y testings unitarias, etc. O continúe usando SSMS y verifique su código desde una herramienta externa cuando esté listo (no es tan conveniente, por supuesto).

Pero depende exactamente de lo que esté haciendo: SSMS es una herramienta de DBA, VS es una herramienta de desarrollador. De cualquier manera, debe usar algún tipo de control de fuente, pero no está claro a partir de la pregunta exactamente qué tipo de files necesita para la versión.

VersionSQL es un complemento de control de código fuente de SSMS que he diseñado para que sea liviano y fácil de usar. En el panel del Explorador de objects, simplemente haga clic derecho en una database u object y click Confirmar. VersionSQL lo script a Git / SVN en una estructura de carpetas orderadamente organizada.

Compruébelo en https://www.versionsql.com

Ha habido una serie de respuestas sobre esta pregunta que es posible que desee ver, pero en pocas palabras …

La naturaleza del control de versiones es almacenar el file original y luego los deltas, la diferencia entre el file original comprometido y los cambios posteriores (ok, lo he hecho un poco más simple de lo que es quizás) y luego administrar el número de versión y dar herramientas para extraer cualquier revisión particular que necesite. Esto también le permite comparar revisiones previas y retrotraer (etc., etc.)

El RDBMS se compone del esquema y los datos y estos cambian y pueden cambiar con frecuencia en el caso de los datos, de modo que, incluso si hiciera VCS, ¿qué compararía para hacer una restauración y cómo sería esa ayuda? Suponiendo que tiene un sistema en vivo, entonces volver a una revisión anterior perdería todos los datos almacenados mientras tanto y aunque nunca lo he probado, sospecho que podría destruir la integridad general del RDBMS.

La mejor solución es usar una aplicación de respaldo creada para ese RDBMS, MySQLdump dice en el caso de MySQL que hace una instantánea de los datos y la estructura de los datos y los guarda en un lugar seguro.

Los volcados se pueden progtwigr regularmente y usted puede hacer cosas como bases de datos maestro / esclavo (u otras estrategias) para que pueda realizar copys de security de bases de datos de producción en vivo sobre la marcha sin afectar el performance