Sql-Server-Express

將數據庫從 Windows Server 2003 移動到 Windows 7/8?

  • August 5, 2015

我正在與這家公司合作,目前在虛擬化 Windows Server 2003 中執行他們的 SQL Express 數據庫。

對於將其替換為虛擬化瘦身 Windows 7 或 8.1,您的專家有何看法?

我知道這並不理想,但他們不願意為新的伺服器許可證付費。(請理解,根據您所在的位置,此費用可能是一個更高的問題)。

這是一個只有 8 個本地使用者和一些 RDP 使用者(2 個普通使用者,2 個非常隨意的使用者)的小型網路。

如果我理解正確,Windows 7 已將 TPC 連接限制提高到 20,但我不確定此限製或其他限制將如何影響其之上的 SQL 實例。

數據庫在年初被清除,然後它的大小約為 1.5 GB,到年底它會增長 (*) 到 ~10 GB。

( ) 它不必要地增長,因為其中絕對沒有那麼多有價值的數據,它是大量的日誌……*

你有什麼建議?謝謝你。

對我來說,您的問題似乎圍繞 3 個部分:

1-許可合規/支持/(安全合規?)。

2-最佳實踐為此服務。

3-測試它。這是一個不常見的情況。

對於#1,我聯繫了 MS Support,他們說:

"MS REP: Hello, how may I assist you today?
Ali: at 11:49:20
Hello MS REP, may I use SQL Express in a corporate environment for commercial purposes and will it be supported by MS in that scenario?
MS REP: at 11:50:41
I am glad to assist, as long as you don't go over a 10 gigabyte database, only have a 1 processor/CPU computer running it, and don't need any of the additional features of the full editions, then yes it will be fine.
Ali: at 11:50:55
Perfect.
Ali: at 11:51:02
Let's see what they do when it hits 10gb lol. TY"
You're welcome, how large of a database are you using now?  The server will actually start crashing and failing a bit before you hit 10 GB, so if you are already at 9 GB, it would be a good idea to invest in a paid edition.
Ali: at 11:52:24
that's a great idea, they should do that even before 9GB IMO. do you know if the transaction log also counts as part of the DB Size or just the data files?
Danforth T: at 11:53:13
MS REP: data will count towards the total for as long as it is in the system.  If it gets stored permanently, then yes, transactional logs, applications, other servers, and data files will all contribute to the total.
Ali: at 11:54:22
thank you. thats good to know!"

因此,根據代表的說法,不僅您的數據文件計入它,日誌和臨時數據也計入它。如果您已經在使用 express,您可能已經意識到它的局限性。

CPU: 就最佳實踐而言,您能否在您選擇的虛擬機管理程序中為其提供一個非常好的 CPU,因為您對此有限。如果需要,也許可以使用 powershell 或其他選項設置您自己的日誌傳送,以獲得某種“HA”。這更多是為了確保您不會失去數據,因為看起來使用者太少並且數據庫大小限制如此之小以至於恢復時間可能不是問題。

RAM: 您的 RAM 被限制為 1GB,因此請確保您的執行計劃記憶體未滿並解決該問題,否則或者還要確保您有快速磁碟。10GB 磁碟和 1GB 記憶體意味著我們回到了優化磁碟的 32 位時代。現在我們有了 SSD,所以這是一個很好的作弊方法。

磁碟/IOPS:他們不想支付許可費用?好吧,花 200 美元買個不錯的三星 850,它的使用壽命很長。如果他們想要真正便宜並失去日誌備份的尾部,請將您的 tlog 和數據放在那裡。您仍然可以獲得 IOPS,並且經常從磁碟備份日誌,最好是從 VM 備份,對嗎?你是因為如果你不是,你現在將失去一切。如果可能的話,備份到另一個 VM 上的磁碟或 NAS 設備上,以防萬一實際 VM 損壞並且由於某種原因無法訪問虛擬硬碟驅動器文件。記得測試還原。

監控: 監控您的數據大小和磁碟秒數/讀寫。Windows Server 在核心中的許多方面都進行了優化,而這是 Windows 7 所沒有的。它可能在所有地方蔓延。從舊系統中獲取良好的性能基準,並將性能與新系統進行比較。

**測試測試測試:**您能否在遷移時重放新 VM 上的一些負載?在新機器上重放生產負載。建立一個新的並行實例並恢復昨晚的備份,然後記錄所需的安全和配置步驟,以便您可以編寫腳本並在 VM 出現故障或需要重做時重複執行。編寫好腳本後,恢復 EOD 備份並與最終使用者一起測試。讓他們都繼續你的新測試實例並努力嘗試。進行載入,收集指標。讓他們在目前的產品伺服器上做同樣的事情並收集指標。怎麼樣?好的?您更接近於正確實現這一點,或者像在產品中使用 Windows 7 上的 sql express 一樣“正確”…

**掩護你的屁股:**讓企業知道這是 Windows 7,從長遠來看,他們實際上可能會花費更多的支持費用。您可能希望收集指標以在 6 個月內顯示它們。讓他們知道他們的 SLA,例如恢復時間、可接受的數據失去,並確保測試您的備份/日誌傳送也是首選。Express 上的 Homebrew 日誌傳送也測試了 tlog 備份。如果您將 tlogs 放在 1 個磁碟上,請讓他們知道由於沒有日誌備份的尾部,最多可能會失去 x 分鐘的數據。

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