2012-01-23 17 views
7

。だから私はすべての私の.NETプロジェクトを私のGithubアカウントに移行し、Gitを使って私のすべてのSQL Serverデータベースも管理したいと思っています。私のすべてのプロジェクトでは、データベースファイルを/ Databaseサブディレクトリに置くので、ソースツリーには/Databases/MyDatabase.mdfと/Databases/MyDatabase.ldfがあります。私はGitを使ってこれらのファイルを追跡しています.Gitubでソースの残りの部分とうまく表示されます。GitリポジトリとSQL ServerのMDFファイル

ここで私は何が起こると予想しています:私はNET STOP MSSQLSERVERを停止し、私はGitがそのブランチのMDFとLDFファイルをプルダウンするようにブランチをチェックアウトします。 NET START MSSQLSERVERを使用してSQL Serverを再起動し、特定のブランチのソースとデータベースで必要な作業を行います。 GitはMDFファイルの変更を追跡し、ステージ/コミット/プッシュを行うと、変更をリモートリポジトリに戻します。

私は、データベースをプルダウンして、テーブルに新しい列を追加し、コミットを行うことによって、これを試してみました。 Gitは、私が期待していなかった項目に変更はないと言いました...私はMDFファイルを変更しました。 GitがMDFファイルの変更を追跡することはできないのですか?私の最初の推測は、おそらくバイナリでテキストベースではないのでGitに問題があるかもしれないが、Gitを使用して画像ファイルやその他のバイナリアイテムを追跡して問題のように見えない。何か案は?それはできないのですか?これをやろうとしていないのでしょうか?あなたのコメントを事前に感謝します。

+0

オフトピック; DBA SEに移行する投票。 – Yuck

答えて

8

任意のソース管理に変更データベースファイルを配置することは非常に悪い考えです。適切なスクリプトを作成/更新してソース管理に保存しようとすると、DB内でスキーマの変更を追跡する適切な方法です

Visual Studioを使用している場合は、データベースとサーバープロジェクトその中に。しかし、時には、それは奇妙な方法で動作するので、注意して使用し、優しく

ORあなたはレッドゲートスキーマを比較またはレッドゲートのデータが

の比較のように、DBスキーマ 内部の変更やデータを追跡するためにいくつかの無料/商用ソフトウェアを使用することができます
+0

私があなたの答え/アップヴォートを受け入れるのは、それがなぜ悪いのか説明するならば...私がしたいのは、開発中に必要に応じてファイルのバージョンを変更をロールバックすることです。私はブランチMDFファイルをマスターや何かにマージすることを期待していません - ファイルのバージョン管理が必要です - .mdf/.ldfとPhotoshopファイルの違いは何ですか?私が初期の開発中に行うすべての変更をスクリプティングするのは苦痛です。私はRedgate SQLの比較とデータの比較を使用しています。g。プロデュースするためにqaへのdev)。 –

+2

@ CK1スキーマが少し変更された場合、SQL ServerによってDBが開かれるたびに、最小のDBサイズが4Mbであるため、ファイル/ログ全体がサーバーに再ロードされます。スクリプトのみを変更してソース管理に保存すると、DBの変更履歴がきれいに表示されます –

+0

@ CK1何か答えを受け入れることを検討しますか? –

1

SQLソース管理ツールを使用して開発の変更を追跡することを検討しましたか?これは、あなたのためにすべての「スクリプティング」をバックグラウンドで実行します。これは実際にSQL Compareのエンジンを使用しています。

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

オレグが正しく指摘するように、それはSQLを比較し、SQLデータの比較使用して、スキーマの変更を追跡することが可能ですが、ここではレッドゲートで私たちは、あなたがソース管理下に開発環境を維持する上でこれを行うお勧めしません。理想的には、両方を行う必要があります。 Grant Fritcheyは、SQL Compareのコマンドラインをソース管理システムで使用してスキーマの変更を追跡する方法について説明した素晴らしい記事を書いています。彼は彼の例でSourceGear Vaultを使用していますが、原則はどのソース管理システムにも当てはまります。

http://www.simple-talk.com/sql/database-administration/auditing-ddl-changes-in-sql-server-databases/

関連する問題