APS.NET 中怎么实现数据库(SQL SERVER2000)的备份与还原 APS.NET 中怎么实现数据库(SQL SERVER2000)的备份与还原最好有C# 的代码,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在SQL中使用 BACKUP 进行备份,使用RESTORE还原数据库两个存储过程为:create proc backup_database (@device_name varchar(80),--备份设备名@file_name varchar(125), --备份文件名@devicelog_name varchar(85),--日志备份设备名@filelog_name varchar(130) --日志备份文件名)as--创建数据库的备份逻辑设备exec sp_addumpdevice 'disk', @device_name ,@file_name //创建设备逻辑名exec sp_addumpdevice 'disk', @devicelog_name, @filelog_name backup database testdb to @device_name //备份数据库backup log testdb to @devicelog_name //备份日志create proc Rewordtable(@device_name varchar(80),@devicelog_name varchar(85))asRestore database testdb from @device_nameRestore log testdb @devicelog_name http://singlepine.cnblogs.com/articles/255410.htmlhttp://www.pcptel.com/content/view/306/ 看了不是很清楚可不可以用多点文字说明啊没有接触过这一方面谢谢比如在ASP.netvoid 备份(){ //这里怎么写}void 还原(){ //这里怎么写}谢谢 <% @Import Namespace="System.Data" %><% @Import Namespace="System.Data.SqlClient" %><HTML> <HEAD> <title>获取服务器端数据库列表示例</title> <script language="C#" runat="server"> // 注意本节的数据库连接字符串 string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer1"]; void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { // 创建连接及执行数据库操作 string db_query = "sp_helpdb"; SqlCommand myCommand = new SqlCommand(db_query, new SqlConnection(ConnStr)); myCommand.Connection.Open(); SqlDataReader dr = myCommand.ExecuteReader(); // 将数据库列表绑定到下拉列表控件(DropDownList) dbDropDownList.DataSource = dr; dbDropDownList.DataTextField = "name"; dbDropDownList.DataBind(); //关闭DataReader对象和数据库连接 dr.Close(); myCommand.Connection.Close(); } } void dbDropDownList_SelectedIndexChanged(object sender, System.EventArgs e) { pathTextBox.Text = @"C:\BACKUP\" + dbDropDownList.SelectedValue + ".bak"; } void backupButton_Click(object sender, System.EventArgs e) { string path = pathTextBox.Text; string dbname = dbDropDownList.SelectedValue; string backupSql = "use master;"; backupSql += "backup database @dbname to disk = @path;"; SqlCommand myCommand = new SqlCommand(backupSql, new SqlConnection(ConnStr)); myCommand.Parameters.Add("@dbname", SqlDbType.Char); myCommand.Parameters["@dbname"].Value = dbname; myCommand.Parameters.Add("@path", SqlDbType.Char); myCommand.Parameters["@path"].Value = path; try { myCommand.Connection.Open(); myCommand.ExecuteNonQuery(); infoLabel.Text = "备份成功"; } catch(Exception ex) { infoLabel.Text = "备份失败<br>" + ex.ToString(); } finally { myCommand.Connection.Close(); } } void restoreButton_Click(object sender, System.EventArgs e) { string path = pathTextBox.Text; string dbname = dbDropDownList.SelectedValue; string restoreSql = "use master;"; restoreSql += "restore database @dbname from disk = @path;"; SqlCommand myCommand = new SqlCommand(restoreSql, new SqlConnection(ConnStr)); myCommand.Parameters.Add("@dbname", SqlDbType.Char); myCommand.Parameters["@dbname"].Value = dbname; myCommand.Parameters.Add("@path", SqlDbType.Char); myCommand.Parameters["@path"].Value = path; try { myCommand.Connection.Open(); myCommand.ExecuteNonQuery(); infoLabel.Text = "恢复成功"; } catch(Exception ex) { infoLabel.Text = "恢复失败<br>" + ex.ToString(); } finally { myCommand.Connection.Close(); } } </script> </HEAD> <body> <form id="Form1" method="post" runat="server"> <h3>获取服务器端数据库列表示例</h3> 数据库列表: <asp:dropdownlist id="dbDropDownList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="dbDropDownList_SelectedIndexChanged"></asp:dropdownlist> <br><br> 请输入备份目录及备份文件名: <asp:textbox id="pathTextBox" runat="server" Width="224px"> C:\BACKUP\Northwind.bak</asp:textbox>(目录必须存在) <br><br> <asp:button id="backupButton" runat="server" Font-Size="9pt" Text="备份数据库" OnClick="backupButton_Click"></asp:button> <asp:button id="restoreButton" runat="server" Font-Size="9pt" Text="恢复数据库" OnClick="restoreButton_Click"></asp:button> <br><br> <asp:Label id="infoLabel" runat="server"></asp:Label> </form> </body></HTML> http://winzheng.blog.ccidnet.com/blog/ccid/do_showone/tid_9268.html 动态网站里的一些通用内容怎么设置比较好? 表格中有很多需要合并的内容,还有很多横向和纵向的小计,用什么方法实现比较好 关于三层的理解 我不写正则,希望大家能帮我写一个,要求是只能输入字母或数字,或字母和数字,谢谢! 怎么判断一个日期是当月最后一天 关心电子签名、电子签章、数字签名技术的相关问题的请留步! 在线等待回答关于:<%@ Import Namespace="System.Data.SQL" %> 关于子页面刷新父页的问题! 急急! asp.net button控件触发问题 验证控件与服务器之间的关系 急~ 远程访问服务器导入本机EXCEL报表问题! 紧急~关于前台显示乱码的问题!!!
两个存储过程为:
create proc backup_database
(
@device_name varchar(80),--备份设备名
@file_name varchar(125), --备份文件名
@devicelog_name varchar(85),--日志备份设备名
@filelog_name varchar(130) --日志备份文件名
)
as
--创建数据库的备份逻辑设备
exec sp_addumpdevice 'disk', @device_name ,@file_name //创建设备逻辑名
exec sp_addumpdevice 'disk', @devicelog_name, @filelog_name
backup database testdb to @device_name //备份数据库
backup log testdb to @devicelog_name //备份日志create proc Rewordtable
(
@device_name varchar(80),
@devicelog_name varchar(85)
)
as
Restore database testdb from @device_name
Restore log testdb @devicelog_name
http://www.pcptel.com/content/view/306/
可不可以用多点文字说明啊
没有接触过这一方面
谢谢
比如在ASP.net
void 备份()
{
//这里怎么写
}
void 还原()
{
//这里怎么写
}
谢谢
<% @Import Namespace="System.Data" %>
<% @Import Namespace="System.Data.SqlClient" %>
<HTML>
<HEAD>
<title>获取服务器端数据库列表示例</title>
<script language="C#" runat="server">
// 注意本节的数据库连接字符串
string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer1"];
void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
// 创建连接及执行数据库操作
string db_query = "sp_helpdb"; SqlCommand myCommand = new SqlCommand(db_query, new SqlConnection(ConnStr));
myCommand.Connection.Open();
SqlDataReader dr = myCommand.ExecuteReader(); // 将数据库列表绑定到下拉列表控件(DropDownList)
dbDropDownList.DataSource = dr;
dbDropDownList.DataTextField = "name";
dbDropDownList.DataBind(); //关闭DataReader对象和数据库连接
dr.Close();
myCommand.Connection.Close();
}
}
void dbDropDownList_SelectedIndexChanged(object sender, System.EventArgs e)
{
pathTextBox.Text = @"C:\BACKUP\" + dbDropDownList.SelectedValue + ".bak";
}
void backupButton_Click(object sender, System.EventArgs e)
{
string path = pathTextBox.Text;
string dbname = dbDropDownList.SelectedValue; string backupSql = "use master;";
backupSql += "backup database @dbname to disk = @path;";
SqlCommand myCommand = new SqlCommand(backupSql, new SqlConnection(ConnStr)); myCommand.Parameters.Add("@dbname", SqlDbType.Char);
myCommand.Parameters["@dbname"].Value = dbname;
myCommand.Parameters.Add("@path", SqlDbType.Char);
myCommand.Parameters["@path"].Value = path; try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
infoLabel.Text = "备份成功";
}
catch(Exception ex)
{
infoLabel.Text = "备份失败<br>" + ex.ToString();
}
finally
{
myCommand.Connection.Close();
}
}
void restoreButton_Click(object sender, System.EventArgs e)
{
string path = pathTextBox.Text;
string dbname = dbDropDownList.SelectedValue; string restoreSql = "use master;";
restoreSql += "restore database @dbname from disk = @path;"; SqlCommand myCommand = new SqlCommand(restoreSql, new SqlConnection(ConnStr)); myCommand.Parameters.Add("@dbname", SqlDbType.Char);
myCommand.Parameters["@dbname"].Value = dbname;
myCommand.Parameters.Add("@path", SqlDbType.Char);
myCommand.Parameters["@path"].Value = path; try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
infoLabel.Text = "恢复成功";
}
catch(Exception ex)
{
infoLabel.Text = "恢复失败<br>" + ex.ToString();
}
finally
{
myCommand.Connection.Close();
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>获取服务器端数据库列表示例</h3>
数据库列表:
<asp:dropdownlist id="dbDropDownList" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="dbDropDownList_SelectedIndexChanged"></asp:dropdownlist>
<br><br>
请输入备份目录及备份文件名:
<asp:textbox id="pathTextBox" runat="server" Width="224px">
C:\BACKUP\Northwind.bak</asp:textbox>(目录必须存在)
<br><br>
<asp:button id="backupButton" runat="server" Font-Size="9pt" Text="备份数据库"
OnClick="backupButton_Click"></asp:button>
<asp:button id="restoreButton" runat="server" Font-Size="9pt" Text="恢复数据库"
OnClick="restoreButton_Click"></asp:button>
<br><br>
<asp:Label id="infoLabel" runat="server"></asp:Label>
</form>
</body>
</HTML>