ASP.NET恢复SqlServer数据库还原失败
在用Asp.net对备份的数据库文件进行还原的时候,有时候会出现下面的错误异常:
[因为数据库正在使用,所以未能获得对数据库的排它访问权。 RESTORE DATABASE 操作异常终止。已将数据库上下文改为 'master'。]
这个时候,自由等待其他进程释放对应权限后,才可还原成功!有没有解决办法呢?我参照【Java】对这个问题的解决方法,做了更新,问题解决。
[SQL代码]
--还原数据库时数据库正在使用导致数据库无会还原,此存储过存在msater数据库下创建。exec killspid 'dbname' 结束此数据库的进程,这样才能还原数据库
create proc killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500)
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 <> -1
begin
exec('kill '+@spid)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end
[C#代码]
/// <summary>
/// 恢复数据库,可选择是否可以强制还原(即在其他人在用的时候,依然可以还原)
/// </summary>
/// <param name="databasename">待还原的数据库名称</param>
/// <param name="databasefile">带还原的备份文件的
相关文档:
在Web.config文件的 <system.web></system.web>这两个节点中间插入需要映射的URL
<urlMappings enabled="true">
<add url="~/用户要访问的页面.aspx" mappedUrl="~/要重定向到的页面.aspx"/>
</urlMappings> ......
System.Windows.Forms;
FolderBrowserDialog 提供了我们需要的文件夹浏览对话框,因为是COM必须是STA的,设置 AspCompat="true"来解决这个问题。
用法:
protected void Button1_Click(object sender, EventArgs e)
{
  ......
前几篇文章介绍了几个国外的.NET CMS,今天就介绍一下国内在ASP.NET平台中比较有特色的pageadmin cms(网址:http://www.pageadmin.net),这个系统并未走传统标签+HTML的路线,直接采用可视化的div+css组合功能模块的设计,大大提供了系统的易用性,下面介绍一下这个系统:
PageAdmin网站内 ......
此处提供的代码用来实现当asp.net页面中的某个Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.
//ASP.NET中防止页面多次提交的代码:javascript< script language="javascript"> < !-- function disableOtherSubmit() {
var obj = event.srcElem ......
主要类:
System.Web.HttpRuntime
System.Web.HttpApplicationFactory
System.Web.HttpApplication
System.Web.Compilation.BuildManager
System.Web.Compilation.ApplicationBuildProvider
System.Web.Compilation.BuildProvidersCompiler
System.Web.UI.PageHandlerFactory ......