簡體   English   中英

網站無法連接到SQL Server,但控制台應用程序可以

[英]Website can't connect to SQL Server, but console app can

我有一個帶有兩個數據庫的SQL Server,一個生產數據庫和一個開發數據庫。 使用手動SqlConnection代碼訪問生產數據庫的.net 2.0網站運行正常。 正在使用Entity Framework 6.2從較新的ASP.NET MVC應用程序中命中另一個數據庫,並且該數據庫遇到超時問題。 首次超時時間為30秒,但隨后的刷新幾乎立即返回頁面。 這兩個網站都與數據庫位於同一框上,因此僅使用“ localhost”進行連接。 他們使用的是SQL Server用戶登錄名,而不是Windows身份驗證。

我將.edmx.tt文件復制到了.net控制台應用程序中,該應用程序使用完全相同的linq查詢訪問數據庫並提取失敗的相同數據沒有問題。

然后,我創建了一個新網站,並將相同的代碼復制到了一個aspx頁面中。 它第一次失敗並超時,然后在隨后的嘗試中工作(一周前,主開發站點正在執行相同的操作)。

我將開發數據庫與SQL Server 2008 R2服務器分離,並將其附加到新安裝的SQL Server Express實例的其他端口上,並獲得相同的結果。

Web服務器是Windows Server 2008標准32位。 我將網站和控制台應用程序都復制到了一個新盒子中(我以為是2016年,但事實證明它是2008年標准的64位),並獲得了相同的結果。

開發站點的工作一直持續到幾個月前。 客戶端使用本地用戶帳戶進行所有操作,但是有一個域,並希望使用Windows身份驗證對命中相同數據庫的舊vb應用進行測試,因此我開始將測試帳戶遷移到域中。 當客戶端由於不相關的原因稍后嘗試更改密碼時,我們發現他已經在使用域帳戶,但是他的筆記本電腦無法連接到該域。 我們發現其他幾台無法連接的計算機,即使我在測試期間連接到域的計算機運行正常。 引入了外部網絡“朋友”以了解發生了什么。 那時,我對實際完成的工作一無所知。 我知道嘗試了不同的網絡和域配置,但不能解決域問題,但是我不知道是什么。 但是,生產現場從未停止運作。

我不知道發生了什么。 還有其他人嗎?

哦,如果是供應商問題,我也嘗試過使用Web應用程序中的OleDbconnection手動連接,並且因超時問題而失敗。

更新:我啟動了一個新的DataCenter 2016框,在其上安裝了IIS和.net,並將網站復制到了該框。 命中數據庫並從其他服務器提取數據沒有問題。 我知道,在操縱域和網絡時,補丁和此類補丁已在原始包裝箱上進行了更新,但我不知道它們有多遠。 我懷疑某些修補程序更改了某些默認或繼承的.net配置選項或其他內容。 我確實對.net安裝進行了“修復”,但這沒有什么不同。 但是,由於生產站點工作正常,我目前不願意卸載.net或其他任何東西。 恐怕我會冒着將相同的錯誤推入生產現場的風險,並且客戶會被搞砸。

似乎由於某種原因,嘗試消耗登錄前握手確認時超時時間已過去。 嘗試將連接字符串中的連接超時屬性增加到60或更多。 默認值為15(以秒為單位)。

示例:數據源=(LocalDB)\\ v11.0;集成安全性= True; 連接超時= 30

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM