2022
我们一起努力

远程异地备份数据(数据库异地备份)

目录:

  • 1、怎样做sql server数据库的异地备份
  • 2、如何用 FileZilla Server 异地备份数据库数据,要详细过程谢谢啦
  • 3、如何远程备份或还原数据库
  • 4、sql数据库怎么异地备份?
  • 5、如何实现数据中心异地容灾备份
  • 6、navicat怎么做到异地备份

怎样做sql server数据库的异地备份

直接备份到本机有点困难,可以尝试以下两种方法:

一种是,在你本机的sqlserver2005中建一个同名的数据库,然后右键单击该数据库名称-任务-复制数据库方式将远程的数据库拷到本机上,然后在备份(注,使用这个功能,得确保sqlserver是运行状态的)

另一种方法是你先备份到服务器上,然后通过远程登录或者是网上邻居将备份文件拷到你机子上(不过这种方式比较慢)

如何用 FileZilla 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("SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocesses.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 from disk='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("SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocesses.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;

如何远程备份或还原数据库

本地数据库还原到远程数据库跟本地数据库还原到本地数据库的区别不大,只是在登录时要登录到远程数据库。

方法如下:

1、登录到远程数据库。

2、右键点击数据库,并选择还原数据库。

3、如图位置选择要还原到的数据库名称。

4、勾选源设备,然后在右侧...处选择备份文件的路径。

5、添加完数据后依次点击确定。

6、在选择用于还原的备份集出勾选所选的文件,然后点击确定,等待还原完成即可。

sql数据库怎么异地备份?

首先要在异地的计算机安装SQL,然后在这台计算机打开服务器的数据库连接(即登陆的时候连接到服务器的IP地址),然后直接在本地计算机做数据库自动备份,就可以在本地计算机备份到服务器的数据库了

如何实现数据中心异地容灾备份

异地容灾,顾名思义就是在不同的地方(异地:可以是同城的两个不同的机房或者是两座不同的城市),构建一套或者多套相同的应用或者数据库,进一步提高了数据抵抗各种可能安全因素的容灾能力,可以对企业应用和数据库起到安全性、连续性等方面的作用。

两大分类

考虑到不同企事业单位对数据安全和业务连续性的要求不尽相同,我们将异地容灾分为两大类:数据级容灾和应用级容灾。

数据级容灾:就是指建立一个异地的数据系统,该系统是本地关键应用数据的一个可用复制。在本地数据及整个应用系统出现灾难时,至少在异地保存有一份可用的关键业务的数据。该数据可以是与本地生产数据的完全实时复制,也可以比本地数据略微落后,但一定是可用的。

应用级容灾:在数据级容灾基础上,在异地建立一套与本地生产系统相当的备份环境,包括主机、网络、应用、IP等资源均有配套,当本地系统发生灾难时,异地系统可以提供完全可用的生产环境。

CDP异地容灾VS传统异地容灾

传统的异地容灾方案大多基于远程复制技术。远程复制是指运用复制技术将数据以同步或者异步的方式存储到异地灾备中心中,其主要实现方式有三种:1.利用主机远程复制软件或硬件 。2.利用存储自身的复制软件。3.利用数据库软件产品。远程复制的方式可以实现数据级的容灾,但是一旦发生灾难,无法保证业务的连续性。此外,一旦出现数据库逻辑错误或人为误删除的情况,远程复制不能修复数据错误,也不能找回误删除的数据,更谈不上100%恢复数据并保障数据的可用性了。

和力记易的异地容灾方案以CDP持续数据保护技术为核心,可以构建异地桌面端或服务器端的文件、数据库和应用的全需求平台,能够防范数据丢失、修复数据错误,还能保障业务连续,全方位满足客户不同的数据安全和业务连续性要求。

1、启动Navicat软件,点击工具栏的【连接】按钮。(注:最好先关闭防火墙,以免无法进行一下几步的操作)。

2、在弹出的新“连接”窗口中输入:连接名、远程服务器主机名/IP、远程服务器用户名及密码。输入完成后确定。

 图一:连接远程服务器

3、双击我们创建的连接,就可以看到远程服务器上面的所有数据库了。

图二:查看远程服务器数据库

4、点击选定我们需要备份的数据库,然后点击工具栏的【计划任务】按钮。

图三:开始备份操作(1)

5、点击“创建批处理任务”。 

图四:创建批处理任务

6、在弹出的新“创建批次处理窗口”中双击可用任务中的“Backup 数据库名称”,在下面的“选择任务”框中就会出现选取“Backup 数据库名称”选项,也就会选择需要备份的数据库。如下图的“wakwaka”数据库

图五:选择需要备份的数据库

7、点击保存按钮,输入备份文件用户名。

图六:输入备份文件名

8、返回软件主界面,在点击工具栏的【计划任务】,你将会看到里面多了一个你刚才设置的备份文件名的计划任务,右键选择该任务,选择【设置计划任务】。

图七:设置计划任务

9、在弹出新窗口中选择“计划”选项卡,根据自己的需要新建一个计划,再点击高级按钮,设置自动备份的方式。

图八:设置自动备份的时间

图九:设置备份的重复任务

10、设置完成后,系统会要求你输入本机的管理员的密码。

11、以上操作都完成之后,就可以看看我们的成果了,我们可以看到自动备份的文件名是以时间命名的,这样就更方便你恢复数据库。

图十:已经在成功自动备份了

12、如果你想要恢复数据库的话,就双击相应时间的备份文件,点击“开始”即可。

图十一:恢复备份文件

赞(0)
文章名称:《远程异地备份数据(数据库异地备份)》
文章链接:https://www.fzvps.com/145962.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!