當前位置:首頁 » 編程軟體 » sql備份資料庫腳本

sql備份資料庫腳本

發布時間: 2023-05-31 07:21:54

sql server 2008怎麼備份資料庫

方法一:生成腳本導出導入sql2008全部數據
第一步,右鍵要導出的數據顫手鋒庫,任務--生成腳本

第二步,在設置腳本編寫選項處,點擊--高級(A),選擇要編寫腳本的數據的類型為:架構和數據

如果找不到 要編寫腳本的數據的類型 ,可以看下圖,sql2008(有多薯陵個版本),把編寫數據的腳本設置為TRUE即可

第三步:選擇要保存的地方,一直下一步就可以了
第四步:在要導入的資料庫中新建查詢:從SET ANSI_NULLS ON 處開始執行(可以刪除這句前面所有語句)

方法二: 分離和附加(導入與導出) sql2008數據(全部)
第一步:右鍵資料庫,任務--分離--刪除連接,更新... 打勾,確定

第二步:復制分離出來的數據(一般在Data目錄下),包含兩個文件mdf和ldf

第三步:右鍵資料庫(總的)--附加,在跳出的對話框中擊添加,再指定茄晌剛才的mdf文件

② sql腳本導入資料庫,資料庫sql腳本如何導入(mysql導入sql腳本)

一備份資料庫

1選擇某一個資料庫,右鍵依次選擇:任務==》生成腳本;

2選擇要編寫腳本的資料庫對象,注意此處可以選擇特定的資料庫對象,我們可以選擇我們需要備份的數據表。

3在當前頁面下面第一步選擇高級選項,然後再選差輪擇輸出的sql腳本的保存位置。

4高級選項中最重要的一步就是在」要編寫的腳本的數據類型「中選擇第一項「架構和數據」,這個默認是選擇「僅限架構」,這個選項只會復制資料庫賀者的表結構而不會復制資料庫的具體數據。

5我們可以查看具體的導出的腳本和數據。

二還原資料庫

1在一個新的資料庫實例中創建一個一模一樣的空的資料庫,名稱也為IGIS。

2通過:文件==》打開文件,打開剛開始導出虛拍信的腳本文件。

3選擇執行或者是按下F5來執行相應的操作,就可以將相應的資料庫裡面的數據表結構和數據導入到新的資料庫中,最終完成資料庫的備份工作。

③ 備份MYSQL資料庫SQL語句怎麼寫

mysqlmp備份還原和mysqlmp導入導出語句大全詳解
mysqlmp備份:
mysqlmp -u用戶名 -p密碼 -h主機資料庫 a -w "sql條件" --lock-all-tables >路徑
案例:
mysqlmp -uroot -p1234 -hlocalhost db1 a -w "id in (select id from b)" --lock-all-tables > c:\aa.txt
mysqlmp還原:
mysqlmp -u用戶名 -p密碼 -h主機資料庫<路徑
案例:
mysql -uroot -p1234 db1 < c:\aa.txt
mysqlmp按條件導出:
mysqlmp -u用戶名 -p密碼 -h主機資料庫 a --where "條件語句" --no-建表>路徑
mysqlmp -uroot -p1234 dbname a --where "tag='88'" --no-create-info> c:\a.sql
mysqlmp按導入:
mysqlmp -u用戶名 -p密碼 -h主機資料庫<路徑
案例:
mysql -uroot -p1234 db1 < c:\a.txt

mysqlmp導出表:
mysqlmp -u用戶名 -p密碼 -h主機資料庫表
案例:
mysqlmp -uroot -p sqlhk9 a --no-data
講一下 mysqlmp 的一些主要參數

