Sql-Server

應用程序/MS SQL Server Express 安裝程序

  • August 19, 2019

我們正在開發一個收集和儲存數據的小型(ish)應用程序。它是低吞吐量、低容量的,但需要能夠從(幾乎)任意更早的時間存檔和檢索數據,因此決定將數據儲存在 MS SQL Server Express 數據庫中。對於使用者來說,數據庫是不可見的。設置是:

  • 應用程序 - Visual Studio 10(是,10)C#、.NET Framework 4.0

  • 數據庫模式(表、視圖、查詢…)

  • MS SQL Server 速成版 2008 SP2

  • MS Visual Studio 生成的安裝程序(不是 Installshield 之一),它…

    • 安裝應用程序
    • 安裝 .NET 4.0(如果需要)
    • 安裝 MS SQL Server Express 2008 SP2
    • 不創建實際數據庫

此時,我們可以使用 MS SQL Management Studio 或 Visual Studio 創建數據庫。但是對於生產部署,必須通過安裝程序或應用程序的啟動功能自動創建數據庫:從全新的 Windows 7 或 Windows 10 安裝開始(我們事先無法使用 PC ),執行安裝程序然後啟動應用程序(例如由我們的服務人員)就足夠了。此外,應用程序不應依賴於登錄 PC 的使用者。

問題:如何使數據庫,err …出現在目標 PC 上?

到目前為止我考慮過的選項:

  1. 創建數據庫,使數據庫文件成為安裝程序的一部分,將它們複製到正確的 SQL Server 目錄中,希望它能夠辨識它(會嗎?)
  2. 與上面相同,但將文件安裝到 CommonAppDataFolder 中,並將其附加到 SQL Server。
  3. 讓應用程序測試數據庫是否存在,如果不存在,則執行 SQL 腳本(由 SSMS 生成,已修改)來創建數據庫(目前已實現)。

你會推薦哪個選項?

創建數據庫,使數據庫文件成為安裝程序的一部分,將它們複製到正確的 SQL Server 目錄中,希望它能夠辨識它(會嗎?)

它不會,之後您必須將數據庫附加到您的伺服器。您可以添加一個 sql 腳本,將文件附加到您的伺服器。

讓應用程序測試數據庫是否存在,如果不存在,則執行 SQL 腳本(由 SSMS 生成,已修改)來創建數據庫(目前已實現)。

這可能是一個不錯的選擇。如果您可以在安裝中執行 .sql 文件,可能會更好,這樣您的應用程序在使用者首次執行時不會有任何延遲。

我也認為這取決於數據庫文件的大小。如果它很大,你可以選擇第一個選項,如果不是,我會使用第二個選項。

引用自:https://dba.stackexchange.com/questions/245607