/*===========================================================*/
/*--服務器檔機處理說明
使用這種方式建立的數據庫同步,當主數據庫不可用時(例如,主數據庫損壞或者停機檢修)
可以使用以下兩種方法使備用數據庫可用。
--*/
1. 如果主數據庫損壞,無法備份出最新的日志,可以直接使用下面的語句使備用數據庫可讀寫(丟失最近一次日志還原后的所有數據)。
--RESTORE LOG Db_test_bak WITH RECOVERY
2. 如果主數據庫可以備份出最新日志,則可以使用下面的語句。
--先備份主數據庫的最新的事務日志
--BACKUP LOG Db_test TO DISK=''c:\test_log.bak'' WITH FORMAT
--再在備用數據庫中恢復最新的事務日志,并且使備用數據庫可讀寫(升級為主數據庫)
--RESTORE LOG Db_test_bak FROM DISK='c:\test_log.bak'
簡單地說:
1. 你的sql服務要使用指定的windows用戶登陸, 而不能使用"本地系統帳戶"
2. 用于登陸sql服務的用戶要求對共享目錄具有所有權限
3. 如果你的電腦沒有加入到域, 還必須保證源和目標服務器的sql服務設置的登陸用戶是一樣的(用戶名和密碼都一樣)
網絡備份主要是權限設置問題, 參考下面的備份文件共享目錄權限設置方法去解決目錄的共享權限就可以了
下面假設是假設A服務器上的數據庫備份到B服務器上的共享目錄權限設置(兩臺服務器應該在局域網內,允許目錄共享訪問)::
1.機器A,B創建一個同名的windows用戶,用戶組設置為administrators,并設置相同的密碼,做為備份文件夾文件夾的有效訪問用戶,操作:
我的電腦--控制面板--管理工具--計算機管理--用戶和組--右鍵用戶--新建用戶--建立一個隸屬于administrator組的登陸windows的用戶
2.在B機器器上,新建一個共享目錄,做為備份文件的存放目錄,操作:
我的電腦--D:\ 新建一個目錄,名為: BAK--右鍵這個新建的目錄--屬性--共享--選擇"共享該文件夾"--通過"權限"按紐來設置具體的用戶權限,保證第一步中創建的用戶具有對該文件夾的所有權限--確定
3.設置 MSSQLSERVER 及 SQLSERVERAGENT 服務的啟動用戶
開始--程序--管理工具--服務--右鍵 MSSQLSERVER--屬性--登陸--選擇"此賬戶"--輸入或者選擇第一步中創建的windows登錄用戶名--"密碼"中輸入該用戶的密碼--確定--同樣的方法設置 SQLSERVERAGENT
4.在A機器上完成對B機器BAK目錄的映射
5.查詢分析器中執行下面的語句,檢驗是否成功:
exec master..xp_cmdshell 'dir 映射的盤符'
6.A服務器上做備份計劃
備注:創建一個新的用戶只是為了讓MSSQLSERVER服務的啟動帳戶與共享目錄的有效訪問同名且密碼相同,這樣才能通過驗證(所以你也可以用其他有效的用戶來代替,只需要滿足用戶名和密碼相同,并且擁有足夠的權限)
文章來源于領測軟件測試網 http://www.kjueaiud.com/