如果只是單純的備份,那 MS SQL Server 的 mmc 工具 Enterprise Manager 就可以簡單的達成任務。 不過要是需要將資料庫備份後還原到備援主機上,那步驟就會多一點,還好其實也沒複雜到哪裡去,只是需要使用動動你的手指頭打打幾個指令。
流程 1. 將資料庫備份 2. 備份檔案複製到還原主機上 3. 將備份資料庫還原
實作 BACKUP DATABASE database_nameTO DISK='e:\backup\hhdb.bak'WITH FORMATGO USE masterGOALTER DATABASE hhdb SET single_user WITH rollback immediateGORESTORE DATABASE hhdb FROM DISK='c:\sql\hhdb.bak' WITH RECOVERYGOALTER DATABASE db_name SET multi_userGO osql -S "dbserver" -U sa -P "password" -i c:\backup\backup.sqlcopy \\192.168.1.2\E$\backup\hhdb.bak c:\sql\hhdb.bakosql -S "192.168.1.4" -U sa -P "password" -i c:\backup\restore.sqlexit
環境說明:所有動作皆在備份端 (也就是負責備份的電腦) 完成
1. 建立 backup.sql 備份資料庫的 T-SQL 指令 c:\backup\backup.sql
利用此 sql 指令將指定的資料庫備分到 TO DISK 指定的路徑、檔名
2. 建立 restore.sql 還原資料庫的 T-SQL 指令 c:\backup\restore.sql
這裡的動作就是 1. 使用 ALTER DATABASE hhdb SET single_user WITH rollback immediate 將需要還原的資料庫設定成「單人模式」 2. 還原資料庫 3. 執行 ALTER DATABASE db_name SET multi_user 恢復資料庫正常運作
3. 建立 backup.bat 負責定時排成執行的批次檔 c:\backup\backup.bat
排程設定........... 參考 osql [-U login id] [-P password] [-S server] [-H hostname] [-E trusted connection] [-d use database name] [-l login timeout] [-t query timeout] [-h headers] [-s colseparator] [-w columnwidth] [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers] [-L list servers] [-c cmdend] [-D ODBC DSN name] [-q "cmdline query"] [-Q "cmdline query" and exit] [-n remove numbering] [-m errorlevel] [-r msgs to stderr] [-V severitylevel] [-i inputfile] [-o outputfile] [-p print statistics] [-b On error batch abort] [-O use Old ISQL behavior disables the following] batch processing Auto console width scaling Wide messages default errorlevel is -1 vs 1 [-? show syntax summary] window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { googletag.defineSlot('/22590772197/pc_textbottom', [1, 1], 'div-gpt-ad-1639353180888-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); googletag.cmd.push(function() { googletag.display('div-gpt-ad-1639353180888-0'); });
osql 指令參數