用sqlserver的sqlcmd、osql、isql的備份與還原
--sqlcmd ,sql2005新加工具
1、備份
"C:/Program Files/Microsoft SQL Server/90/Tools/Binn/SQLCMD.EXE" -S ./sqlexpress -U sa -P 000000 -d master -Q"BACKUP DATABASE test to disk='c:/aa/aaa.bak'"
已為資料庫 'test',檔案 'test' (位于檔案 2 上)處理了 176 頁。
已為資料庫 'test',檔案 'test_log' (位于檔案 2 上)處理了 1 頁。
BACKUP DATABASE 成功處理了 177 頁,花費 1.207 秒(1.201 MB/秒)。
2、還原
"C:/Program Files/Microsoft SQL Server/90/Tools/Binn/SQLCMD.EXE" -S ./sqlexpress -U sa -P 000000 -d master -Q"RESTORE DATABASE test from disk='c:/aa/aaa.bak'"
3、幫助
C:/Documents and Settings/xuysh>"C:/Program Files/Microsoft SQL Server/90/Tools/
Binn/SQLCMD.EXE" -?
Microsoft (R) SQL Server 指令行工具
版本 9.00.1399.06 NT INTEL X86
版權所有 (c) Microsoft Corporation。保留所有權利。
用法: Sqlcmd [-U 登入 ID] [-P 密碼]
[-S 伺服器] [-H 主機名] [-E 可信連接配接]
[-d 使用資料庫名稱] [-l 登入逾時值] [-t 查詢逾時值]
[-h 标題] [-s 列分隔符] [-w 螢幕寬度]
[-a 資料包大小] [-e 回顯輸入] [-I 允許帶引号的辨別符]
[-c 指令結束] [-L[c] 列出伺服器[清除輸出]]
[-q "指令行查詢"] [-Q "指令行查詢" 并退出]
[-m 錯誤級别] [-V 嚴重級别] [-W 删除尾随空格]
[-u unicode 輸出] [-r[0|1] 發送到 stderr 的消息]
[-i 輸入檔案] [-o 輸出檔案] [-z 新密碼]
[-f <代碼頁> | i:<代碼頁>[,o:<代碼頁>]] [-Z 建立密碼并退出]
[-k[1|2] 删除[替換]控制字元]
[-y 可變長度類型顯示寬度]
[-Y 固定長度類型顯示寬度]
[-p[1] 列印統計資訊[冒号格式]]
[-R 使用用戶端區域設定]
[-b 出錯時中止批處理]
[-v 變量 = "值"...] [-A 專用管理連接配接]
[-X[1] 禁用指令、啟動腳本、環境變量[并退出]]
[-x 禁用變量情況]
[-? 顯示文法摘要]
--Osql sql2000和sql2005都有
--1、備份
"C:/Program Files/Microsoft SQL Server/90/Tools/Binn/Osql.EXE" -S ./sqlexpress -U sa -P 000000 -d master -Q"BACKUP DATABASE test to disk='c:/aa/aaa.bak'"
已為資料庫 'test',檔案 'test' (位于檔案 3 上)處理了 176 頁。
已為資料庫 'test',檔案 'test_log' (位于檔案 3 上)處理了 1 頁。
BACKUP DATABASE 成功處理了 177 頁,花費 0.531 秒(2.730 MB/秒)。
2、還原
"C:/Program Files/Microsoft SQL Server/90/Tools/Binn/Osql.EXE" -S ./sqlexpress -U sa -P 000000 -d master -Q"RESTORE DATABASE test from disk='c:/aa/aaa.bak'"
已為資料庫 'test',檔案 'test' (位于檔案 1 上)處理了 176 頁。
已為資料庫 'test',檔案 'test_log' (位于檔案 1 上)處理了 2 頁。
RESTORE DATABASE 成功處理了 178 頁,花費 0.200 秒(7.255 MB/秒)。
3、幫助
C:/Documents and Settings/xuysh>"C:/Program Files/Microsoft SQL Server/90/Tools/
Binn/Osql.EXE" /?
Microsoft (R) SQL Server 指令行工具
版本 9.00.1399.06 NT INTEL X86
版權所有 (c) Microsoft Corporation。保留所有權利。
注意: osql 并不支援 SQL Server 2005的所有功能。
請使用 sqlcmd。有關詳細資訊,請參閱 SQL Server 聯機叢書。
用法: osql [-U 登入 ID] [-P 密碼]
[-S 伺服器] [-H 主機名] [-E 可信連接配接]
[-d 使用資料庫名稱] [-l 登入逾時值] [-t 查詢逾時值]
[-h 标題] [-s 列分隔符] [-w 列寬]
[-a 資料包大小] [-e 回顯輸入] [-I 允許帶引号的辨別符]
[-L 列出伺服器] [-c 指令結束] [-D ODBC DSN 名稱]
[-q "指令行查詢"] [-Q "指令行查詢" 并退出]
[-n 删除編号方式] [-m 錯誤級别]
[-r 發送到 stderr 的消息] [-V 嚴重級别]
[-i 輸入檔案] [-o 輸出檔案]
[-p 列印統計資訊] [-b 出錯時中止批處理]
[-X[1] 禁用指令,[退出的同時顯示警告]]
[-O 使用舊 ISQL 行為禁用下列項]
<EOF> 批處理
自動調整控制台寬度
寬消息
預設錯誤級别為 -1 和 1
[-? 顯示文法摘要]
--Isql ,sql2000工具,2005中沒有
--1、備份
"C:/Program Files/Microsoft SQL Server/80/Tools/Binn/Isql.EXE" -S ./sqlexpress -U sa -P 000000 -d master -Q"BACKUP DATABASE test to disk='c:/aa/aaa.bak'"
已為資料庫 'test',檔案 'test' (位于檔案 3 上)處理了 176 頁。
已為資料庫 'test',檔案 'test_log' (位于檔案 3 上)處理了 1 頁。
BACKUP DATABASE 成功處理了 177 頁,花費 0.531 秒(2.730 MB/秒)。
2、還原
"C:/Program Files/Microsoft SQL Server/80/Tools/Binn/Isql.EXE" -S ./sqlexpress -U sa -P 000000 -d master -Q"RESTORE DATABASE test from disk='c:/aa/aaa.bak'"
已為資料庫 'test',檔案 'test' (位于檔案 1 上)處理了 176 頁。
已為資料庫 'test',檔案 'test_log' (位于檔案 1 上)處理了 2 頁。
RESTORE DATABASE 成功處理了 178 頁,花費 0.200 秒(7.255 MB/秒)。
3、幫助
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
C:/Documents and Settings/xuysh>"C:/Program Files/Microsoft SQL Server/80/Tools/
Binn/Isql.EXE"/?
isql: unknown option ?
usage: isql [-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] [-x max text size]
[-L list servers] [-c cmdend]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-n remove numbering] [-m errorlevel]
[-r msgs to stderr]
[-i inputfile] [-o outputfile]
[-p print statistics] [-b On error batch abort]
[-O use Old ISQL behavior disables the following]
<EOF> batch processing
Auto console width scaling
Wide messages
default errorlevel is -1 vs 1
[-? show syntax summary (this screen)]
解決使用sqlcmd無法連接配接資料庫 C:\Documents and Settings\Administrator>sqlcmd
命名管道提供程式: 無法打開與 SQL Server 的連接配接 [2].Sqlcmd: 錯誤: Microsoft SQL Native Client : 建立到伺服器的連接配接時發生錯誤。連接配接到 SQL Server 2005 時,預設設定 SQL Server 不允許遠端連接配接這個事實可能會導緻失敗。
Sqlcmd: 錯誤: Microsoft SQL Native Client : 登入逾時已過期。
解決辦法:
1.檢視端口,發現沒有1433(SQL server的預設端口)
C:\Documents and Settings\Administrator>netstat -ano
2.進入SQL Server Configuration Manager,檢視配置
SQL Server 配置管理器(本地)
->SQL Server 2005 網絡配置
->HLHEBSQL 的協定
-> TCP/IP
右鍵->屬性
發現伺服器位址IP1,未啟用,端口使用的是動态端口。
按如下更改後,重新啟用SQL Server服務。
注意:一定要IPALL的TCP動态端口删除,TCP端口改為1433,隻改IP1不好用。 Named Pipes 禁用