--compatible=name
它告訴 mysqlmp,導出的數據將和哪種資料庫或哪個舊版本的 MySQL 伺服器相兼容。值可以為 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用幾個值,用逗號將它們隔開。當然了,它並不保證能完全兼容,而是盡量兼容。
--complete-insert,-c
導出的數據採用包含欄位名的完整 INSERT 方式,也就是把所有的值都寫在一行。這么做能提高插入效率,但是可能會受到 max_allowed_packet 參數的影響而導致插入失敗。因此,需要謹慎使用該參數,至少我不推薦。
--default-character-set=charset
指定導出數據時採用何種字元集,如果數據表不是採用默認的 latin1 字元集的話,那麼導出時必須指定該選項,否則再次導入數據後將產生亂碼問題。
--disable-keys
告訴 mysqlmp 在 INSERT 語句的開頭和結尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 語句,這能大大提高插入語句的速度,因為它是在插入完所有數據後才重建索引的。該選項只適合 MyISAM 表。
--extended-insert = true|false
默認情況下,mysqlmp 開啟 --complete-insert 模式,因此不想用它的的話,就使用本選項,設定它的值為 false 即可。
--hex-blob
使用十六進制格式導出二進制字元串欄位。如果有二進制數據就必須使用本選項。影響到的欄位類型有 BINARY、VARBINARY、BLOB。
--lock-all-tables,-x
在開始導出之前,提交請求鎖定所有資料庫中的所有表,以保證數據的一致性。這是一個全局讀鎖,並且自動關閉 --single-transaction 和 --lock-tables 選項。
--lock-tables
它和 --lock-all-tables 類似,不過是鎖定當前導出的數據表,而不是一下子鎖定全部庫下的表。本選項只適用於 MyISAM 表,如果是 Innodb 表可以用 --single-transaction 選項。
--no-create-info,-t
只導出數據,而不添加 CREATE TABLE 語句。
--no-data,-d
不導出任何數據,只導出資料庫表結構。
--opt
這只是一個快捷選項,等同於同時添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 選項。本選項能讓 mysqlmp 很快的導出數據,並且導出的數據能很快導回。該選項默認開啟,但可以用 --skip-opt 禁用。注意,如果運行 mysqlmp 沒有指定 --quick 或 --opt 選項,則會將整個結果集放在內存中。如果導出大資料庫的話可能會出現問題。
--quick,-q
該選項在導出大表時很有用,它強制 mysqlmp 從伺服器查詢取得記錄直接輸出而不是取得所有記錄後將它們緩存到內存中。
--routines,-R
導出存儲過程以及自定義函數。
--single-transaction
該選項在導出數據之前提交一個 BEGIN SQL語句,BEGIN 不會阻塞任何應用程序且能保證導出時資料庫的一致性狀態。它只適用於事務表,例如 InnoDB 和 BDB。
本選項和 --lock-tables 選項是互斥的,因為 LOCK TABLES 會使任何掛起的事務隱含提交。
要想導出大表的話,應結合使用 --quick 選項。
--triggers
同時導出觸發器。該選項默認啟用,用 --skip-triggers 禁用它。
其他參數詳情請參考手冊,我通常使用以下 SQL 來備份 MyISAM 表:
/usr/local/mysql/bin/mysqlmp -uyejr -pyejr "
--default-character-set=utf8 --opt --extended-insert=false "
--triggers -R --hex-blob -x db_name > db_name.sql
使用以下 SQL 來備份 Innodb 表:
/usr/local/mysql/bin/mysqlmp -uyejr -pyejr "
--default-character-set=utf8 --opt --extended-insert=false "
--triggers -R --hex-blob --single-transaction db_name > db_name.sql
另外,如果想要實現在線備份,還可以使用 --master-data 參數來實現,如下:
/usr/local/mysql/bin/mysqlmp -uyejr -pyejr "
--default-character-set=utf8 --opt --master-data=1 "
--single-transaction --flush-logs db_name > db_name.sql
它只是在一開始的瞬間請求鎖表,然後就刷新binlog了,而後在導出的文件中加入CHANGE MASTER 語句來指定當前備份的binlog位置,如果要把這個文件恢復到slave里去,就可以採用這種方法來做。
1.2 還原
用 mysqlmp 備份出來的文件是一個可以直接倒入的 SQL 腳本,有兩種方法可以將數據導入。
直接用 mysql 客戶端
例如:
/usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql
用 SOURCE 語法(實驗不成功!!!)
其實這不是標準的 SQL 語法,而是 mysql 客戶端提供的功能,例如:
SOURCE /tmp/db_name.sql;
這里需要指定文件的絕對路徑,並且必須是 mysqld 運行用戶(例如 nobody)有許可權讀取的文件。

④ 怎樣備份mysql中所有的資料庫(sql怎麼備份資料庫)

關鍵字:mysql還亂穗原或者導入橘搭資料庫命令:

mysql-uroot--password=root

備份資料庫命令:

mysqlmp-uroot--password=root--databasehelloworld>helloworld_backup.sql

其他用法:

1.導出整個資料庫

mysqlmp-u用戶名-p資料庫名>導出的文件名

mysqlmp-uwcnc-psmgp_apps_wcnc>wcnc.sql

2.導出一個表

mysqlmp-u用戶名-p資料庫名表名>導出的文件名

mysqlmp-uwcnc-psmgp_apps_wcncusers>wcnc_users.sql

3.導出一個資料庫結構

mysqlmp-uwcnc-p-d--add-drop-tablesmgp_apps_wcnc>d:wcnc_db.sql

-d沒有數據--add-drop-table在每個create語句之前增加一個droptable

4.導入資料庫

常用source命令

進入mysql數嘩伍卜據庫控制台,如mysql-uroot-p

mysql>use資料庫

然後使用source命令,後面參數為腳本文件(如這里用到的.sql)

mysql>sourced:wcnc_db.sql

⑤ sqlserver腳本備份固定多個資料庫

1.用SqlServer的維護計劃



在這里我就不大液給截圖演示了,這個比較簡單,無非就是通過sqlserver自己的滾灶物維護計劃拖拽出2個一個『備份資料庫'任務和一個『清除維護'任務。

需要注意的點:

1)有備份任務里邊選擇備份的庫盡量選『所有用戶資料庫'這項,以免選擇了特定資料庫備份以後某天添加了新資料庫卻忘了勾選導致丟備份。辯仔

2)選項驗證備份集完整性和壓縮備份盡量都選上。

3)備份的路徑盡量別選磁碟根目錄。

2.通過腳本+作業的方式備份資料庫(非xp_cmdshell)。如果是多個庫的話自己寫個游標用動態sql的方式即可實現多庫備份,我這里就提供個思路偷懶就不整理了。

復制代碼 代碼如下:

DECLARE @filename VARCHAR(500)
DECLARE @date DATETIME
DECLARE @OLD_DATE DATETIME
SET @date=GETDATE()
SET @OLD_DATE=GETDATE()-5 --超過5天的備份即將被刪除
SET @FILENAME = 'E:\存放位置\資料庫名稱-'+CAST(DATEPART(YYYY,@DATE) AS VARCHAR(10))+'-'+CAST(DATEPART(MM,@DATE) AS VARCHAR(10))+'-'+CAST(DATEPART(DD,@DATE) AS VARCHAR(10))+'.BAK'
BACKUP DATABASE [資料庫名稱] TO DISK = @filename WITH COMPRESSION
EXECUTE master.dbo.xp_delete_file 0,N'E:\存放位置',N'bak',@OLD_DATE,1

GO

3.通過腳本+作業的方式備份資料庫(用xp_cmdshell),如果你覺得你們伺服器的網路、代碼、以及防火牆足夠安全可以開啟xp_cmdshell的方式來備份。
如果資料庫沒開啟xp_cmdshell的功能需要用以下腳本開通此功能,開通以後記得關閉sp_configure。

復制代碼 代碼如下:

USE Master
GO
EXEC sp_configure 'show advanced options', 1;

⑥ 誰能幫我寫一個腳本:關於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的資料庫余敬所有任務->維護計劃,里邊也可以設置的

⑦ 怎麼用PL/SQL備份oracle資料庫

1、 准備資料庫創建腳本
create tablespace whc_tbs datafile 'E:\oracle\oradata\whcdb\whc.dbf' size 100M;
--DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
create user whc identified by whc default tablespace whc_tbs;
grant connect,resource to whc;
grant dba to whc;
--Revoke dba from whc;
其中--的注釋語句是刪除命名空間和移除DBA用戶的許可權的。
以上這些腳本是為了我們在新建一個表空間和Oracle資料庫的時候使用的。
其中E:\oracle\oradata\whcdb\whc.dbf路徑是我們要存放資料庫數據的位置,因此要保證該路徑有足夠的空間和足夠的訪問許可權,否則會失敗的。
2、 導出資料庫對象
在PL/SQL Developer的菜單Tools=>Export User Objects中出來一個對話框界面,然後框選要到處的Oracle 資料庫對象,包括表,序列,存儲過程,視圖,函數等等,並指定導出的文件名稱,如下操作。
3)導出表數據
導出表結構和其他對象後,我們下一步就是把資料庫的表數據進行導出,PL/SQL Developer工具支持導出數據到PL/SQL資料庫陪空腳本中,如下所示。這樣導出的腳本,我們可以在PL/SQL Developer工具導入或者自己通過Sql plus 工具進行導入。
至此,我們就已經宴亂塵完成了三種腳本了,包括創建資料庫空間和資料庫腳本、創建Oracle資料庫對象(表、存儲過程、視圖、序列等)、創建導入數據的腳本,這樣三種合一,就是一個完整的資料庫了。最後一步就是我們如何導入晌禪資料庫對象和數據的問題了。
4)導入資料庫對象及數據
導入資料庫對象和數據的操作一樣,都可以通過Import Tables操作實現,我們指定剛才上面兩步創建的資料庫腳本,執行即可再新的環境中創建資料庫對象和資料庫數據了。如下所示。
完成上面幾個步驟,我們在新的資料庫環境中,就具備了所有的東西了,順利完成整個Oracle資料庫對象及數據的遷移工作。
以上值得注意的是,我們導出Oracle對象和數據的時候,默認還是原來Oracle資料庫的表空間和資料庫用戶名稱的,如果我們想要在新的資料庫服務
器中指定不同的表空間和資料庫用戶對象,那麼我們就需要替換生成的sql腳本,並在第一步指定合理的表空間和資料庫用戶。
如果是Linux平台下的資料庫伺服器,第一步操作也是差不多的,就是指定表空間的路徑名稍微不同,其他操作並無差異。

⑧ sql server 2008怎麼備份資料庫

sqlserver2008的資料庫自動備份方法
在SQL Server中出於數據安全的考慮,所以需要定期的備份資料庫。而備份資料庫一般又是在凌晨時間基本沒有資料庫操作的時候進行,所以我們不可能要求管理員每天守到晚上1點去備份資料庫。要實現資料庫的定時自動備份,最常用的方式就是使用SQL Server代理中的作業。啟動SQL Server Agent服務,然後在其中新建作業,作業中添加1個備份步驟,類型是T-SQL腳本,然後在命令中輸入如下SQL語句,該語句實現了對資料庫 TestDB1的完整備份,備份文件在C盤Backup文件夾中,文件名就是TestDB1+當時備份的日期字元串.bak。
declare @name varchar(250)
set @name='C:\Backup\TestDB1_'+convert(varchar(50),getdate(),112)+'.bak'
BACKUP DATABASE [TestDB1] TO
DISK = @name
WITH NOFORMAT, NOINIT,
NAME = N'TestDB1-完整 資料庫 備份',
SKIP, NOREWIND, NOUNLOAD
資料庫備份文件名稱中不能出現空格「 」,冒號「:」
創建好步驟以後,接下來就是創建計劃,創建計劃的操作十分簡單,界面上說明的很詳細了,我就不多說了。另外還可以配置警報和通知,不過一般很少用這個。
使用SQL作業中執行SQL腳本進行備份的方法雖然已經很簡單了,但是至少還是要去寫BACKUP腳本,這點有些人覺得不爽,那有沒有更簡單,更懶的方法來實現資料庫的自動定時備份呢?有,那就是「維護計劃」。
「維護計劃」是在SSMS的對象資源管理中「管理」節點下面。使用維護計劃可以通過可視化的操作,只點點滑鼠就可以創建資料庫維護的SSIS包,然後仍然是通過SQL Server作業的方式來運行。維護計劃與前面說到的備份方法本質的不同就是:維護計劃是SSIS包,上面的是T-SQL腳本。
假設我們現在有一個生產系統的資料庫需要進行備份,由於資料庫中的數據很多,數據文件很大,如果每次都進行完整備份那麼硬碟佔用了很大空間,而且備份時間很長,維護起來也很麻煩。對此我們可以採用完整備份+差異備份的方式,每周日進行一次完整備份,每天晚上進行一次差異備份。使用差異備份可以減小備份文件的大小,同時還可以提高備份的速度,不過缺點就是必須使用上一次完整備份的文件和差異備份的文件才能還原差異備份時刻的資料庫,單獨只有差異備份文件是沒有意義。
下面我來講一下如何通過維護計劃來實現完整備份+差異備份:
(1)在SSMS的對象資源管理器中右擊「維護計劃」,選擇 「維護計劃向導」,系統將彈出向導窗口,如圖:

這里向導已經告訴我們維護計劃到底能夠干什麼了,其中最後一項「執行資料庫備份」正是我們所需要的。
(2)點擊「下一步」按鈕,進入選擇計劃屬性窗口,輸入計劃的名稱,由於我們的計劃包括2部分:完整備份和差異備份,這2部分的執行計劃是不一樣的,一個是一周執行一次,另一個是一天執行一次,所以要選擇「每項任務單獨計劃」
(3)單擊「下一步」按鈕,選擇維護任務,這里就是可以在維護計劃中執行的任務,如果你想執行的任務在這里沒有,那就還是不用維護計劃來做,自己寫 SSIS包或者SQL語句吧。我們要執行的任務都在這里,選中這2個任務
(4)單擊「下一步」進入選擇維護任務順序的界面,這里我們可以看到選中的任務出現在列表中,但是我們並不能調整其順序,那是因為在步驟2中我們選擇的是每項任務單獨計劃,所以這2個任務是獨立的,沒有先後順序可言。如果當時選擇的是另一個選項,那麼這里就可以調整順序了。

附上出處鏈接:http://blog.163.com/tsmallchan@126/blog/static/171046091201111301138414/

⑨ MSsql每天自動備份資料庫並每天自動清除log的腳本

1、每日自動備份
打開企業管理器,進入「管理」-「資料庫維護計劃」,在右側窗口點擊右鍵,選擇「新建維護計劃」,啟動「資料庫維護計劃向導」;點擊「下一步」選擇需要維護的資料庫,維護特性資料庫時,選擇最後一個單選框並勾選需要維護的資料庫名稱;「下一步」選擇更新數據優化信息、「下一步」檢查資料庫完整性、「下一步」指定資料庫備份計劃、「下一步」指定備份存放位置、「下一步」指定事務日誌備份計劃、「下一步」指定報表,「下一步」指定歷史紀錄維護,最後設定維護作業名稱;通常來說,如果只需要備份資料庫文件,則只需要指定備份計劃以及存放位置即可,其他項目不做改動。
在指定備份計劃時候,由於需要每日備份,因此要更改調度。點擊「更改」編輯調度。發生頻率選擇每天;每日頻率選擇作業開始時間,最好選擇資料庫訪問量小時進行,多為半夜時間,可根據流量圖確定具體時間;持續時間通常不用做改動,開始日期為編輯日期,無結束日期。
編輯好上述維護計劃後,還要注意下
sql
server代理服務是否啟動了,因為每日調度維護計劃是要啟動這個服務才能執行的。如果該服務沒有啟動,需要手動啟動一下,這是可以在其子項「作業」中看到剛剛添加過的資料庫維護計劃。
2、定期自動清理資料庫日誌文件
資料庫日誌文件是隨著時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日至文件是恢復資料庫的重要依據,不用日誌文件也是不明智的。手工清除單個資料庫的還好說,但資料庫多了,或者臨時沒有來得及清理,可能硬碟空間就會占滿了,影響訪問。因此設置自動清理資料庫日誌文件還是比較實用的。
手動清理方法:右鍵單擊需要清理的資料庫,選擇「屬性」,在「選項」卡上,把故障還原模型設定為簡單,確定後關閉;再右鍵單擊該資料庫,「所有任務」-「收縮資料庫」,確認後即可清除日誌文件,最後記得重新選擇「屬性」,將故障還原模型設置為完全。
自動清理方法:同樣是利用sql
server代理服務,執行自動作業。
打開企業管理器,進入「管理」-「sql
server代理服務」-「作業」,在右側窗口點擊右鍵,選擇「新建作業」。「常規」選項卡中,填寫作業名稱,具體描述,注意所有者最好還是用sa或者默認的管理帳號。
轉到「步驟」選項卡,新建作業步驟,填寫步驟名稱,類型為腳本,資料庫為需要清理日誌的資料庫,在下邊命令中填寫以下命令:
DUMP
TRANSACTION
資料庫名稱
WITH
NO_LOG
DBCC
SHRINKFILE(資料庫日誌文件名,1)
上邊的資料庫名稱填寫需要維護的資料庫名稱,資料庫日誌文件名填寫其對應的日誌文件名,注意,不是資源管理器里看到的帶後綴名的那個名字,而是企業管理器里,資料庫屬性里日誌選項卡中日誌的名字(通常也只是差一個後綴名……),確定後添加一個作業步驟。
如果需要維護多個資料庫,用上述方法重復添加作業步驟,注意每個步驟成功或失敗後的動作即可,最後選擇一下開始的步驟。
在「調度」選項卡中,類似備份的維護計劃,填寫調度周期,即定期清理的周期,不再細述。如果需要,可以在最後的「通知」選項卡上設置作業完成後的通知項,需要設置操作員,以及設置相應的服務,這里也不具體說明了,通常不用……

⑩ 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 = '物理路徑(備纖旅份文件在磁碟的位置)'

熱點內容
open函數c語言 發布:2024-04-25 21:47:42 瀏覽:405
簡訊刪除後怎麼找伺服器 發布:2024-04-25 21:15:06 瀏覽:387
查ip地址伺服器數量 發布:2024-04-25 20:49:48 瀏覽:620
安卓手機單核性能為什麼不高 發布:2024-04-25 20:48:07 瀏覽:56
群暉php 發布:2024-04-25 20:00:35 瀏覽:884
怎麼查看我的wifi密碼 發布:2024-04-25 18:54:43 瀏覽:757
fckeditorforjava 發布:2024-04-25 18:50:27 瀏覽:624
優酷上傳視頻需要多久 發布:2024-04-25 18:33:05 瀏覽:675
inf12編譯器 發布:2024-04-25 18:15:39 瀏覽:99
撲克總督3安卓哪裡下載 發布:2024-04-25 18:10:02 瀏覽:395