SqlServer整庫備份還原指令碼

2022-06-05 03:45:07 字數 1940 閱讀 6081

一。整備資料庫

指令碼分為兩部分,一部分是批處理檔案(dbbak.bat),一部分為sql檔案(dbbak.sql ),兩個檔案要放在同乙個目錄下。

批處理檔案中為主檔案,真正的資料庫備份操作是在sql檔案中完成的。

1.批處理檔案內容 

sqlcmd -s 192.168.56.36 -usa -ppassword -i .\dbbak.sql -o .\dbbak.log

說明:sqlcmd -s 《資料庫ip位址》 -u《資料庫使用者》 -p《資料庫密碼》 -i 《需執行的sql檔名稱》 -o 《執行結果日誌檔案》

sqlcmd:為sqlsever2005後自帶的命令列工具,可以執行sql檔案。

2.sql檔案內容如下

declare

@date

nvarchar(10) --

定義日期變數

set@date

=convert(nvarchar(10),getdate(),112) --

為日期變數賦當前日期,日期格式為 yyyymmdd 舉例 20170830

declare

@path

nvarchar(250) --

定義備份路徑變數

set@path='

d:\dbbak\'--

賦值declare

@db_filename

nvarchar(150) --

定義檔名變數

set@db_filename

=@path+'

db_'

+@date+'

.bak'--

拼字串,形成完整的備份檔案路徑

backup

database dbname to

disk

=@db_filename

--執行資料庫備份操作,注意 dbname為你實際要備份的資料庫名,記得改

二。還原資料庫

指令碼分為兩部分,一部分是批處理檔案(dbrestore.bat),一部分為sql檔案(dbrestore.sql ),兩個檔案要放在同乙個目錄下。

1.批處理檔案內容 

sqlcmd -s 192.168.56.36 -usa -ppassword -i .\dbrestore.sql  -o .\dbrestore.log

說明:sqlcmd -s 《資料庫ip位址》 -u《資料庫使用者》 -p《資料庫密碼》 -i 《需執行的sql檔名稱》 -o 《執行結果日誌檔案》

sqlcmd:為sqlsever2005後自帶的命令列工具,可以執行sql檔案。

2.sql檔案內容如下

declare

@date

nvarchar(10) --

定義日期變數

set@date

=convert(nvarchar(10),getdate(),112) --

為日期變數賦當前日期,日期格式為 yyyymmdd 舉例 20170830

declare

@path

nvarchar(250) --

定義備份路徑變數

set@path='

d:\dbbak\'--

賦值declare

@db_filename

nvarchar(150) --

定義檔名變數

set@db_filename

=@path+'

db_'

+@date+'

.bak'--

拼字串,形成完整的備份檔案路徑

restore

database dbname from

disk

=@db_filename

--執行資料庫還原操作,注意 dbname為你實際要備份的資料庫名,記得改

enjoy :]

Oracle 整庫備份還原

sql語句 system使用者登陸 檢視表空間和存放位置 select t1.name,t2.name from v tablespace t1,v datafile t2 where t1.ts t2.ts 檢視所有表空間的大小 select tablespace name,sum bytes 1...

SQL之整庫備份還原

整庫資料備份也叫sql資料備份 備份的結果都是sql指令 在mysql中提供了乙個專門用於備份sql的客戶端 mysqldump.exe sql備份是一種mysql非常常見的備份與還原方式,sql備份不只是備份資料,還備份對應的sql指令 表結構 即便是資料庫遭到毀滅性的破壞 資料庫被刪 那麼利用s...

SQLServer還原全庫備份

查詢源庫匯出的全庫備份對應的資料檔案和日誌檔案的logicalname restore filelistonly from disk opt mssql full.bak 查詢新建的資料庫對應的資料檔案和日誌檔案 select a.name 邏輯檔名 case when charindex log ...