标签: sql-server-2008-r2

超时已过期.操作完成之前经过的超时时间或服务器没有响应.该语句已终止

我的网站上有很多用户(每天20000-60000),这是一个移动文件的下载站点.我可以远程访问我的服务器(Windows Server 2008-R2).
我之前收到"服务器不可用"错误,但现在看到连接超时错误.
我不熟悉这个 - 它为什么会发生,我该如何解决?

完整错误如下:

'/'应用程序中的服务器错误.超时已过期.操作完成之前经过的超时时间或服务器没有响应.该语句已终止.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.Data.SqlClient.SqlException:超时已过期.操作完成之前经过的超时时间或服务器没有响应.该语句已终止.

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

堆栈跟踪:

[SqlException(0x80131904):超时已过期.操作完成之前经过的超时时间或服务器没有响应.语句已终止.]
System.Data.SqlClient.SqlConnection.OnError(SqlException异常,Boolean breakConnection
)+404
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()+ 412 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior ,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)+1363
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)+6387741
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async)+6389442
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method,DbAsyncResult result)+538
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName,Boolean sendToPipe)+689
System.Data.SqlClient.SqlCommand.Execu teNonQuery()+ 327
NovinMedia.Data.DbObject.RunProcedure(String storedProcName,IDataParameter []参数,Int32和rowsAffected)+209
DataLayer.OnlineUsers.Update_SessionEnd_And_Online(Object Session_End,Boolean Online)+440
NiceFileExplorer.Global.Application_Start(Object sender,EventArgs e)+163

[HttpException(0x80004005):超时已过期.操作完成之前经过的超时时间或服务器没有响应.该语句已被终止.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context,HttpApplication app)+405205​​3
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext context,MethodInfo [] handlers)+191
System.Web.HttpApplication. InitSpecial(HttpApplicationState状态,MethodInfo的[]处理程序,IntPtr的appContext,HttpContext的上下文)352
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr的appContext,HttpContext的上下文)407
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr的appContext)375

