sql資料庫備份腳本
A. windows server2008系統實現mysql自動備份資料庫腳本
路徑有空格的話 需要添加引號
@echooff
set"Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
C:"ProgramFiles"MySQL"MySQLServer5.1"inmysqlmp.exe--opt-uroot--password=rootwelfare>D:data_backwelfare_%Ymd%.sql
@echoon
B. sqlserver怎麼用SQL語句備份和恢復資料庫跟怎麼導出腳本
都是在節目操作的
如果先遷移備份 可以指定循環備份到指定目錄 然後使用ftp或同步軟體把備份文件移走
C. 如何使用腳本批量恢復資料庫備份
蛙蛙推薦:利用WMI腳本批量恢復SQLSERVER資料庫
問題提出
蛙蛙求助:以編程的方式還原sqlserver資料庫問題
我有一個目錄下面都是sqlserver的資料庫備份文件,比如a.bak,b.bak,c.bak等,有沒有辦法一下把他們都還原到本地SQLSERVER資料庫裡面呀,過程是自動建立a,b,c這樣的資料庫,然後把a.bak恢復到a,b.bak恢復到b,依次類推,因為備份文件的原路徑和新庫的路徑不一樣,所以要有一些額外處理,誰能解決一下,因為這個目錄下有幾十個庫的備份文件呢,現在我的機器新安裝了一個SQLSERVER,要把他們全部恢復,當時沒有分離庫,所以不能直接附加.
設計方案
可以利用WMI腳本掃描存放資料庫備份文件的目錄,然後按照一定的規則生成一個恢復資料庫的T-sql腳本文件,然後用腳本執行osql程序來執行這個腳本完成資料庫恢復,這里沒有使用過多的錯誤處理和事務的代碼,因此要人為的確定資料庫恢復的T-SQL語句盡量不要引發異常。
解決方案
一、我們先來看一下恢復資料庫的T-SQL命令,以便理解後面通過腳本來創建T-SQL的原理
USE master
GO
--如果要創建的資料庫已經存在,那麼刪除它
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'article')
DROP DATABASE [article]
GO
--創建一個新資料庫,要指定新建資料庫的數據文件和日誌文件的名稱和位置,初始化大小
--增長幅度,最大值等內容
CREATE DATABASE article
ON
( NAME = N'article_dat',
FILENAME = N'd:\sql2000\MSSQL\data\article_Data.MDF',
SIZE = 1,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = N'article_log',
FILENAME = N'd:\sql2000\MSSQL\data\article_Log.LDF',
SIZE = 1MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
--把指定的資料庫備份文件恢復到剛剛建立的資料庫里,這里要指定資料庫備份文件的位置
--以及要恢復到的資料庫,因為備份文件來自未知的機器,備份的時候原資料庫和新資料庫
--的數據文件和日誌文件的位置不匹配,所以要用with move指令來完成強制文件移動,如果
--是通過管理器備份的資料庫文件,資料庫文件和日誌文件名分別是資料庫名跟上"_Data"或
--"_Log",這是一個假設哦,如果不是這樣,腳本有可能會出錯
RESTORE DATABASE [article]
FROM DISK = 'E:\windowdatabase\article.bak'
WITH
MOVE 'article_Data' TO 'd:\sql2000\MSSQL\data\article_Data.MDF',
MOVE 'article_Log' TO 'd:\sql2000\MSSQL\data\article_Log.LDF'
GO
從中可以看到T-SQL的強大。
D. SQL怎樣用SQL語句備份一張數據表
「AS 附近有語法錯誤」這個提示應該是SQL SERVER的,可見樓主是在SQL Server里執行的,而create table ... as是ORACLE的語句,在SQL Server里是不能執行的,SQL Server里類似的就是select * into person_backup from person。
E. SQL語句:怎麼對某個資料庫中的數據表進行備份與還原
1、導出整個資料庫:包括表結構和數據部分
mysqlmp -u 用戶名 -p 資料庫名 > 導出的文件名
例如:mysqlmp –u root –p 111111 test1 > test.sql
2、導出資料庫中的一個表
mysqlmp -u 用戶名 -p 資料庫名 表名> 導出的文件名
例如:mysqlmp –u root –p 111111 test1 user1> test1_user1.sql
3、導出多張表:
mysqlmp –u root –p 111111 test1 user1 user2> test1_user12.sql
4、導出一個資料庫結構:只導出表結構,不包括數據部分
mysqlmp -u root –p 111111 -d --add-drop-table test1>c:\test1.sql
-d 沒有數據
--add-drop-table 在每個 create 語句之前增加一個 drop table,以便於在每次導入
表到資料庫中時,如果發現某個表存在,先進行刪除。
5、導入資料庫
採用 source 命令,進入到 mysql 資料庫控制台。例如:
c:\>mysql -u root –p 111111
mysql>use test1 //改變當前資料庫為 test1 資料庫,注意 test1資料庫要先建好
然後使用 source 命令,後面參數為腳本文件(如前面備份的.sql 語句文件)
mysql>source c:\test1.sql
F. sql server 2005 自動備份問題 我要備份腳本
這一般常用三種方法可以備份遠程的伺服器資料庫。
1.用維護計劃。把備份的維護計劃做好,在客戶端執行作業中的維護計劃即可。
2.建立一個作業。在作業中寫備份的腳本。然後在客戶端執行作業即可。
3.把備份的SQL腳本在客戶端執行。
G. sql腳本導入資料庫,資料庫sql腳本如何導入
一 備份資料庫
1 選擇某一個資料庫,右鍵依次選擇:任務==》生成腳本;
2 選擇要編寫腳本的資料庫對象,注意此處可以選擇特定的資料庫對象,我們可以選擇我們需要備份的數據表。
3 在當前頁面下面第一步選擇高級選項,然後再選擇輸出的sql腳本的保存位置。
4 高級選項中最重要的一步就是在」要編寫的腳本的數據類型「中選擇第一項「架構和數據」,這個默認是選擇「僅限架構」,這個選項只會復制資料庫的表結構而不會復制資料庫的具體數據。
5 我們可以查看具體的導出的腳本和數據。
二 還原資料庫
1 在一個新的資料庫實例中創建一個一模一樣的空的資料庫,名稱也為IGIS。
2 通過:文件==》打開文件,打開剛開始導出的腳本文件。
3 選擇執行或者是按下F5來執行相應的操作,就可以將相應的資料庫裡面的數據表結構和數據導入到新的資料庫中,最終完成資料庫的備份工作。
H. 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'
I. 用C#寫腳本實現sql數據表的備份(就是生成包含所有insert語句的sql文件)怎麼寫
沒必要用正則,str_replace就可以了,效率還高
str_replace("height=\"480\"","height=\"480\" id=\"videoObject\"",$body);
正則替換的話就這樣
preg_replace("/height=\"480\"/is","height=\"480\" id=\"videoObject\"",$body);