當前位置:首頁 » 編程語言 » sql寫備份腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql寫備份腳本

發布時間: 2022-09-14 03:32:07

❶ 最近需要對sql備份文件進行壓縮備份bat腳本寫的邱大俠幫助

你的邱大俠沒來!我來摻合一下!

「如果一個文件直接壓縮,sql備份出來一個,就成了兩個文件,壓縮bat就變成了壓縮兩個了」這話我實在是無法理解含義。

至於小時,那是因為需要進行補零,你雖然補零了,但卻忽略了10點開始的時間了,因為你把十點以後的小時全部變成了單數,因為你只截取了個位數,而丟棄了十位數,導致你的時間永遠在00-09之間。

所以小時補零,我們不能按照你的那個方式來補

setymd=%date:~,10%
setymd_a=%ymd:/=-%
setymd_b=%ymd:/=_%
setHH=%time:~,2%
setHH=%HH:=0%

echo年-月-日%ymd_a%
echo年_月_日%ymd_b%
echo小時%HH%
pause

❷ sql 備份資料庫代碼

noformat:
指定備份操作在用於此備份操作的介質卷上保留現的有介質標頭和備份集。這是默認行為。
NOINIT:
表示備份集將追加到指定的介質集上,以保留現有的備份集。如果為介質集定義了介質密碼,則必須提供密碼。NOINIT
是默認設置。
SKIP:
禁用備份集的過期和名稱檢查,這些檢查一般由
BACKUP
語句執行以防覆蓋備份集。
norewind:
指定在備份操作之後
SQL
Server
讓磁帶一直處於打開狀態。在對磁帶執行多個備份操作時,可以使用此選項來幫助改進性能。
nounload:
指定在
BACKUP
操作之後磁帶將繼續載入在磁帶機中。
stats:
每當另一個r
percentage
完成時顯示一條消息,並用於測量進度。如果省略
percentage,則
SQL
Server
在每完成
10%
就顯示一條消息。
STATS
選項報告截止報告下一個間隔的閾值時的完成百分比。這是指定百分比的近似值;例如,當
STATS=10
時,如果完成進度為
40%,則該選項可能顯示
43%。對於較大的備份集,這不是問題,因為完成百分比在已完成的
I/O
調用之間變化非常緩慢。
其實要寫備份腳本時,才有必要瞭解多些參數,平常的應用中,很少用到這麼多參數的。
要更詳細的信息,可以到微軟的網站上去查找。

❸ SQL2000自動備份腳本,裸求大神指點

為什麼要腳本?直接用企業管理器,作業管理中的數據維護計劃向導就行了(請注意向導最後一步是指定資料庫備份計劃)。當然你也可以通過查看和編輯步驟來將腳本復制出來。
我給你一個導出的資料庫自動備份作業腳本,發到了你的私信里,你可以改一下使用。
不過最好還是自已生成一個,更為貼切。

❹ sql server 2008 備份腳本怎麼寫

如果只是後綴名是.sql的,在備份的時候,寫成這樣的後綴名就可以了。
如果要的是SQL語句內容的文件,沒有直接的辦法。
目前SQL可以生成資料庫結構的功能,但沒法把數據導出來。

可以上網找一個這樣的工具,專門把數據生成SQL腳本的。

❺ SQL 資料庫自動備份

企業管理器里
->在所要進行備份的資料庫上
右鍵
->所有任務
->維護計劃
->點四次下一步
->
就是備份了

