Asp.Net 备份和还原SQL SERVER 数据库
2011-11-18 22:28
603 查看
我们等闲备份数据库时,必需登录数据库服务器去备份和还原,这么很不得体,其实SQL SERVER自带的号召可能让我们很容易地告终长途穿越Asp.Net备份和复如数据库。
BACKUP DATABASE '被备份的数据库名' TO DISK = '备份文件路径';
ALTER DATABASE '被还原的数据库名' SET OFFLINE WITH ROOLBACK IMMEDIATE;
RESTORE DATABASE '被还原的数据库名' FROM DISK = '备份文件路径';
ALTER DATABASE '被还原的数据库名' SET ONLINE WITH ROOLBACK IMMEDIATE;
容易几条号召就能够告终数据库的备份和还原,在Asp.Net中,能够像调用Sql语句一样调用这四条语句,轻迅捷松告终SQL SERVER数据库的备份和还原。
例子(以Northwind为例):
1、备份Northwind数据库到C盘根目录下,以'Northwind.bak'为名:
BACKUP DATABASE 'Northwind' TO DISK = 'C:/Northwind.bak';
2、还原Northwind数据库,C盘根目录下的'Northwind.bak'备份文件:
a、将数据库置于离线事态
ALTER DATABASE 'Northwind' SET OFFLINE WITH ROOLBACK IMMEDIATE;
b、还原Northwind数据库
RESTORE DATABASE 'Northwind' FROM DISK = 'C:/Northwind.bak';
c、将数据库置于在线事态
ALTER DATABASE 'Northwind' SET ONLINE WITH ROOLBACK IMMEDIATE;
复如数据库:
关键字:Alter Database 被还原的数据库名 Set Offline with Rollback immediate;
restore database 被还原的数据库名 from disk = '备份文件路径';
Alter Database 被还原的数据库名 Set OnLine With rollback Immediate;
大多数情形下,在全面还原形式或大容量日志还原形式下,SQL Server 2005 要求先备份日志尾部,然后还原目前附带在服务器实例上的数据库。“尾日志备份”可捉拿尚未备份的日志(日志尾部),是还原计划中的最后一个相干备份。除非 RESTORE 语句包括 WITH REPLACE 或 WITH STOPAT 子句,否则,复如数据库而不先备份日志尾部将导致讹谬。
你即便在在全面还原形式或大容量日志还原形式下做还原,因而会揭示这种讹谬
(System.Data.SqlClient.SqlException: 尚未备份数据库 zhidian.orggexinghua.org"MyData" 的日志尾部。万一该日志包括您不渴望失落的工作,请利用 BACKUP LOG WITH NORECOVERY 备份该日志。请利用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只遮蔽该日志的内容。 RESTORE DATABASE 正在失常终止。正在回滚不合法事务。)
处理措施:
string sql = "alter Database redbull set Offline with Rollback immediate;";
sql += "restore database redbull from disk='" + nowpath + "'";
sql += "WITH REPLACE "; //加这句话,即可处理问题,
sql += "alter Database redbull Set OnLine with rollback Immediate;";
BACKUP DATABASE '被备份的数据库名' TO DISK = '备份文件路径';
ALTER DATABASE '被还原的数据库名' SET OFFLINE WITH ROOLBACK IMMEDIATE;
RESTORE DATABASE '被还原的数据库名' FROM DISK = '备份文件路径';
ALTER DATABASE '被还原的数据库名' SET ONLINE WITH ROOLBACK IMMEDIATE;
容易几条号召就能够告终数据库的备份和还原,在Asp.Net中,能够像调用Sql语句一样调用这四条语句,轻迅捷松告终SQL SERVER数据库的备份和还原。
例子(以Northwind为例):
1、备份Northwind数据库到C盘根目录下,以'Northwind.bak'为名:
BACKUP DATABASE 'Northwind' TO DISK = 'C:/Northwind.bak';
2、还原Northwind数据库,C盘根目录下的'Northwind.bak'备份文件:
a、将数据库置于离线事态
ALTER DATABASE 'Northwind' SET OFFLINE WITH ROOLBACK IMMEDIATE;
b、还原Northwind数据库
RESTORE DATABASE 'Northwind' FROM DISK = 'C:/Northwind.bak';
c、将数据库置于在线事态
ALTER DATABASE 'Northwind' SET ONLINE WITH ROOLBACK IMMEDIATE;
复如数据库:
关键字:Alter Database 被还原的数据库名 Set Offline with Rollback immediate;
restore database 被还原的数据库名 from disk = '备份文件路径';
Alter Database 被还原的数据库名 Set OnLine With rollback Immediate;
大多数情形下,在全面还原形式或大容量日志还原形式下,SQL Server 2005 要求先备份日志尾部,然后还原目前附带在服务器实例上的数据库。“尾日志备份”可捉拿尚未备份的日志(日志尾部),是还原计划中的最后一个相干备份。除非 RESTORE 语句包括 WITH REPLACE 或 WITH STOPAT 子句,否则,复如数据库而不先备份日志尾部将导致讹谬。
你即便在在全面还原形式或大容量日志还原形式下做还原,因而会揭示这种讹谬
(System.Data.SqlClient.SqlException: 尚未备份数据库 zhidian.orggexinghua.org"MyData" 的日志尾部。万一该日志包括您不渴望失落的工作,请利用 BACKUP LOG WITH NORECOVERY 备份该日志。请利用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只遮蔽该日志的内容。 RESTORE DATABASE 正在失常终止。正在回滚不合法事务。)
处理措施:
string sql = "alter Database redbull set Offline with Rollback immediate;";
sql += "restore database redbull from disk='" + nowpath + "'";
sql += "WITH REPLACE "; //加这句话,即可处理问题,
sql += "alter Database redbull Set OnLine with rollback Immediate;";
相关文章推荐
- [ASP.NET-V] SQL Server 2008数据库的备份与还原
- ASP.NET中使用代码来进行备份和还原数据库
- asp.net 数据库备份还原(sqlserver+access)
- ASP.NET下备份与还原数据库代码
- Asp.net 不使用SQLDMO实现数据库备份和还原
- Asp.net 不使用SQLDMO实现数据库备份和还原
- 客户端备份和还原数据库(Asp.NET)
- ASP.NET SQLServer2005 数据库备份与还原
- asp.net(C#) 数据库备份还原 源码
- 客户端备份和还原数据库(Asp.NET)
- 代码实现ASP.NET数据库的备份和还原
- ASP.NET中的数据库备份与还原
- 在ASP.NET中备份和还原数据库
- ASP.NET 备份恢复 Sql Server 数据库
- asp.net 数据库备份与还原
- ASP.NET中使用代码来进行备份和还原数据库
- ASP.NET中使用代码来进行备份和还原数据库
- ASP.NET下备份与还原数据库代码
- ASP.NET中使用代码来进行备份和还原数据库
- 用SQLDMO在ASP.NET中备份和还原数据库(SQLSERVER2000)