"

IM电竞网站

"

c数据库备份与还原(备份还原c盘)

软件开发 101
今天给各位分享c数据库备份与还原的知识,其中也会对备份还原c盘进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!数据库备份与还原功能的实现 传统方法用SQL Server作数据库后台时,一般采用手工的方式利用SQL Server自身提供的可视化工具或SQL语言进行数据的备份还原功能(余正涛等,2003),但是由于SQL Server 的复杂性,操作比较繁琐,就使得普通用户对数据的备份与还原有一定的困难,并且容易造成错误,可能造成数据丢失等灾难性的后果??悸堑较低惩暾院涂煽啃?,可在VB 6.0环境下实现SQL Server数据库的备份与还原工作。

今天给各位分享c数据库备份与还原的知识,其中也会对备份还原c盘进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

数据库备份与还原功能的实现

传统方法用SQL Server作数据库后台时,一般采用手工的方式利用SQL Server自身提供的可视化工具或SQL语言进行数据的备份还原功能(余正涛等,2003),但是由于SQL Server 的复杂性,操作比较繁琐,就使得普通用户对数据的备份与还原有一定的困难,并且容易造成错误,可能造成数据丢失等灾难性的后果??悸堑较低惩暾院涂煽啃?,可在VB 6.0环境下实现SQL Server数据库的备份与还原工作。

(一)实现思路

为了通过程序实现数据库备份与还原工作,必须在VB环境下引用SQLDMO,SQLDMO(SQL Distributed Management Objects,SQL 分布式管理对象)封装了Microsoft SQL Server数据库中的对象。SQLDMO是Microsoft SQL Server中企业管理器所使用的应用程序接口(包括备份和恢复),允许用支持自动化或COM 的语言编写应用程序。SQLDMO 对象来自SQLDMO.dll,SQLDMO.dll 是随 SQL Server 2000 一起发布的。并通过CreateObject("SQLD MO.SQLServer")函数创建新对象,使用SQLServ er.Connect函数经密码校验可连接服务器,再创建备份核心对象SQLDMO.Backup,同时指定备份文件等参数即可实现数据库备份与还原。具体的备份处理流程如图8-10所示。

特别注意SQL Server 2000 所安装的硬盘分区格式是否是NTFS格式,NTFS是最适合安装SQL Serv?er的文件系统。它比FAT文件系统更稳定且更容易恢复。而且它还包括一些安全选项,例如文件和目录ACL,以及文件加密(EFS)。如果是Fat32格式建议将它改成NTFS格式,因为Fat32支持最大文件为4G,数据库超过4G通?;崽崾救罩疚募笾嗟拇砦?。

图8-10 数据库备份处理流程图

(二)关键代码

'************数据库备份操作*************

Set gSQLServer=getSQLServer(ServerName,UserName,password)

Private Function BackUpData(gDatabaseName As String,gBkupRstrFileName As String,Server?Name As String,UserName As String,password As String)As String

On Error GoTo ErrHandler:

Dim oBackup As SQLDMO.Backup

Dim gSQLServer As SQLDMO.SQLServer

Set tprg=New CProgress

tprg.Title ="正在执行数据库备份......"

ServerName为服务器名称;serName为用户名;password为超级密码

'连接服务器

Set oBackup=New SQLDMO.Backup

Set oBackupEvent=oBackup

gDatabaseName为所要备份数据名称;gBkupRstrFileName为备份文件名

oBackup.Database=gDatabaseName

oBackup.Files=gBkupRstrFileName

已存在gBkupRstrFileName备份文件名,则覆盖

If Len(Dir(gBkupRstrFileName))>0 Then

Kill(gBkupRstrFileName)

End If

oBackup.PercentCompleteNotification=1

Screen.MousePointer=vbHourglass

oBackup.SQLBackup gSQLServer

DoEvents

Screen.MousePointer=vbDefault

'清空内存、关闭连接

Set oBackupEvent=Nothing

Set oBackup=Nothing

gSQLServer.Close

Set gSQLServer=Nothing

Set tprg=Nothing

Exit Function

ErrHandler:

m_str状态=Err.Description

Resume Next

Set tprg=Nothing

End Function

'************数据库还原操作*************

Private Function RestoreData(gDatabaseName As String,gBkupRstrFileName As String,Server?Name As String,UserName As String,password As String)As String

On Error GoTo ErrHandler:

Dim oRestore As SQLDMO.Restore

Dim msg As String

Dim Response As String

Set tprg=New CProgress

tprg.Title ="正在执行数据库还原......"

Dim gSQLServer As SQLDMO.SQLServer

'ServerName为服务器名称;serName为用户名;password为超级密码

'连接服务器

Set gSQLServer=getSQLServer(ServerName,UserName,password)

Set oRestore=New SQLDMO.Restore

Set oRestoreEvent=oRestore

'gDatabaseName为所要还原数据名称;gBkupRstrFileName为还原文件名

oRestore.Database=gDatabaseName

oRestore.Files=gBkupRstrFileName

Screen.MousePointer=vbHourglass

oRestore.PercentCompleteNotification=1

oRestore.SQLRestore gSQLServer

Screen.MousePointer=vbDefault

'清空内存、关闭连接

Set oRestoreEvent=Nothing

Set oRestore=Nothing

gSQLServer.Close

Set gSQLServer=Nothing

Set tprg=Nothing

Exit Function

ErrHandler:

m_str状态=Err.Description

Resume Next

Set tprg=Nothing

End Function

'************显示备份进度*************

'************显示还原进度*************

End Sub

