A. sql server 2008 怎麼備份
1、在開始菜單中點擊「SQL Server Management Studio」在彈出的界面點擊連接,在資料庫選項中選擇需要備份的資料庫文件,然後右擊選擇「任務」中的「備份」
2、在備份資料庫TOBHIS,資料庫選擇「tobhis」,備份類型選擇「完整」然後點擊「添加」按鈕
3、在出現的界面中點擊文件夾後面的「...」選擇按鈕。
4、在「定位資料庫文件中」選擇「backup」文件路徑,以及文件類型,還有寫入資料庫名稱,然後點擊「確定」按鈕
5、在出來的界面中就可以看到備份文件的名稱以及路徑了。然後點擊確定按鈕。
6、然後資料庫就會執行備份程序,備份成功後會出現如下面的提示框。
7、為了確定資料庫備份是否成功,我們可以找到剛才的備份路徑來查看有沒有備份好的數據。如下面圖,說明備份成功了。
B. SQL Server 2008有幾種備份方式
SQL Server 2008提供了四種備份方式分別是:完整備份、差異備份、事務日誌備份、文件和文件組備份。
◆ 完整備份:備份整個資料庫的所有內容,包括事務日誌。該備份類型需要比較大的存儲空間來存儲備份文件,備份時間也比較長,在還原數據時,也只要還原一個備份文件。
◆ 差異備份:差異備份是完整備份的補充,只備份上次完整備份後更改的數據。相對於完整備份分來說,差異備份的數據量比完整數據備份小,備份的速度也比完整備份要快。因此,差異備份通常作為常用的備份方式。在還原數據時,要先還原前一次做的完整備份,然後還原最後一次所做的差異備份,這樣才能讓資料庫里的數據恢復到與最後一次差異備份時的內容相同。
◆ 事務日誌備份:事務日誌備份只備份事務日誌里的內容。事務日誌記錄了上一次完整備份或事務日誌備份後資料庫的所有變動過程。事務日誌記錄的是某一段時間內的資料庫變動情況,因此在進行事務日誌備份之前,必須要進行完整備份。與差異備份類似,事務日誌備份生成的文件較小、佔用時間較短,但是在還原數據時,除了先要還原完整備份之外,還要依次還原每個事務日誌備份,而不是只還原最後一個事務日誌備份(這是與差異備份的區別)。
◆ 文件和文件組備份。如果在創建資料庫時,為資料庫創建了多個資料庫文件或文件組,可以使用該備份方式。使用文件和文件組備份方式可以只備份資料庫中的某些文件,該備份方式在資料庫文件非常龐大時十分有效,由於每次只備份一個或幾個文件或文件組,可以分多次來備份資料庫,避免大型資料庫備份的時間過長。另外,由於文件和文件組備份只備份其中一個或多個數據文件,當資料庫里的某個或某些文件損壞時,可能只還原損壞的文件或文件組備份。
C. SQL SERVER2008遠程備份資料庫到本地
導入數據時,視圖會形成表。實際上,視圖就是查詢語句。
解決步驟:
1、導入數據。
2、將導入的與視圖名稱相同的表刪除。
3、從遠程資料庫創建腳本,選擇裡面所有的視圖。
4、執行這個腳本創建視圖。
D. 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'
E. 如何使用sql server 2008 備份資料庫
一、自動備份資料庫 1、在電腦開始菜單中選擇「SQL Server Management Studio」雙擊。在出現的界面中點擊「連接」按鈕。 SQL Server 2008怎麼自動備份資料庫 2、在出現的「 Microsoft SQL Server Management Studio」界面中選擇「管理」下的「維護計劃」右擊維護計劃,點擊「維護計劃向導」, SQL Server 2008怎麼自動備份資料庫 3、在出現的「SQL Server維護計劃向導」界面中點擊「下一步」 在出現的界面中把名稱和說明寫上。然後點擊「更改」設頂備份計劃 在出現的「作業計劃屬性」界面中,更改執行時間,也就是多久備份一次。這里該為每天備份。間隔時間更改為「1」更改執行一次時間為0:00:00也就是在每天的0點自動備份數據。 更改好以後,就可以在下面看到「在每天的 0:00:00 執行。將從 2014-5-16 開始使用計劃。」然後點擊「下一步」按鈕 在選擇維護任務界面中選擇要備份的資料庫文件。然後點擊下一步。 在選擇維護任務順序中,可以移動要備份的資料庫文件的順序。然後點擊「下一步」 在定義「備份資料庫完整」界面中,選擇資料庫後面下拉菜單中的資料庫文件。然後點擊「確定」按鈕 在定義「備份資料庫完整」界面里選擇備份路徑。然後點擊「下一步」 在「選擇報告選項」界面中設置好「報告文本文件」的路徑。然後點擊「下一步」 在出現的「完成該向導」界面中會看到設置備份的詳細信息。 這樣資料庫自動備份就成功了。 二、語句備份方式 declare @name varchar(250) set @name='C:\DB1_'+ convert(varchar(50),getdate(),112)+'.bak' BACKUP DATABASE [你的資料庫名稱] TO DISK=@name WITH NOFORMAT, NOINIT, NAME = N'DB1-完整 資料庫 備份', SKIP, NOREWIND, NOUNLOAD
F. SQL Server 2008怎麼自動備份資料庫
我們知道,利用SQL
Server
2008資料庫可以實現資料庫的定期自動備份。方法是用SQL
SERVER
2008自帶的維護計劃創建一個計劃對資料庫進行備份,下面我們將SQL
SERVER
2008定期自動備份的方法分享給大家。
首先需要啟動SQL
Server
Agent服務,這個服務如果不啟動是無法運行新建作業的,點擊「開始」–「所有程序」–「Microsoft
SQL
Server
2008」–「啟動SQL
Server
Management
Studio」登錄資料庫,點擊管理–維護計劃–
右擊
維護計劃向導如圖所示:
點擊「維護計劃向導」後跳出對話框,如圖所示:
點擊「下一步」如圖所示:
填寫好名稱及相關說明作個記號,點擊「更改」
來設定維護計劃,如圖所示:
可以為選擇執的時間段,每天、每周、每月可以根據你相應的需求來制定備份的時間,這里作演示就選擇在每天的0:00進行,點擊「確定」再點「下一步」如圖所示:
選擇你需要備份的任務,我這里就先擇「備份資料庫(完整、差異、
事務日誌
)」,很明了
點擊「下一步」如圖所示:
出現剛剛所選擇的三項你可以選擇他們所執行的順序,選好後點擊「下一步」如圖所示:
在資料庫那一列選擇相關資料庫點擊(確定)如圖所示(由於這張圖片較大您可以點擊圖片查看原圖):
選擇備份的資料庫存放的目錄,設置備份壓縮:有默認伺服器設置,壓縮備份等選項,因為我的資料庫較大所以就選擇壓縮,根據您的實際情況進行操作:點
擊」下一步」,下面的操作是對於這前我們所選擇的「維護任務」操作和「上一步」一樣這里就不截圖說明,最後點擊「下一步」如圖所示:
選擇SQL
SERVER
2008自動備份維護計劃的報告文件所存放位置點擊「下一步」如圖所示:
點擊「完成」這樣就完成了SQL
SERVER
2008自動備份。
注意:在利用SQL
SQLSERVER
2008
的維護計劃對資料庫進行定期的備份時要啟動「SQL
SERVER
代理」服務。
G. 怎樣將遠程資料庫伺服器上的SQL SERVER 2008R·版本的資料庫備份到我本地計算機上
吧你遠程的sql server 開啟遠程訪問。然後用你本地的sql 連接器(可以網路一個) 鏈接到遠程電腦,你就可以在本地備份了。
H. 如何遠程備份SQL SERVER資料庫
手頭上只有C#的代碼,不知道對你有沒有幫助
遠程備份要注意許可權的問題,普通的訪問帳戶沒有備份和還原的許可權,最好用sa的帳戶,並且程序訪問的帳戶必須添加到遠程機器的系統內
你說的遠程備份到本地是不可能的,你只有開放遠程某個文件夾加入你的特殊訪問帳戶許可權
最好直接用遠程桌面,這樣最方便
方法一(不使用SQLDMO):
///
///備份方法
///
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;");
SqlCommand cmdBK = new SqlCommand();
cmdBK.CommandType = CommandType.Text;
cmdBK.Connection = conn;
cmdBK.CommandText = @"backup database test to disk='C:\ba' with init";
try
{
conn.Open();
cmdBK.ExecuteNonQuery();
MessageBox.Show("Backup successed.");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
conn.Dispose();
}
///
///還原方法
///
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");
conn.Open();
//KILL DataBase Process
SqlCommand cmd = new SqlCommand("SELECTspidFROMsysprocesses ,sysdatabases WHEREsysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='test'", conn);
SqlDataReader dr;
dr = cmd.ExecuteReader();
ArrayList list = new ArrayList();
while(dr.Read())
{
list.Add(dr.GetInt16(0));
}
dr.Close();
for(int i = 0; i < list.Count; i++)
{
cmd = new SqlCommand(string.Format("KILL {0}", list[i]), conn);
cmd.ExecuteNonQuery();
}
SqlCommand cmdRT = new SqlCommand();
cmdRT.CommandType = CommandType.Text;
cmdRT.Connection = conn;
cmdRT.CommandText = @"restore database test fromdisk='C:\ba'";
try
{
cmdRT.ExecuteNonQuery();
MessageBox.Show("Restore successed.");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
方法二(使用SQLDMO):
///
///備份方法
///
SQLDMO.Backup backup = new SQLDMO.BackupClass();
SQLDMO.SQLServer server = new SQLDMO.SQLServerClass();
//顯示進度條
SQLDMO.BackupSink_PercentCompleteEventHandler progress = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);
backup.PercentComplete += progress;
try
{
server.LoginSecure = false;
server.Connect(".", "sa", "sa");
backup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
backup.Database = "test";
backup.Files = @"D:\test\myProg\backupTest";
backup.BackupSetName = "test";
backup.BackupSetDescription = "Backup the database of test";
backup.Initialize = true;
backup.SQLBackup(server);
MessageBox.Show("Backup successed.");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
server.DisConnect();
}
this.pbDB.Value = 0;
///
///還原方法
///
SQLDMO.Restore restore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer server = new SQLDMO.SQLServerClass();
//顯示進度條
SQLDMO.RestoreSink_PercentCompleteEventHandler progress = new SQLDMO.RestoreSink_PercentCompleteEventHandler(Step);
restore.PercentComplete += progress;
//KILL DataBase Process
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");
conn.Open();
SqlCommand cmd = new SqlCommand("SELECTspid FROMsysprocesses ,sysdatabases WHEREsysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='test'", conn);
SqlDataReader dr;
dr = cmd.ExecuteReader();
ArrayList list = new ArrayList();
while(dr.Read())
{
list.Add(dr.GetInt16(0));
}
dr.Close();
for(int i = 0; i < list.Count; i++)
{
cmd = new SqlCommand(string.Format("KILL {0}", list[i]), conn);
cmd.ExecuteNonQuery();
}
conn.Close();
try
{
server.LoginSecure = false;
server.Connect(".", "sa", "sa");
restore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
restore.Database = "test";
restore.Files = @"D:\test\myProg\backupTest";
restore.FileNumber = 1;
restore.ReplaceDatabase = true;
restore.SQLRestore(server);
MessageBox.Show("Restore successed.");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
server.DisConnect();
}
this.pbDB.Value = 0;