本人是.NET菜鸟,网站前一天好好的,第二天就KO了,服务器与数据库正常,跪求高手帮忙!!!谢谢谢谢“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
[SqlException (0x80131904): 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4856727
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
   System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean& marsCapable) +4864703
   System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) +291
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +90
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +340
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +225
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +185
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +431
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +499
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
   System.Data.SqlClient.SqlConnection.Open() +122
   Microsoft.Practices.EnterpriseLibrary.Data.Database.GetNewOpenConnection() +137
   Microsoft.Practices.EnterpriseLibrary.Data.Database.GetOpenConnection(Boolean disposeInnerConnection) +74
   Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(DbCommand command) +41
   Hishop.SystemServices.Data.SqlCoreDataProvider.LoadSiteSettings() +74
   Hishop.SystemServices.SiteSettingsManager.GetSiteSettings(Boolean flush) +62
   Hishop.SystemServices.HiContext.get_SiteSettings() +25
   Hishop.SystemServices.SiteUrls.Instance() +175
   Hishop.SystemServices.Globals.GetSiteUrls() +5
   Hishop.SystemServices.HiUrlReWriter..cctor() +21[TypeInitializationException: “Hishop.SystemServices.HiUrlReWriter”的类型初始值设定项引发异常。][TargetInvocationException: 调用的目标发生了异常。]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) +86
   System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +230
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +67
   System.Activator.CreateInstance(Type type) +6
   Hishop.SystemServices.UrlReWriteProvider..cctor() +16[TypeInitializationException: “Hishop.SystemServices.UrlReWriteProvider”的类型初始值设定项引发异常。]
   Hishop.SystemServices.UrlReWriteProvider.Instance() +0
   Hishop.SystemServices.HiHttpModule.ReWriteUrl(HttpContext context) +34
   Hishop.SystemServices.HiContext.Create(HttpContext context, UrlReWriterDelegate rewriter) +55
   Hishop.SystemServices.HiHttpModule.Application_BeginRequest(Object source, EventArgs e) +507
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 

解决方案 »

  1.   

    这是SQL本身的问题,默认情况下SQL2005是不支持远程连接数据库的,在网上搜到的解决方案,问题已经解决,解决方案如下:
    一、为 SQL 启用远程连接1. 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
    2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
    3. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“远程连接”和“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。
    注意:请在接收到以下消息时单击“确定”:
    直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。
    4. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。
    二、启用 SQL Server Browser 服务
    1. 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
    2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
    3. 在“服务和连接的外围应用配置器”页上,单击“SQL Server Browser”,在“启动类型”中单击“自动”选项,然后单击“应用”。
    注意:在单击“自动”选项后,每次启动 Microsoft Windows 时将自动启动 SQL Server Browser 服务。
    4. 单击“启动”,然后单击“确定”。
    三、在 Windows 防火墙中为SQL Server 2005 创建例外
    1. 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。
    2. 在“添加程序”窗口中,单击“浏览”。
    3. 单击 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe 可执行程序,单击“打开”,然后单击“确定”。
    注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。
    四、在 Windows 防火墙中为 SQL Server Browser 服务创建例外
    1. 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。
    2. 在“添加程序”窗口中,单击“浏览”。
    3. 单击 C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 可执行程序,单击“打开”,然后单击“确定”。
    注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。
    五、远程连接端口设置(很关键的一步,很多方法只讲了一到四步,却没有讲到第五步)
    1、在服务器上打开SQL Server Configuration Manager。选择SQL Server配置治理器->SQL Server 2005网络配置->MSSQLSERVER的协议->TCP/IP,在弹出对话框中选择IP地址->IPALL->TCP端口,设置为可用端口。(如果默认的1433端口老是连接不上,你就设置为你确认已经打开的端口试试,如21端口等)
    2、在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。
    按照上面的步骤,就可以完成远程连接数据库的功能!
    可以在本机进行测试:打开SQL2005,登陆时输入自己的IP,用户名,密码进行测试!转自
    http://www.cnblogs.com/gaoweipeng/archive/2009/03/22/1418797.html