2010-05-15 214 views
2

我正在編寫一個連接到SQL Server數據庫的C#.Net軟件應用程序。我的C#項目是在SVN版本控制下,但我想將我的數據庫模式包含在SVN存儲庫中。對previous question of mine的回答建議存儲腳本以在版本控制中生成數據庫。有沒有辦法從現有的數據庫自動生成這些腳本?如何將SQL數據庫的模式保存到文件中?

我很新的SQL服務器,但我的SQL命令來創建一個表可以自動在桌子上,單擊「腳本表作爲」右鍵單擊生成管理工作室注意到。是否有一個可用於整個數據庫的等價命令?

回答

1

您可以使用SQL-DMOSQL SMO腳本出來,或者像APEXSQLScript產品(如果你有很大的依賴性,你會想用一個成熟的第三方工具是這樣)。

4

你沒有提到的SQL Server的版本,但在2008年(甚至更早),您可以用鼠標右鍵單擊數據庫並選擇任務 - >生成腳本。該向導將引導您完成這些步驟。

+0

對方回答與「右鍵單擊數據庫 - >生成腳本」只會生成腳本來創建數據庫本身,但不是其中的表格。 – Klinger 2010-05-15 00:56:24

+0

@Klinger - 好的。當然,我的霧濛濛的記憶讓我忽略了臨時菜單項「任務」,但這正是我所指的。但是這個問題現在還沒有解決。我現在開始自我犧牲.... – 2010-05-15 04:13:47

0

我已經與內置的腳本生成的麻煩。特別是,嘗試從生成的腳本重新創建數據庫由於對象以錯誤的順序編寫腳本而失敗。 (所有對象都在那裏,它只是進行了一些重新排序。)

有一個實用程序ExecuteSQLScript將您指定的對象的類型轉儲給腳本。它甚至可以爲每個對象創建一個腳本,這對於SCM非常有用,因此您可以輕鬆跟蹤單個對象的更改。

http://exportsqlscript.codeplex.com/

1

我們使用Red-gate比較,它允許比較(在專業版中)針對SVN源代碼控制下的文件夾。提到的Apex工具可能具有類似的功能。

就個人而言,我覺得SSMS腳本生成一點點笨拙,寧願支付紅門東西

相關問題