用sqlserver的sqlcmd、osql、isql的備份與還原

用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 禁用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章