[HttpException(0x80004005):超时已过期.操作完成之前经过的超时时间或服务器没有响应.该语句已被终止.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+11686928 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext …

c# asp.net timeout sqlcommand sql-server-2008-r2

280
推荐指数
10
解决办法
71万
查看次数

用于终止与数据库的所有连接的脚本(超过RESTRICTED_USER ROLLBACK)

我有一个开发数据库,​​经常从Visual Studio数据库项目(通过TFS自动构建)重新部署.

有时当我运行我的构建时,我收到此错误:

ALTER DATABASE failed because a lock could not be placed on database 'MyDB'. Try again later.  
ALTER DATABASE statement failed.  
Cannot drop database "MyDB" because it is currently in use.  
Run Code Online (Sandbox Code Playgroud)

我试过这个:

ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE
Run Code Online (Sandbox Code Playgroud)

但我仍然无法删除数据库.(我的猜测是大多数开发人员都dbo可以访问.)

我可以手动运行SP_WHO并开始查杀连接,但我需要一种自动方式在自动构建中执行此操作.(虽然这次我的连接是我试图丢弃的数据库中唯一的连接.)

是否有一个脚本可以删除我的数据库,无论谁连接?

sql t-sql sql-server sql-server-2008 sql-server-2008-r2

214
推荐指数
4
解决办法
48万
查看次数

退出单用户模式

目前,我的数据库处于单用户模式.当我尝试扩展数据库时,我收到一个错误:

无法访问数据库'my_db'.(ObjectExplorer)

此外,当我尝试删除数据库时,我收到错误:

目前无法更改数据库'my_db'的状态或选项.数据库处于单用户模式,用户当前已连接到该用户.

如何退出单用户模式?我没有任何用户使用此数据库.

当我尝试使用IIS浏览我的网站时,我得到的错误是:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

我觉得好像单用户模式导致了这种情况.

sql-server sql-server-2008-r2

190
推荐指数
13
解决办法
26万
查看次数

如何在SQL Server中检查存储过程或函数的上次更改日期

我需要检查上次功能何时更改.我知道如何检查创建日期(它位于SQL Server Management Studio的函数属性窗口中).
我发现在SQL Server 2000中无法检查修改日期(请看这篇文章:是否可以确定SQL Server 2000中最后一次修改存储过程的时间?)

是否可以在SQL Server 2008中进行检查?MS是否在系统表中添加了一些允许检查它的新功能?

stored-procedures sql-function sql-server-2008 sql-server-2008-r2

167
推荐指数
6
解决办法
39万
查看次数

CREATE TABLE如果不是SQL Server中的等效项

可能重复:
SQL Server:检查表是否存在

CREATE TABLE IF NOT EXISTS适用于mysql但SQL Server 2008 R2失败.什么是等效语法?

sql sql-server sql-server-2008-r2

159
推荐指数
1
解决办法
38万
查看次数

在SQL Server 2008 R2中重命名数据库时出错

我正在使用此查询重命名数据库:

ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
Run Code Online (Sandbox Code Playgroud)

但它在排除时显示错误:

消息5030,级别16,状态2,行1
无法独占锁定数据库以执行操作.

我的查询有什么问题吗?

sql sql-server sql-server-2008-r2

152
推荐指数
7
解决办法
12万
查看次数

选择SQL Server数据库大小

我如何查询我的SQL服务器只获取数据库的大小?

我用过这个:

use "MY_DB"
exec sp_spaceused
Run Code Online (Sandbox Code Playgroud)

我懂了 :

database_name   database_size   unallocated space
My_DB           17899.13 MB 5309.39 MB
Run Code Online (Sandbox Code Playgroud)

它返回了我不需要的几个列,也许有一个从这个存储过程中选择database_size列的技巧?

我也试过这段代码:

SELECT DB_NAME(database_id) AS DatabaseName,
       Name AS Logical_Name,
       Physical_Name,
       (size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
Run Code Online (Sandbox Code Playgroud)

它给了我这个结果:

DatabaseName    Logical_Name    Physical_Name                    SizeMB
MY_DB           MY_DB           D:\MSSQL\Data\MY_DB.mdf          10613
MY_DB           MY_DB_log       D:\MSSQL\Data\MY_DB.ldf          7286
Run Code Online (Sandbox Code Playgroud)

所以我写了这个:

SELECT SUM(SizeMB)
FROM (
    SELECT DB_NAME(database_id) AS DatabaseName,
           Name AS Logical_Name,
           Physical_Name,
           (size * 8) / 1024 SizeMB
    FROM sys.master_files
    WHERE DB_NAME(database_id) = 'MY_DB'
) AS TEMP …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008 sql-server-2008-r2

139
推荐指数
5
解决办法
47万
查看次数

SQL Server 2008:如何查询所有数据库大小?

我有MS SQL 2008 R2,500个数据库.什么是查询所有数据库大小的最有效,最简单和"现代"的方法.

输出应该有列:

  • 数据库名称
  • DataFilesSize
  • LogFilesSize

sql t-sql sql-server sql-server-2008-r2

120
推荐指数
7
解决办法
31万
查看次数

如何检查表是否存在以及它是否不存在在sql server 2008中创建表

__CODE__在sql server 2008中编写一个我需要检查__CODE__数据库中是否存在,如果没有,那么我需要创建它.

我该怎么做?

sql t-sql sql-server sql-server-2008-r2

120
推荐指数
4
解决办法
35万
查看次数

无法加载文件或程序集Microsoft.SqlServer.management.sdk.sfc版本11.0.0.0

我安装了MS SQL Server 2008 R2,当我尝试在EDMX文件下从数据库更新模型时,我遇到了这个错误.

无法加载文件或程序集Microsoft.SqlServer.management.sdk.sfc版本11.0.0.0

我试图从这里安装Microsoft SQL Server 2008 R2共享管理对象,但没有乐趣.

.net visual-studio sql-server-2008-r2 entity-framework-5

111
推荐指数
6
解决办法
21万
查看次数