看板 Database 關於我們 聯絡資訊
資料庫名稱:SQL Server 2008 資料庫版本:10.0.4000 內容/問題描述: 各位前輩們好:   我最近遇到一個資料庫奇怪的問題,首先先介紹環境; OS:Windows Server 2008 R2 DB:SQL Server 2008 10.0.4000 就是我有個特定的Table使用以下方式輸入資料的話都正常 INSERT INTO "表格名" ("欄位1", "欄位2", ...) VALUES ("值1", "值2", ...); 但是只要用其他Table SELECT後的結果再INSERT就會有問題, 語法類如下 INSERT INTO "表格1" ("欄位1", "欄位2", ...) SELECT "欄位3", "欄位4", ... FROM "表格2"; WHERE 某條件 輸入的資料的話,他也會正常顯示成功的筆數沒有報錯, 但是實際SELECT卻撈不到,也可以再次INSERT都沒有報錯(正常光PK就被擋…)。 我這邊試了如果同一次查詢同時INSERT後馬上SELECT是確定資料有進去的, 但是再次單獨SELECT就發現資料不見神奇的被RollBack 所以我嘗試了幾種解決方案 1. 移出舊資料降Table容量(原17GB→1GB):無效。 2. 舊的Table更名,創個一樣Schema的新Table取代原有Talble:無效。 最後發現只要Table名字是這個特定Table的話就會有這種現象, 舊的Table更名後現象解除,新的Table如果不是這名字的話OK, 相同名字的話就會出問題,Google半天也沒見到那麼怪異的現象。 執行這個語法的AP已經Run了N年沒有問題, 印象是自從最近一次5月底Windows Update後重開機才陸續發生, 原本有偶爾可以、偶爾不行,最近直接死掉。 另外兩台測試機跑同樣的AP也運作無礙,就只有這台有問題。 (連SQL Server 2016跑都OK) 這個Table唯一特殊的地方是有個欄位資料類型是image,存放使用者上傳的檔案, 但是其他Table有image欄位的也沒有出事,真的非常的奇怪。 這個DB上連他的系統10幾套也沒有問題, 只有1支出狀況,查了很久發現是卡在這個點上面 小弟在此先謝謝各位前輩, 希望大家的經驗能讓小弟順利解開這個奇妙的問題 m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.87.244 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1561174666.A.D79.html ※ 編輯: howard2010 (118.169.87.244 臺灣), 06/22/2019 11:38:32
cutekid: 臉書有個 Super SQL Server 社團,可以加入後問一下喔~ 06/22 13:40
CSBS: commit? 06/22 19:11
howard2010: 回C大不是這個問題捏 06/23 01:40
rockchangnew: 真的很奇特 06/23 11:56
konkonchou: 單機出問題的話裝SSMS去測試語句會不會過 06/24 22:05
konkonchou: 會過檢查connector或.net framework版本跟連接字串 06/24 22:06
konkonchou: 不會過 查是不是有trigger做了其他事 06/24 22:07
howard2010: 以上現象是在SSMS重現的~ 06/25 07:55
konkonchou: 如上面說的,SSMS下DML若被rollback,就去查trigger 06/25 09:33
konkonchou: 因兩者屬同一交易,不然只好截畫面上來除錯 06/25 09:34
chungyih: 確定ssms沒開到commit嗎 06/30 22:35
chungyih: https://www.itread01.com/p/1399759.html 06/30 22:35