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">带还原的备份文件的
相关文档:
string LogPath;
Thread thread;
void WriteLog()
{
while (true)
{
StreamWriter sw = new StreamWriter(LogPath, true, Encoding.UTF8);
sw.WriteLine(thread.Name + ":" + DateTime.Now.ToString());
sw.Close();
Thr ......
第一种方法:
通过URL链接地址传递
send.aspx:
protected void Button1_Click(object sender, EventArgs e)
{
Request.Redirect("Default2.aspx?username=honge");
}
receive.aspx:
string user ......
网站的重定向,通常用的有 301 和 302,301是永久重定向,是对SEO友好的,有利于保持原域名和新域名之间的PR转移及流量数据等。
Asp.Net 中实现301重定向的代码,也是比较简单的,举个例子:
原来的域名是 www.abc.com, 现在要将对这个域名的访问,全部重定向到 www.zu14.cn;
只需在 需要转向的页面里,
protected void ......
1. 数据库访问性能优化
数据库的连接和关闭
访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。 ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时 ......
主要类:
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 ......