知识大全 用asp.net还原与恢复sqlserver数据库
Posted 数据库
篇首语:知识的价值不在于占有,而在于使用。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用asp.net还原与恢复sqlserver数据库相关的知识,希望对你有一定的参考价值。
上次做了个项目 涉及到数据库的还原和恢复 到网上找了一下 是利用SQLDMO实现的 只要添加SQLDMO引用就好了 然后利用下边的类的方法就可以实现了
我把原作者的类扩充了一下 可以自动识别nfig里 的数据库连接字符串 可以通过变量设置还原恢复的信息
需要注意的时还原 还原的时候问题最大了 有别的用户使用数据库的时候无法还原 解决办法就是在MASTER数据库中添加一个存储过程
create proc killspid (@dbname varchar( ))
as begin declare @sql nvarchar( )
declare @spid int set @sql= declare getspid cursor for select spid from sysprocesses where dbid=db_id( +@dbname+ ) exec (@sql)
open getspid fetch next from getspid into @spid while @@fetch_status<> begin exec( kill +@spid)
fetch next from getspid into @spid end close getspid deallocate getspid end GO
在还原之前先执行这个存储过程 需要传递dbname 就是你的数据库的名字 下边是类的原代码 (nfig里的数据库连接字符串是constr)
using System
using System Configuration
using System Data SqlClient
using System Data
namespace web base_class
/// <summary>
/// DbOper类 主要应用SQLDMO实现对Microsoft SQL Server数据库的备份和恢复
/// </summary>
public class DbOper
private string server
private string uid
private string pwd
private string database
private string conn
/// <summary>
/// DbOper类的构造函数
/// </summary>
public DbOper()
conn=System Configuration ConfigurationSettings AppSettings[ constr ] ToString()
server=cut(conn server= )
uid=cut(conn uid= )
pwd=cut(conn pwd= )
database=cut(conn database= )
public string cut(string str string bg string ed)
string sub
sub=str Substring(str IndexOf(bg)+bg Length)
sub=sub Substring( sub IndexOf( ))
return sub
/// <summary>
/// 数据库备份
/// </summary>
public bool DbBackup(string url)
SQLDMO Backup oBackup = new SQLDMO BackupClass()
SQLDMO SQLServer oSQLServer = new SQLDMO SQLServerClass()
try
oSQLServer LoginSecure = false
oSQLServer Connect(server uid pwd)
oBackup Action = SQLDMO SQLDMO_BACKUP_TYPE SQLDMOBackup_Database
oBackup Database = database
oBackup Files = url // d \\Northwind bak
oBackup BackupSetName = database
oBackup BackupSetDescription = 数据库备份
oBackup Initialize = true
oBackup SQLBackup(oSQLServer)
return true
catch
return false
throw
finally
oSQLServer DisConnect()
/// <summary>
/// 数据库恢复
/// </summary>
public string DbRestore(string url)
if(exepro()!=true)//执行存储过程
return 操作失败
else
SQLDMO Restore oRestore = new SQLDMO RestoreClass()
SQLDMO SQLServer oSQLServer = new SQLDMO SQLServerClass()
try
oSQLServer LoginSecure = false
oSQLServer Connect(server uid pwd)
oRestore Action = SQLDMO SQLDMO_RESTORE_TYPE SQLDMORestore_Database
oRestore Database = database
oRestore Files = url //@ d \\Northwind bak
oRestore FileNumber =
oRestore ReplaceDatabase = true
oRestore SQLRestore(oSQLServer)
return ok
catch(Exception e)
return 恢复数据库失败
throw
finally
oSQLServer DisConnect()
/FooterTemplate> </asp TemplateColumn> </Columns> </asp datagrid>> </asp TemplateColumn> </Columns> </asp datagrid>
private bool exepro()
SqlConnection conn = new SqlConnection( server= +server+ uid= +uid+ pwd= +pwd+ database=master )
SqlCommand cmd = new SqlCommand( killspid conn )
cmd CommandType = CommandType StoredProcedure
cmd Parameters Add( @dbname port )
try
conn Open()
cmd ExecuteNonQuery()
return true
catch(Exception ex)
return false
finally
conn Close()
cha138/Article/program/net/201311/11994
相关参考
ASP.NET恢复备份Sqlserver 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近做的
知识大全 ASP.NET如何存取SQL Server数据库图片
ASP.NET如何存取SQLServer数据库图片 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 ASP.NET中备份SQL Server数据库的方法
ASP.NET中备份SQLServer数据库的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 ASP.NET2.0数据库入门之SQL Server
ASP.NET2.0数据库入门之SQLServer 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
用ASP.NET加密Cookie数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Cookie
SQLSERVER数据库备份后无法还原的解决办法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!有时
知识大全 ASP与ASP.NET转换Session数据桥的应用
ASP与ASP.NET转换Session数据桥的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET与数据库相关技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
知识大全 在ASP.net 中从sqlserver检索(retrieve)图片
在ASP.net中从sqlserver检索(retrieve)图片 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
ASP.NET中数据校验部分的封装与应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们的业