Private Sub oBackupEvent_PercentComplete(ByVal Message As String,ByVal Percent As Long)

DoEvents

tprg.Value=Percent

End Sub

Private Sub oRestoreEvent_PercentComplete(ByVal Message As String,ByVal Percent As Long)

DoEvents

tprg.Value=Percent

通过c# winform程序如何对数据库进行备份和还原?

WinForm c# 备份 还原 数据库, 其实是个非常简单的问题,一个Form,一个Button,一个OpenFileDialog,一个SaveFileDialog.下面给出备份与还原类

using System;

using System.Collections.Generic;

using System.Text;

using System.Data;

using System.Data.SqlClient;

using System.IO;

using System.Collections;

using System.Windows.Forms;

namespace 我的备份与还原

{

class 备份与还原数据库

{

static string connectionString = "server=.;database=master;uid=sa;pwd=";

SqlConnection conn = new SqlConnection(connectionString);

/// summary

/// 备份指定的数据库文件

/// /summary

/// param name="databasename"要还原的数据库/param

/// returns/returns

public bool BackUpDataBase( string databasefile)

{

if (!File.Exists(databasefile))

{

}

//还原的数据库MyDataBase

string sql = "BACKUP DATABASE " + "MyDataBase" + " TO DISK = '" + databasefile + ".bak' ";

conn.Open();

SqlCommand comm = new SqlCommand(sql, conn);

comm.CommandType = CommandType.Text;

try

{

comm.ExecuteNonQuery();

}

catch (Exception err)

{

string str = err.Message;

conn.Close();

return false;

}

conn.Close();//关闭数据库连接

return true;

}

//以下是还原数据库,稍微麻烦些,要关闭所有与当前数据库相连的连接

//------------------------------------------------------------------------------------------

public string RestoreDatabase(string backfile)

{

///杀死原来所有的数据库连接进程

SqlConnection conn = new SqlConnection();

conn.ConnectionString = "Data Source=.;Initial Catalog=master;User ID=sa;pwd =";

conn.Open();

string sql = "SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='" +

"MyDataBase"+ "'";

SqlCommand cmd1 = new SqlCommand(sql, conn);

SqlDataReader dr;

ArrayList list = new ArrayList();

try

{

dr = cmd1.ExecuteReader();

while (dr.Read())

{

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

}

dr.Close();

}

catch (SqlException eee)

{

MessageBox.Show(eee.ToString());

}

finally

{

conn.Close();

}

for (int i = 0; i list.Count; i++)

{

conn.Open();

cmd1 = new SqlCommand(string.Format("KILL {0}", list[i].ToString()), conn);

cmd1.ExecuteNonQuery();

conn.Close();

MessageBox.Show("系统已经清除的数据库线程: " + list[i].ToString() + "rn正在还原数据库!");

}

//这里一定要是master数据库,而不能是要还原的数据库,因为这样便变成了有其它进程

//占用了数据库。

string constr = @"Data Source=.;Initial Catalog=master;User ID=sa;pwd =";

string database = MyDataBase;

string path = backfile;

string BACKUP = String.Format("RESTORE DATABASE {0} FROM DISK = '{1}'", database, path);

SqlConnection con = new SqlConnection(constr);

SqlCommand cmd = new SqlCommand(BACKUP, con);

con.Open();

try

{

cmd.ExecuteNonQuery();

MessageBox.Show("还原成功,点击退出系统!");

Application.Exit();

}

catch (SqlException ee)

{

//throw(ee);

//MessageBox.Show("还原失败");

MessageBox.Show(ee.ToString());

}

finally

{

con.Close();

}

return "成功与否字符串";

}

}

}

备份和恢复数据库的命令

MySQL 命令行备份

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

(SHOW VARIABLES LIKE "%char%"; 查看数据库安装路径)

Linux下命令:

[root@linuxsir01 root]# mysqldump -u root -p oa_int /home/oa_20160627.sql

Windows下命令:

C:UsersAdministratormysqldump -u 密码 -p 数据库名 d:/oa_int_20160708.sql

MySQL 命令行恢复:

Linux下命令:

[root@linuxsir01 root]# mysql -u root -p oa_int1 /home/oa_20160627.sql

Enter password:在这里输入数据库的密码

Windows下命令:

C:UsersAdministrator mysql -u root -p 数据库名(要先创建好数据库) d:/oa_int_20160708.sql

c#连接到数据库,想把数据库中的数据进行备份,然后还原。

restore

database

数据名

from

disk=

'c:=test.bak

'

with

REPLACE

或:

还原修改数据库路径:

RESTORE

DATABASE

MyNwind

FROM

MyNwind_1

WITH

NORECOVERY,

MOVE

'MyNwind

'

TO

'c:Program

FilesMicrosoft

SQL

ServerMSSQLDataNewNwind.mdf

',

MOVE

'MyNwindLog1

'

TO

'c:Program

FilesMicrosoft

SQL

ServerMSSQLDataNewNwind.ldf

'

c数据库备份与还原的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于备份还原c盘、c数据库备份与还原的信息别忘了在本站进行查找喔。

c数据库备份与还原 sql2008数据库备份与还原sql2000数据库备份与还原mysql数据库备份与还原oracle数据库备份还原access数据库备份和还原sql2005数据库备份与还原数据库备份与还原实验报告sql数据库备份还原人大金仓数据库备份与还原中控考勤机数据库备份与还原
扫码二维码
IM电竞网站

    1. <nav id="u93nx"></nav>

        <wbr id="u93nx"></wbr>
        <sub id="u93nx"></sub>
            <em id="u93nx"></em>

              "