說明:這個頁面上你可以點更改來
詳細的配置如"每周-~周五00:00自動備份",及路徑設置等。
--------------------------------------------
問題補充:強調一下,備份的文件名是「資料庫名+備份日期」,每次更新的,否則會覆蓋原來的備份,就沒有意義了!
提問者:漢之尊
-
經理
五級
--------------------------------------------
針對你的這種做法那你嘗試用存儲過程吧,靈活、可以根據具體需要定製:
在要備份的數據上建立以下存儲過程:
CREATE
PROCEDURE
[dbo].[過程名]
AS
declare
@filename
nvarchar(100),--文件名
@NowDay
int
--設置時間
set
@filename='D:\data'+cast(Day(GetDate())
as
varchar(2))+'.dat'
--文件路徑及文件名
Set
@NowDay=Day(GetDate())
if
(@NowDay>=20)
or
(@NowDay<=10)
--這個月的20到下個月的10要備份
begin
print
@filename
BACKUP
DATABASE
[資料庫名()你也可以設參數]
TO
DISK
=
@filename
WITH
INIT
,
NOUNLOAD
,
NAME
=
N'XX數據備份',
NOSKIP
,
STATS
=
10,
NOFORMAT
end
自己推敲一下,相信你會實現的!

❻ SQL 備份與還原 如何用腳本語言寫

--完整備份(name還原顯示的名稱)
backup database t to disk='E:\dataBak\log\bak_t_full.bak'
with noinit,name='bak_t_full'
--差異備份
backup database t to disk='E:\dataBak\log\bak_t_differ.bak'
with differential,noinit,name='bak_t_differ'
--日誌備份
backup log t to disk='E:\dataBak\log\bak_t_log.bak'
with noinit,name='bak_t_log'
--還原
RESTORE DATABASE 資料庫名 FROM DISK = '物理路徑(備份文件在磁碟的位置)'

❼ 誰能幫我寫一個腳本:關於sql 2000的資料庫備份,備份三天的,謝謝

declare @prev varchar(50);
set @prev = 'c:\' + cast(year(getdate()) as varchar) + right('0'+cast(month(getdate()) as varchar),2) + right('0' + cast(day(getdate()) as varchar),2);

declare @dcname varchar(100)
set @dcname=@prev + 'database.bak';
backup database 你的資料庫名 to disk=@dcname;
--保存為dts包,然後加個調度,就可以自動備份了,不重名

還有一個就是使用sql server的資料庫所有任務->維護計劃,里邊也可以設置的

❽ SQL Server遠程定時備份資料庫腳本分享

經常會有定時備份SQL
Server資料庫的需要。定時備份到本機的話,還是挺容易的,計劃任務就可以完成,但如果是整機掛了,那備份到本機是沒意義的,那麼就需要來考慮備份到區域網中,其它電腦里。
下面就分享一份在網上找了之後,自己再簡單整理過的代碼,配合
SQL
Server
代理中的作業功能,已經穩定運行一個星期了,每小時就備份一次。
復制代碼
代碼如下:
--
創建網路映射(Y是盤符;IP地址後面要帶共享文件夾的名稱;password是密碼,雙引號引起;account是遠程電腦的登錄名)
exec
master..xp_cmdshell
'net
use
Y:
\\192.168.0.69\sqlbackup
"password"
/user:192.168.0.69\account'
--
按日期時間做文件名(注意路徑中的文件夾,需要先建立好)
declare
@filename
varchar(200)
select
@filename
=
'Y:\DB\'
+
replace(replace(replace(CONVERT(varchar,
getdate(),
120
),'-',''),'
','-'),':','')
+
'.bak'
--
執行備份(DB是要備份的資料庫名稱)
backup
database
[DB]
to
disk
=
@filename
--
刪除網路映射(Y是盤符,同上)
exec
master..xp_cmdshell
'net
use
Y:
/delete'

❾ sql server 如何用sql語句實現單個表的備份和還原。

是什麼版本的資料庫?下面是找到的2008的操作步驟:
SQL SERVER 2008 怎麼導入和導出單張表的數據和結構
(1)右擊需要導出數據的資料庫,在彈出式菜單中選擇「任務」下的「生成腳本」選項。
(2)在腳本向導的選擇腳本選項中,將「編寫數據的腳步」選擇為TRUE,這里默認是為FALSE的。
(3)然後下一步選擇導出的對象,選擇導出的表,最後完成時,即可以看到由系統導出的表定義和表數據了。