2014-08-27 73 views
0

我在SQL Server 2008中有一個數據庫。我通過添加一些新表來開發數據庫。最後,我分離並再次附加它。但應用的更改(重新設計,添加和刪除表)不再存在...更改後未在SQL Server Management Studio中保存

會發生什麼?爲什麼我不能將更改保存在數據庫中?

+1

您是如何修改表格的?你是否創建了一個腳本並實際執行它? – 2014-08-27 15:09:39

+0

@SeanLange no我使用了管理工作室的界面。只需**,右鍵單擊表**文件夾 - >然後**新表** – 2014-08-27 15:14:11

+1

呃。你真的應該使用腳本來創建對象。最初可能會稍微慢一點,但從長遠來看,它會更快。除此之外,你在分離之前是否保存這些表格?只需拉起UI來創建表格就不會創建表格。你必須保存它。 – 2014-08-27 15:16:55

回答

0

This article可以幫助你理解這個問題:

更改時對數據庫進行,包含這些更改事務日誌在.LDF文件被捕獲。過了一段時間後,所做的更改將轉移到.MDF文件中,這是您移動並重新連接的內容。

如果您在完成該過程之前分離了數據庫,那麼有關表更改的信息尚未轉移到.mdf文件。當你連接數據庫時,它只知道.mdf文件,而不是.ldf文件,並且缺少你的更改。

試試這個:將.ldf文件和.mdf文件一起復制到新目錄中,並從那裏附加數據庫。它應該有所有變化。

+0

謝謝,但你是否認爲備份或複製數據庫,並使用BACKUP和RESTORE而不是分離。 – 2014-08-27 17:21:28

+0

[那個討論](http://dba.stackexchange.com/questions/11177/attach-detach-vs-backup-restore)可能是[一個單獨的問題](http://meta.stackexchange.com/questions/ 39223/one-post-with-multiple-questions-or-multiple-posts)...我想驗證建議的更改是否解決了問題,然後再繼續討論該問題,這取決於許多其他因素。 – AHiggins 2014-08-27 17:24:53

相關問題