當前位置:首頁 » 數據倉庫 » sql資料庫自動異地備份
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql資料庫自動異地備份

發布時間: 2023-06-12 09:54:36

sql如何實現異地增量備份

1、創建鏈接伺服器
2、參考這個;
參考:

if exists (select * from dbo.sysobjects where id = object_id(N '[dbo].[p_db] ') and OBJECTPROPERTY(id, N 'IsProcere ') = 1)
drop procere [dbo].[p_db]
GO

/*--資料庫數據復制

將一個資料庫中的數據復制到另一個資料庫
如果某列在目標資料庫中為標識列,將不會被復制

適用范圍:資料庫結構發生了變化,想將舊資料庫進行升級
這樣就可以根據新的資料庫結構創建一個空庫,然後
將舊資料庫的所有數據復制到新庫中
--鄒建 203.10--*/

/*--調用示例

exec p_db 'bns_aa ', 'bns_new '
exec p_db 'acc_五醫 ', 'acc_演示數據8 '
--*/
create proc p_db
@o_dbname sysname, --要復制數據的資料庫--源資料庫
@n_dbname sysname --接收數據的資料庫--目標資料庫
--@cleardb bit=0 --清空目標資料庫
as
declare @sql nvarchar(4000)

--禁用約束/觸發器,防止復制時的數據沖突
set @sql= 'declare #tbc cursor for select name
from '+@n_dbname+ '..sysobjects where xtype= ' 'U ' ' and status> =0 '
exec(@sql)

declare @tbname sysname
open #tbc
fetch next from #tbc into @tbname
while @@fetch_status=0
begin
set @sql= 'alter table '+@n_dbname+ '..[ '+@tbname+ '] NOCHECK CONSTRAINT ALL '
exec(@sql)
set @sql= 'alter table '+@n_dbname+ '..[ '+@tbname+ '] disable trigger ALL '
exec(@sql)
fetch next from #tbc into @tbname
end
close #tbc

--復制數據
declare @sql1 varchar(8000)
set @sql= 'declare #tb cursor for select a.name from '
+@o_dbname+ '..sysobjects a inner join '
+@n_dbname+ '..sysobjects b on a.name=b.name
where a.xtype= ' 'U ' ' and b.xtype= ' 'U ' ' '
exec(@sql)
open #tb
fetch next from #tb into @tbname
while @@fetch_status=0
begin
select @sql1= ' '
,@sql= 'select @sql1=@sql1+ ' ',[ ' '+a.name+ ' '] ' ' from(
select name from '+@o_dbname+ '..syscolumns where id in
(select id from '+@o_dbname+ '..sysobjects where name= ' ' '+@tbname+ ' ' ')
) a inner join (
select name from '+@n_dbname+ '..syscolumns where status <> 0x80 and id in
(select id from '+@n_dbname+ '..sysobjects where name= ' ' '+@tbname+ ' ' ')
) b on a.name=b.name '
exec sp_executesql @sql,N '@sql1 nvarchar(4000) out ',@sql1 out

select @sql1=substring(@sql1,2,8000)
exec( 'insert into '+@n_dbname+ '..[ '+@tbname+ ']( '+@sql1
+ ') select '+@sql1+ ' from '+@o_dbname+ '..[ '+@tbname+ '] ')
if @@error <> 0
print( 'insert into '+@n_dbname+ '..[ '+@tbname+ ']( '+@sql1
+ ') select '+@sql1+ ' from '+@o_dbname+ '..[ '+@tbname+ '] ')
fetch next from #tb into @tbname
end
close #tb
deallocate #tb

--數據復制完成後啟用約束
open #tbc
fetch next from #tbc into @tbname
while @@fetch_status=0
begin
set @sql= 'alter table '+@n_dbname+ '..[ '+@tbname+ '] CHECK CONSTRAINT ALL '
exec(@sql)
set @sql= 'alter table '+@n_dbname+ '..[ '+@tbname+ '] enable trigger ALL '
exec(@sql)
fetch next from #tbc into @tbname
end
close #tbc
deallocate #tbc
go

② SQL資料庫異地備份

1、你公司的這台伺服器應該和其他伺服器是同一個域裡面的吧,這樣可以把你伺服器裡面的一個文件夾設置成可讀寫共享,然後在其他伺服器上設置維護計劃,目標盤就設置到你的這台伺服器的共享目錄下(注意許可權一定要設置好)。這樣就跟普通的維護計劃一樣了,只不過目錄設置到網路上的共享盤而已
2、在你這台伺服器上建立沒個客戶的資料庫。使用資料庫復制(發布、訂閱)將客戶伺服器上的資料庫定時的同步到你這台伺服器上建立的資料庫中。

