Sqlserver命令SQLCMD備份恢復資料庫

2021-07-31 23:47:41 字數 2408 閱讀 7722

1,備份,建立指令碼bak.bat,內容

sqlcmd -i "f:\dbbak\bak.sql"

指令碼呼叫恢復的語句文字

:connect .

backup database db1 to disk = 'f:\dbbak\db1.bak' with init

go

2,還原,建立還原指令碼restore.bat,內容

sqlcmd -i "f:\dbbak\restore.sql"

pause

如果還原到指定庫,追加 -d dbname即可

如果還原後亂碼,可以指定-f 指定字符集,比如-f 65001 使用utf-8字符集

還原sql為

:connect .

use master

goalter database [db1] set single_user with rollback immediate

go--檢視是否還有使用者連線

--select * from sys.[sysprocesses] where db_name([dbid])='db1'

--go

alter database [db1] set multi_user

gorestore database [db1] from disk = n'f:\dbbak\db1.bak' with file = 1, nounload, replace, stats = 10

go

3,批量生成備份庫sql

select

'backup database '+ name+' to disk = ''f:\dbbak\'+name+'.bak'' with init'

from master..sysdatabases

where dbid>=7; -- 注意條件

4,其他

c:\users\administrator>sqlcmd -?

microsoft (r) sql server 命令列工具

版本 11.0.2100.60 nt x64

用法: sqlcmd [-u 登入 id] [-p 密碼]

[-s 伺服器] [-h 主機名] [-e 可信連線]

[-n 加密連線][-c 信任伺服器證書]

[-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 使用客戶端區域設定]

[-k 應用程式意向]

[-m 多子網故障轉移]

[-b 出錯時中止批處理]

[-v 變數 = "值"...] [-a 專用管理連線]

[-x[1] 禁用命令、啟動指令碼、環境變數[並退出]]

[-x 禁用變數替換]

[-? 顯示語法摘要]

登入執行dml語句

c:\users\administrator>sqlcmd

1> use t

2> go

已將資料庫上下文更改為 't'。

1> create table t(id int);

2> go

1> insert into t values(1);

2> go

(1 行受影響)

1> select * from t;

2> go

id-----------

1(1 行受影響)

如果是遠端需要指定使用者名稱,密碼位址埠,-u sa  -p  123456 -s 192.168.1.100,1433

SQL Server 命令例項

刪除主鍵 alter table 表名 drop constraint 主鍵名 新增主鍵 alter table 表名 add constraint 主鍵名 primary key 欄位名1,欄位名2 新增非聚集索引的主鍵 alter table 表名 add constraint 主鍵名 prim...

嵌入式sql c檔案編譯

a.預編譯部分 1.1 什麼是db2預編譯 在我們用c語言編寫訪問db2的程式過程中,需要用到嵌入式sql,其作用是將db2 sql混入一般c程式中,db2預編譯器可以將sql語法直接轉換為db2行時服務應用程式程式設計介面 api 呼叫。1.2 什麼是bind 這是db2 prep要做的事情,即把...

餐飲管理系統大作業SQL C

using system.data.sqlclient 資料繫結 private void binddata 登陸主介面切換 private void button1 click object sender,eventargs e catch exception err 主介面 listview控制...