学习SQLSERVER2005高可用性数据库镜像的一些心得
前一段時間在微軟TechNet上看了一個SQLSERVER2005數據庫的一個教程,里面都是一些牛人講的關于SQLSERVER2005的方方面面,非常不錯。坐下來聽吧,講的真不錯。幫助很大。
有一節是講高可用性數據庫鏡像的,單位的SQLserver數據庫正好準備優化并且領導提出要一個高可用性的方案,正好對路唉,原來準備用異地群集的,咨詢了一些朋友,異地群集的成本非常高昂。正好看看這個“數據庫鏡像”好像是挺好的功能,看看可不可以用上。
牛可老師講的不錯,我也是越聽越愛聽,這個技術不正是我想要用的嗎!!!真是打盹就碰上枕頭,好事呀~!
聽完課,決心自己動手開始實驗,下載了牛可老師的演示文件,將腳本文件準備好。哈哈,開始動手了。
在一臺機器上安裝了Virtual Server 2005,創建了三個服務器,一個是DC,一個是主數據庫,一個是見證服務器。因為準備遠程鏡像測試,所以在另外一臺機器上也同樣安裝了Virtual Server 2005,創建了一臺服務器作為數據庫鏡像服務器。
按照教程的指示,將三臺測試用的Sqlserver服務器加入DC域,準備工作做好了,從公司正在使用的數據庫中做了一個備份,準備用這個數據進行測試。
首先在主數據庫上對備份進行了完整的恢復,準備做鏡像使用。
然后就是按照教程的指示,對主數據庫進行完整備份,準備在鏡像數據庫恢復使用。
將完整備份拷貝到鏡像數據庫,按照教程的指示恢復備用。
然后在主數據庫服務器,鏡像數據庫服務器,見證服務器上分別創建鏡像端口,分配權限等等。均按照牛可老師的教程來做的,一切也都指示正常,沒有發生錯誤。
準備工作做好了,開始鏡像數據庫。
第一步應該是在鏡像數據庫上指定主數據庫服務器為鏡像伙伴,SQL指令執行后,提示正常完成,沒有錯誤。
第二步應該是在主數據庫服務器上指定鏡像數據庫服務器為鏡像伙伴,SQL命令執行后,開始出問題了,總是報告“消息 1418,級別 16,狀態 1,第 1 行 服務器網絡地址 "TCP://機器名或IP地址:端口號" 無法訪問或不存在。請檢查網絡地址名稱,并檢查本地和遠程端點的端口是否正常運行。”。
頭大如斗,有啥辦法呢,開查吧!!!
先是上網google了一下,看看有沒有人有同樣的問題。
哈哈,衰人無數,都和我一樣死在這里。
答案也無數,各種各樣的回答,琳瑯滿目呀。開練吧!!!
依照各種高人的提示,檢查了無數的可能性,網絡,端口,防火墻,域環境,域帳號,服務帳號,SQL角色,命令行方式,圖形化方式。飛機大炮,小刀橡皮,全招呼上了!!!
要說微軟還是厲害,所有的招數招呼上去,人家就是一句話:“消息 1418,級別 16,狀態 1,第 1 行 服務器網絡地址 "TCP://機器名或IP地址:端口號" 無法訪問或不存在。請檢查網絡地址名稱,并檢查本地和遠程端點的端口是否正常運行。”,堅貞不屈呀!!!
繼續Google,一牛人說用一臺機器上三個SQLSERVER2005服務器實例可以實驗成功!!!,我暈,一臺機器上3個SQLSERVER2005實例,那的多好的機器呀。
人家牛人說了,干吧!!!
虧得是虛擬機呀,還好用的是差異硬盤,三下五除二裝好了服務器,開始瘋狂的安裝3個SQLSERVER2005服務器實例。裝完了,裝完了,裝完了。為什么3個裝完了,不是3個服務器實例嗎?
導入數據,創建鏡像端口,等等,將上次測試的SQL腳本帶入,運行。我的娘啊,這句話已經融化在血液中,銘刻在腦海里。“TCP://機器名或IP地址:端口號" 無法訪問或不存在。請檢查網絡地址名稱,并檢查本地和遠程端點的端口是否正常運行。”。
我靠,Fuck,八個雅鹿。我現在有些明白那些刑訊逼供的為什么會暴跳如雷了。
我暈倒了,我不干了,我累了,我睡了,我放棄了,我休息了。
休息了兩天,什么都不想,技術上的一律不想。哈哈,老板以為我瘋了,天天翹著腳,比他還牛。
第三天,正翹著腳,就像一休哥的電燈泡一樣,當的一聲腦子里轉過了一個想法,最早實驗的時候,新建的數據庫,實驗是成功的。所以才用自己的數據庫實驗的,沒理由嗎,不會問題就出現在這里吧。
說干就干,在一臺機器3個服務器實例的虛擬機上就開始了瘋狂的操作。哈哈哈哈哈哈,成功了。我靠,什么原因呢,不管它,我也想不明白,這個問題留給高人去解釋吧!!!
趕緊轉到三臺服務器的測試環境中,用實際的數據庫名等建立了一個空數據庫,然后依照步驟,開始進行鏡像實驗,成功了。
爽。然后就是常規的一些操作,將原有的數據庫結構創建進新的數據庫中,最后是導入數據。因為是鏡像環境,感覺上受網絡的影響比較大,尤其是大數據量操作的時候。
總之是測試成功,測試的結果也符合我們的需要,下一步就是準備部署在生產環境中了。
?
總結一下吧:
具體的故障原因我不清楚,但是可以肯定的說,如果你要是信了那句錯誤信息的話,那就是和我一樣去繞彎路吧。
簡單的解決辦法:創建一個新的空的數據庫,然后在這個數據庫上進行數據庫鏡像操作。等鏡像操作成功后,在創建表,視圖,存儲過程等,最后導入數據。就可以得到一個數據庫鏡像的環境了。
區區不才,一點粗淺之見,望各位高人斧正。另外有高人知道具體的錯誤原因嗎!!!我是查不出來了,有高人知道的話,講一些給大家,善莫大焉!!!
轉載于:https://www.cnblogs.com/panda/archive/2007/08/29/874311.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的学习SQLSERVER2005高可用性数据库镜像的一些心得的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#3.0语言规范new [Unifie
- 下一篇: Jquery使用手册3--css操作 作