2012-05-11 66 views
0

原諒我,如果這是一個愚蠢的問題,我知道以前有類似的問題,但我不能讓任何東西爲我工作。發佈一個MVC3應用程序與SQL Server 2008數據庫到IIS 7

我已經在c#中使用SQL Server 2008數據庫開發了一個非常簡單的mvc3應用程序。我需要將它發佈到運行iis7的另一臺PC上。我也需要數據庫結構和內容。

任何人都可以給我一步一步的演練做什麼?

在此先感謝

+0

我每週做兩次。你可以請我到目前爲止你做了什麼?我可以幫助你。 – Jonathan

回答

1

好,我已經得到了它現在使用以下步驟工作:

  1. 右鍵單擊在Visual Studio的解決方案資源管理器中的項目名稱,並選擇發佈,選擇File System的發佈方法,並指定一個目標位置(無論是網站根目錄或某處可以找到它,以便稍後移動文件)。
  2. 打開sql服務器管理工​​作室,找到你的數據庫,右鍵單擊它,任務,備份。設置一個目的地(容易找到的地方)並點擊確定(由@BobTheJanitor和@theunderscoregreg啓發)。
  3. 在iis上建立了一個新的網站,用於承載該網站的機器。
  4. 在新的網站根目錄中,我添加了一個名爲app的文件夾,其中放置了從第1步產生的所有文件(我通過ftp完成了這項工作,但我想它並不重要)。
  5. 在iis的連接側邊欄中找到您的新網站,並右鍵點擊app文件夾並選擇轉換爲應用程序。
  6. 再次在連接邊欄中點擊Application Pools,然後選擇您的新應用分配到的任意一個,右鍵單擊它並選擇高級設置。將.NET版本設置爲4.0,並將進程模型設置標識爲LocalSystem(發現此位here
  7. 在新主機上的SSMS中,右鍵單擊數據庫並選擇Restore Database...。在To database:字段中輸入與第一臺機器上的db相同的名稱。從設備中選擇並選擇您在步驟2中創建的備份文件(我必須將文件類型更改爲所有文件才能看到該文件),然後單擊確定。
  8. 這可能是特定於我的情況,不確定。我使用ADO.NET Entity Data Model項目項目來創建.edmx模型,該模型將一個連接字符串添加到名爲somethingEntities的Web.Config文件中。這個連接字符串似乎是特定於個人電腦的,因爲字符串的Source=部分是指特定的機器,所以我不得不編輯它。在iis中,選擇您的網站,然後選擇應用程序文件夾。打開ASP.NET部分中的connection strings項目。找到somethingEntities連接字符串並雙擊它,你現在應該有一個對話窗口,讓你編輯它。我所要做的就是將字符串中的PC名稱更改爲新主機的名稱。

我的新網站正在工作!我離專家很遠,意識到我在這裏所做的事情可能不是最佳做法,但它很有效。如果任何人可以提出改進建議,或更好的策略,我會更新這個答案或只是接受更好的答案。

1

糾正我,如果我錯了,但我會假設

我需要的數據庫結構和內容去與應用 了。

意味着您需要將數據庫結構和當前內容的數據庫部署到其他pc上。

根據在您的處置這裏的工具是幾個選項:

  1. 從SQL Server Management Studio中(http://msdn.microsoft.com/en-us/library/ms188664(v=sql.100).aspx

  2. 內使用複製數據庫任務如果您有Visual Studio 2010的溢價或Ultimate,在「數據」菜單下有用於比較和同步數據庫的任務(http://msdn.microsoft.com/en-us/library/aa833435.aspx#synchronize

  3. 如果您有Visual Studio 2k8數據庫, ctionality但我從來沒有使用它(http://msdn.microsoft.com/en-us/library/aa833435(v=vs.90).aspx)

  4. 使用sqlcmd.exe創建您的轉儲數據庫,移動這些,然後使用sqlcmd將它們恢復到新的環境([http:// msdn.microsoft.com/en-us/library/ms180944(v=sql.100).aspx][4]),退房維修部分。你只需要做一個備份,然後製作一個類似的.sql來使用RESTORE命令。 HTTP:// msdn.microsoft.com/en-us/library/ms186858(v=sql.100).aspx)

如果你打算做這個有很多,多臺機器,並且大部分內容都是靜態的,看看創建一個數據庫項目是否會幫助你。 (http://msdn.microsoft.com/en-us/library/84b1se47.aspx)

+0

謝謝,我已經在SSMS中使用了備份和恢復任務,以便現在完成它。 – Ben

1

有一種快速簡單的方法來做到這一點,如果它是一次性的東西,並且有一個長期可編程辦法。

快速和簡單的:您的應用程序文件複製到新的服務器到Web目錄,然後備份您的數據庫,然後還原其新的服務器上

長期:您可以查看到的東西msdeploy推你修改並查看諸如FluidMigrations或MS數據項目之類的內容,以便進行數據庫更改。

+0

現在,在這種情況下,快速簡單的方法非常理想。我假設你建議的長期解決方案能夠應付只是在不影響數據的情況下發布對db結構的更改? – Ben

相關問題