2015-07-20 72 views
3

我正在一個項目中工作,我是唯一一個工作的人。我盡我所能,盡力用「最佳實踐」來做所有事情。在兩個位置之間傳輸我的(小型)SQL Server數據庫的最佳方式是什麼?

我從2個地點開展項目 - 工作電腦和家用電腦。我定期提交Git回購,並保持這兩個位置都是最新的。

在我實現了一個小的SQL Server數據庫與我的應用程序上週末,走進今天的工作,發現.mdf文件自動爲我.gitignore

做了一些挖掘,似乎是它應該如何保持。我查看了控制數據庫的源代碼,但是一切似乎都指向昂貴的軟件,或者我無法理解的一些工具。

不僅要保存該數據庫的結構,還要保證數據庫的數據內容在我的家庭和工作地點之間相同,最好的辦法是什麼?我應該從源代碼管理中刪除.mdf並且這樣做嗎?或者做XYZ會更好嗎?

回答

1

在一個位置進行備份並在另一個位置進行恢復將很容易。您可以使用免費的SSMS進行備份和恢復,也可以根據需要直接在代碼中進行恢復。您可以壓縮生成的.bak文件。這是最簡單的方法之一。

你也可以分離和附加mdf文件,但我發現備份更容易管理。

+0

這是SSMS的最新免費版本? (在此處下載有問題:此時https://www.microsoft.com/en-gb/download/confirmation.aspx?id=8961)。因此,我應該備份然後壓縮數據庫,將更改推入回購,然後在新位置取消回購,解壓縮和恢復備份?似乎比推/拉更多的工作! – pingu2k4

+0

無論最新版本的SQL服務器是什麼,即現在是2014年。但是,您可以下載並使用與您的版本相匹配的版本。 我沒有想到在版本控制的上下文中,這對我來說是更多的工作,可以通過點擊一個不需要的「撤消檢出」來推/拉我的數據並丟失數據(我只需登錄到我的工作計算機即可遠程工作,更喜歡通過預定備份來控制源代碼管理)。 –

1

更多選擇:

你可以與包括所有數據的同時創建數據庫創建/修改腳本。插入/更新語句。或者您可以將數據存儲在csv中並通過腳本填充。並將這些腳本和csv數據文件存儲在任何版本控制工具中。

下面是兩處修改:

  1. 腳本將刪除現有的數據庫,然後從頭開始創建它像sqlfiddle

  2. 腳本,它最多可以更新現有的數據庫版本到最新版本,而不刪除數據

第二種方式是比較複雜的,但它可以是唯一的出路,有時,因爲企業級系統許多環境中的許多版本都必須保持測試和生產數據不變。

所以我認爲擬議版本的第一個更適合您的情況。

+0

謝謝。有沒有可能有用的腳本的任何「模板」?什麼時候我會運行這些腳本,每次從回購拉動後? – pingu2k4

+0

你可以在管理工作室中右鍵點擊你的數據庫並選擇task-> generate scripts,然後選擇scheme + data選項作爲數據,SQL server會自動創建所有必要的腳本 - https://technet.microsoft.com/en -us/library/ms178078(v = sql.105).aspx –

+0

就像所有其他代碼一樣 - 當您想要提交到存儲庫的數據庫版本時,您可以生成一個腳本並將它或修改的腳本提交到你的版本庫 –

相關問題