連線
osql -U sa
本機trusted連線
osql -E
更改sa 密碼
osql -E -Q “EXEC sp_password @new=’123456′, @loginame = ‘sa'”
連線資料庫
osql -U sa -d 資料庫名稱
查詢
先登入
> SELECT TOP 1000 * FROM table名稱
> GO
或
osql -E -d 資料庫名稱 -q “SELECT TOP 1000 * FROM table名稱”
備份
osql -E -n -Q “BACKUP DATABASE 資料庫名稱 TO DISK = ‘c:資料庫名稱.mssql'”
還原
osql -E -n -Q “RESTORE DATABASE 資料庫名稱 FROM DISK = ‘c:資料庫名稱.mssql'”
-i : 輸入SQL指令檔
-o : 輸出訊息至檔案
ref: http://support.microsoft.com/default.aspx?scid=kb;EN-US;322336
ref: http://www.officemail.net.cn/article.asp?id=190
ref: http://www.officemail.net.cn/article.asp?id=189
http://technet.microsoft.com/zh-tw/library/ms187048.aspx
http://support.microsoft.com/kb/325003/zh-tw
問題 -2008/05/22 added
訊息 5133,層級 16,狀態 1,伺服器 MSSQL,行 1
檔案 “E:Microsoft SQL ServerMSSQL.1MSSQLDatacross.mdf” 的目錄查閱失敗,有作業系統錯誤
3(系統找不到指定的路徑。)。
訊息 3156,層級 16,狀態 3,伺服器 MSSQL,行 1
檔案 ‘cross’ 無法還原到 ‘E:Microsoft SQL ServerMSSQL.1MSSQLDatacross.mdf’。請使用
WITH MOVE 來識別該檔案的有效位置。
訊息 5133,層級 16,狀態 1,伺服器 MSSQL,行 1
檔案 “E:Microsoft SQL ServerMSSQL.1MSSQLDatacross_log.LDF” 的目錄查閱失敗,有作業系統錯
3(系統找不到指定的路徑。)。
訊息 3156,層級 16,狀態 3,伺服器 MSSQL,行 1
檔案 ‘cross_log’ 無法還原到 ‘E:Microsoft SQL
ServerMSSQL.1MSSQLDatacross_log.LDF’。請使用 WITH MOVE 來識別該檔案的有效位置。
訊息 3119,層級 16,狀態 1,伺服器 MSSQL,行 1
計劃 RESTORE 陳述式的時候識別出問題。先前的訊息可提供詳細資料。
訊息 3013,層級 16,狀態 1,伺服器 MSSQL,行 1
RESTORE DATABASE 正在異常結束。
解決: 這情況在不同一台主機底下其資料目錄不同的關系,所以還原時要定義指定目的目錄即可
restore database cross from disk = ‘c:cross.bak’ with
move ‘cross’ to ‘C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDatacross.mdf’,
move ‘cross_log’ to ‘C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDatacross_log.ldf’
ps: 第一個 cross → 資料庫名稱
cross.bak → 備份檔名稱
第二個 cross → 邏輯名稱
cross_log → 邏輯名稱
可以把 MDF、LDF 放在不同目錄裡,
restore database cross from disk = ‘c:cross.bak’ with
move ‘cross’ to ‘C:cross.mdf’,
move ‘cross_log’ to ‘C:cross_log.ldf’
完整性的備份流程
1.) 新增一個 cross_device 裝置,使用 disk 方式,備至 c:cross.bak
exec sp_addumpdevice ‘disk’ , ‘cross_device’ , ‘c:cross.bak’
2.) 檢查資料庫 cross_db 的一致性
use cross_db
dbcc checkdb (‘cross_db’) with no_infomsgs
ps: no_infomsgs = 只顯示重要的錯誤訊息
3.) 開始備份資料庫 cross_db 至 cross_device 裝置,也是就備至 c:cross.bak
backup database cross_db to cross_device with init
ps: init – 覆寫原備份檔
秀出全部有那些資料庫 -add 2008/05/23
exec sp_helpdb
exec sp_databases 也可以,但資訊較少 added 2008/10/17
查出資料庫檔 MDF 放置點
exec sp_helpdb 資料庫名稱
留言