MSSQL 指令
作者: cross 日期: 2007-08-29 12:23
連線
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 資料庫名稱
上一篇
返回
下一篇
標籤:




sysctl指令 (2011-10-26 15:16)
使用 mondo 線上備份linux centos 系統 (2011-05-09 23:31)
linux 的 dd + nc 線上備份主機硬碟 (2011-04-23 13:55)
用systemimager網路線上備份與離線還原linux系統 (2011-03-31 00:39)
rarlinux 指令--壓縮分割加密檔案 (2011-03-15 20:00)
備份還原工具-redo backup & recovery (2010-07-02 18:40)
還原MSSQL遇到備份組包含現有的xxx資料庫以外的資料庫備份問題 (2009-07-11 01:13)
FileHamster 隨時保存文件隨時回復歷史文件 (2009-04-07 23:42)
備份/Ghost軟體,Seagate DiscWard外表,Acronis True Image內在 (2009-02-09 16:36)