×

sqlserver备份数据库,sqlServer备份数据库表结构

前端技术网 前端技术网 发表于2024-01-21 13:06:14 浏览2780 评论0

抢沙发发表评论

一、SQL server 2008数据库怎么备份

1、在服务器所有程序中打开SQLServerManagementStudio并连接数据库实例。

2、需要备份的数据右键-备份

sqlserver备份数据库,sqlServer备份数据库表结构

3、在弹出的对话框中再次确认要备份的数据库是否正确,且备份模式为“完整”之后点击“添加”按钮添加备份位置。

4、在添加对话框中填入要备份到的文件夹及备份名称。

5、再次确认备份信息是否正确,然后点击确认进行备份。直至出现备份成功提示。备份完成。

二、如何远程备份SQL SERVER数据库

方法一(不使用SQLDMO):

///

///备份方法

sqlserver备份数据库,sqlServer备份数据库表结构

///

SqlConnectionconn=newSqlConnection("Server=.;Database=master;UserID=sa;Password=sa;");

SqlCommandcmdBK=newSqlCommand();

cmdBK.CommandType=CommandType.Text;

cmdBK.Connection=conn;

cmdBK.CommandText=@"backupdatabasetesttodisk='C:\ba'withinit";

try

{

conn.Open();

cmdBK.ExecuteNonQuery();

MessageBox.Show("Backupsuccessed.");

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message);

}

finally

{

conn.Close();

conn.Dispose();

}

///

///还原方法

///

SqlConnectionconn=newSqlConnection("Server=.;Database=master;UserID=sa;Password=sa;Trusted_Connection=False");

conn.Open();

//KILLDataBaseProcess

SqlCommandcmd=newSqlCommand("SELECTspidFROMsysprocesses,sysdatabasesWHEREsysprocesses.dbid=sysdatabases.dbidANDsysdatabases.Name='test'",conn);

SqlDataReaderdr;

dr=cmd.ExecuteReader();

ArrayListlist=newArrayList();

while(dr.Read())

{

list.Add(dr.GetInt16(0));

}

dr.Close();

for(inti=0;i<list.Count;i++)

{

cmd=newSqlCommand(string.Format("KILL{0}",list[i]),conn);

cmd.ExecuteNonQuery();

}

SqlCommandcmdRT=newSqlCommand();

cmdRT.CommandType=CommandType.Text;

cmdRT.Connection=conn;

cmdRT.CommandText=@"restoredatabasetestfromdisk='C:\ba'";

try

{

cmdRT.ExecuteNonQuery();

MessageBox.Show("Restoresuccessed.");

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message);

}

finally

{

conn.Close();

}

方法二(使用SQLDMO):

///

///备份方法

///

SQLDMO.Backupbackup=newSQLDMO.BackupClass();

SQLDMO.SQLServerserver=newSQLDMO.SQLServerClass();

//显示进度条

SQLDMO.BackupSink_PercentCompleteEventHandlerprogress=newSQLDMO.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="Backupthedatabaseoftest";

backup.Initialize=true;

backup.SQLBackup(server);

MessageBox.Show("Backupsuccessed.");

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message);

}

finally

{

server.DisConnect();

}

this.pbDB.Value=0;

///

///还原方法

///

SQLDMO.Restorerestore=newSQLDMO.RestoreClass();

SQLDMO.SQLServerserver=newSQLDMO.SQLServerClass();

//显示进度条

SQLDMO.RestoreSink_PercentCompleteEventHandlerprogress=newSQLDMO.RestoreSink_PercentCompleteEventHandler(Step);

restore.PercentComplete+=progress;

//KILLDataBaseProcess

SqlConnectionconn=newSqlConnection("Server=.;Database=master;UserID=sa;Password=sa;Trusted_Connection=False");

conn.Open();

SqlCommandcmd=newSqlCommand("SELECTspidFROMsysprocesses,sysdatabasesWHEREsysprocesses.dbid=sysdatabases.dbidANDsysdatabases.Name='test'",conn);

SqlDataReaderdr;

dr=cmd.ExecuteReader();

ArrayListlist=newArrayList();

while(dr.Read())

{

list.Add(dr.GetInt16(0));

}

dr.Close();

for(inti=0;i<list.Count;i++)

{

cmd=newSqlCommand(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("Restoresuccessed.");

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message);

}

finally

{

server.DisConnect();

}

this.pbDB.Value=0;

三、sqlserver怎么导出数据库

1、首先打开sqlserver,找到需要导出的数据库。

2、开启服务。

3、打开企业管理器。

4、等待一会加载后,选择具体数据库对象,然后选择需要的表,,之后继续点击下一步。

5、点击高级选项。

6、在打开的窗口中找到要编写脚本的数据的类型,更改为架构和数据,,之后点击确定。

7、选择输出的路径,选择好后,点击下一步。

8、继续点击下一步。

9、数据库中的表和数据就导出完毕了。

四、sqlserver数据库几种备份方法

SQLServer2008提供了四种备份方式分别是:完整备份、差异备份、事务日志备份、文件和文件组备份。

◆完整备份:备份整个数据库的所有内容,包括事务日志。该备份类型需要比较大的存储空间来存储备份文件,备份时间也比较长,在还原数据时,也只要还原一个备份文件。

◆差异备份:差异备份是完整备份的补充,只备份上次完整备份后更改的数据。相对于完整备份分来说,差异备份的数据量比完整数据备份小,备份的速度也比完整备份要快。因此,差异备份通常作为常用的备份方式。在还原数据时,要先还原前一次做的完整备份,然后还原最后一次所做的差异备份,这样才能让数据库里的数据恢复到与最后一次差异备份时的内容相同。

◆事务日志备份:事务日志备份只备份事务日志里的内容。事务日志记录了上一次完整备份或事务日志备份后数据库的所有变动过程。事务日志记录的是某一段时间内的数据库变动情况,因此在进行事务日志备份之前,必须要进行完整备份。与差异备份类似,事务日志备份生成的文件较小、占用时间较短,但是在还原数据时,除了先要还原完整备份之外,还要依次还原每个事务日志备份,而不是只还原最后一个事务日志备份(这是与差异备份的区别)。

◆文件和文件组备份。如果在创建数据库时,为数据库创建了多个数据库文件或文件组,可以使用该备份方式。使用文件和文件组备份方式可以只备份数据库中的某些文件,该备份方式在数据库文件非常庞大时十分有效,由于每次只备份一个或几个文件或文件组,可以分多次来备份数据库,避免大型数据库备份的时间过长。另外,由于文件和文件组备份只备份其中一个或多个数据文件,当数据库里的某个或某些文件损坏时,可能只还原损坏的文件或文件组备份。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!