天天看點

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