③ 如何實現sql server資料庫異地備份

操作步驟:
一、在備份電腦和主電腦上中創建一個賬戶liuxh和密碼123(自定義)
二、在備份電腦中創建備份用的文件夾backfile並將其共享給指定用戶liuxh。
如圖:
1.選擇用戶

2.分配許可權

三、在主電腦上為SQLservice設置登錄用戶
打開「管理」在「服務」中選擇「SQL Server (MSSQLSERVER)」右鍵屬性選擇「登錄」如下圖:
1.選擇SQL Server (MSSQLSERVER)」

2.選擇用戶liuxh輸入正確的密碼

四、在主電腦上打開SQLservice2008創建維護計劃。
在數據中的管理目錄下選擇「維護計劃」右鍵選擇「維護計劃向導」 創建維護計劃,步驟如下圖:
1. 第一步

2.下一步

名字可以自定義設置。在計劃中,根據計劃進行設置。點擊「更改」如下圖

3.點擊確認,點擊下一步選擇「備份資料庫(完整)」

4.點擊下一步

5.點擊下一步,選擇要備份的資料庫,和異地備份的路徑。

這里備用電腦的IP是192.168.1.148備份文件夾是backfile。所有路徑為\\192.168.1.148\backfile(更加實際情況填寫)

註:在點擊下一步的時候,可能出現無法解析文件夾的錯誤如下圖

原因:你的備用電腦的共享文件沒有設置好,請仔細查看原因。
6.點擊下一步到完成

④ 如何對遠程sql資料庫進行本地備份

首先你得知道遠程MSSQLIP用戶名密碼,步驟如下:

1、在本地MSSQL企業管器里新注冊遠程資料庫(新建一個sqlserver注冊)

2、在本地新建一資料庫,在新建資料庫中執行新生成的SQL腳本,注意腳本中的所屬用戶一般敏扒全部替換為[dbo]然後全部執行。

3、然後在新建資料庫中點右鍵所有任務導入數據,先填源資料庫,也就是遠程資料庫,後填目的資料庫,也就是新資料庫最後確定。

另外無法通過映射遠程磁碟到本地,進行資料庫的備份,因為不管是文件備份還是設備備份,備份的時候都無法找到映射的磁碟

註:除了本地備份外保證數據不丟失,還可以用「多備橋源昌份」這樣的工具把SQL資料庫備裂簡份到多個雲盤,滿足異地容災備份需要

⑤ 怎樣做sql server資料庫的異地備份

直接備份到本機有點困難,可以嘗試以下兩種方法:
一種是,在你本機的sqlserver2005中建一個同名的資料庫,然後右鍵單擊該資料庫名稱->任務->復制資料庫方式將遠程的資料庫拷到本機上,然後在備份(注,使用這個功能,得確保sqlserver是運行狀態的)
另一種方法是你先備份到伺服器上,然後通過遠程登錄或者是網上鄰居將備份文件拷到你機子上(不過這種方式比較慢)

⑥ 怎樣實現sQl2000資料庫異地備份

1.在SQL伺服器上,配置SQL客戶端工具使SQL伺服器允許你在異地計算機要能訪問到他。 2.通過使用SQL連接工具或查詢分析器或企業管理器,連接SQL伺服器,使用SQL語句,或企業管理器中的備份功能,備份資料庫信息

⑦ 怎樣自動並且異地備份重要的資料庫文件

步驟/方法
1
首先,我們在平台伺服器上必須設置好自動備份。如果我們用的是SQLServer,可以用資料庫維護計劃來操作,MySQL應該也有相應的程序或軟體。這里不再贅述,這篇文章主要介紹的是自動異地備份,本地備份必須先做好。

2
其次,FTP軟體要裝好,可以用IIS自帶的,也可以用Serv-U之類的FTP軟體。然後設置一個FTP用戶名和密碼,指向資料庫備份目錄。

3
在備份資料庫上,建立一個bat的批處理文件,內容如下:
"D:\wget.exe" -x -c -T 5 -w 0 -N -r -l inf -nH –ftp-user=mybackup –ftp-password=mybackup -P E:\BackUp\ "ftp://11.11.11.11"
其中wget.exe這個文件類似於Linux下的wget命令,Windows中也有相應的程序,網上可以下載到。比如我們把它放到D盤,路徑就是D:\wget.exe了,mybackup是FTP用戶名密碼,E:\Backup\是備份伺服器上的備份存儲路徑,最後是主站伺服器的IP或域名。

4
把這個bat文件添加到備份伺服器的計劃任務中,讓他定期執行。非常重要的資料庫可每天執行一次到兩次,注意觀察執行結果,確保完全自動。
步驟閱讀