實戰 SQL Server 2005數據庫鏡像

SQL Server 2005 是微軟5年來具有里程碑性質的企業級數據庫產品。在高可用技術、額外的備份和恢復功能,以及複製增強上的投資使企業能夠構建和部署高可用的應用系統。SQL Server 2005在高可用上的創新有:數據鏡像,故障轉移集羣,數據庫快照和增強的聯機操作,這有助於最小化宕機時間和確保企業的關鍵系統可用。下面我們將介紹數據庫鏡像技術。
一、數據庫鏡像
SQL Server 2005 可通過數據庫鏡像來支持熱備功能。數據庫鏡像允許事務日誌以連續的方式從主服務器傳遞到備份服務器上。當主服務器出現故障時,見證服務器幾秒鐘內即可檢測到主服務器發生了故障,並能立即讓備份服務器接受數據庫連接。數據庫鏡像工作在標準服務器硬件下,不需要特定的存儲或控制器。圖1顯示了數據庫鏡像的基本配置。
圖 1: 數據庫鏡像的基本配置
二、與傳統的集羣技術比較
故障轉移集羣是一個高可用解決方案,它使用Microsoft Clustering Services 創建容錯虛擬服務器,一旦數據庫服務器宕機,便可提供快速故障轉移。在SQL Server 2005中, SQL Server 分析服務,通知服務,與SQL Server複製現在都已支持故障轉移集羣。集羣節點的最大數量也增加到8個,SQL Server 故障轉移集羣現已是一個完整的容錯服務器解決方案。
        從表1中我們可以看出數據庫鏡像的優點是故障切換時間短,對服務器要求低,無需存儲盤櫃,所以服務器之間的距離沒有要求,甚至可以把服務器一臺放在北京,另一臺放在上海。缺點是客戶端需要支持ADO.NET 2.0或SQL Native Client,老的應用程序需要升級,需要見證服務器才能實現自動故障轉移。
三、部署數據庫鏡像
     安裝好3臺Windows Server 2003企業版服務器,先加入到域中,名字爲NODE1.ftyy.com,NODE2.ftyy.com和NODE3.ftyy.com,然後依次安裝SQL Server 2005 Developer Edition、Developer Edition、和SQL Express。SQL Server 2005
    在每臺服務器上均使用SQL Server 外圍應用配置器,開放允許通過TCP/IP和NAME訪問數據庫,這是Server SQL 2005增強安全性的措施之一。如圖2
圖2
1.在NODE1上創建一個數據庫,名字爲testdb_01,數據庫的恢復模式必須使用完整模式。
create database testdb_01
GO
2.完整備份testdb_01數據庫。
BACKUP DATABASE testdb_01
TO DISK = 'C:\testdb_01.bak'
WITH FORMAT
GO
3.將備份文件拷貝到NODE2的C盤,恢復備份,數據庫名必須和NODE1一致,本例爲testdb_01,而且必須使用參數NORECOVERY。
RESTORE DATABASE testdb_01
    FROM DISK = 'C:\testdb_01.bak'
    WITH NORECOVERY
GO
4.在NODE1上運行SQL Server Management Studio——鼠標右鍵testdb_01數據庫——在屬性裏單擊鏡像選擇頁。如圖3
圖3
單擊配置安全性——彈出配置數據庫安全向導界面,下一步——包括見證服務器,下一步——在以下服務器上保存安全性配置,下一步——主體服務器實例:NODE1,端口和端點名稱默認,下一步。如圖4。
圖4
鏡像服務器實例:NODE2,端口和端點名稱默認,下一步——見證服務器實例:NODE3,端口和端點名稱默認,下一步——服務賬戶,下一步——完成。
選擇帶自動故障轉移功能的同步,單擊開始鏡像。
稍候,鏡像成功,在這裏可以手動故障轉移,測試數據庫鏡像。如圖5。
圖5
四、客戶端連接
我在Windows XP SP2  .NET Framework 2.0系統上測試了Sybase Powerbuilder 10.2 Build 8100開發工具,ADO.NET 2.0使用下面的字符串可以連接到數據庫,並隨故障轉移自動切換數據庫,訪問不受任何影響。
// Profile SQL Server 2005
SQLCA.DBMS = "ADO.Net"
SQLCA.LogPass = <*********>
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Namespace='System.Data.SqlClient',DataSource='node2.ftyy.com;Failover Partner=node1.ftyy.com;Initial Catalog=testdb_01',Database='testdb_01'"
 五、小結
SQL Server 2005數據庫鏡像技術爲企業通過提供了一個更安全、可靠和高效的數據管理平臺,並降低了投入成本,大大減少了應用程序宕機時間,提高了系統的可用性,使之能不斷拓展的企業應用空間,爲企業帶來新的商業應用機遇。
六、FAQ
1. A:單擊開始鏡像後,提示1418錯誤,鏡像服務器不存在或無法訪問。
Q:先加入域,再安裝數據庫,用域賬戶啓動數據庫服務,使用配置數據庫安全向導時用域管理員賬戶驗證連接。
2.A:PB10.2在連接數據庫時提示Failed to creat a instance of type DbRoutine
 Q:將X:\Program Files\Sybase\Shared\PowerBuilder\PBDATA100.dll拷貝到X:\Program Files\Sybase\PowerBuilder 10.0\目錄下
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章