当前位置:首页 » 编程语言 » sqlserver2008远程备份
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver2008远程备份

发布时间: 2022-05-10 00:22:46

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;