SQL Server 資料庫管理必學秘技:快速查詢物件修改時間
前言在進行資料庫開發與維護時,經常需要知道資料表、檢視表或預存程序最後的修改時間。這些資訊對於: 追蹤系統變更 問題排除 效能調校 版本控制都非常重要。本文將介紹幾個實用的SQL查詢技巧,讓你輕鬆掌握資料庫物件的時間資訊。 查詢資料表與檢視表的修改時間以下是查詢資料表與檢視表修改時間的SQL: 12345678SELECT [name] -- 物件名稱 ,create_date -- 建立時間 ,modify_date -- 修改時間 ,type_desc -- 物件類型FROM sys.all_objects WHERE type_desc = 'USER_TABLE' -- 使用者資料表 OR type_desc = 'VIEW' -- 檢視表ORDER BY modify_date DESC -- 依修改時間排序 查詢說明 sys.all_objects: SQL...
SQL Server管理技巧:批量更新資料的神奇小法術
前言在管理資料庫時,我們經常會遇到需要在多個資料表中更新相同欄位的情況。例如:修改某個代碼、更新狀態值等。如果要手動找出所有包含該欄位的資料表並逐一更新,不只費時還容易出錯。今天就來分享一個實用的 SQL 技巧,教你如何快速找出並更新特定欄位! 使用情境假設我們需要將所有資料表中的 MaintainClassID 欄位從 4851204 更新為 4851206。在大型資料庫中,這個欄位可能分散在多個資料表中。如何一次找出所有包含此欄位的資料表呢? 解決方案我們可以利用 SQL Server 的 INFORMATION_SCHEMA 視圖來查詢資料庫結構,並產生所需的更新語句。讓我們一步步來看: 步驟一:找出所有包含特定欄位的資料表12345678910111213-- 找到所有有該欄位的資料表SELECT DISTINCT t.TABLE_SCHEMA, -- 資料表的架構名稱 t.TABLE_NAME -- 資料表名稱FROM INFORMATION_SCHEMA.COLUMNS c INNER JOIN ...
資料庫連線池爆掉救火秘笈!如何優雅地處理 SQL Server 連線危機
前言身為後端工程師,你是否遇過這樣的情況: 系統突然變得超級慢 網頁一直轉圈圈 收到「已超過連線逾時的設定」錯誤訊息 如果有,恭喜你!你可能遇到了資料庫連線池爆掉的問題。今天就來分享一個真實案例,看看如何從診斷到解決這個棘手的問題。 問題診斷當你遇到以下錯誤訊息時,很可能是連線池出問題了: 1System.InvalidOperationException: '已超過連線逾時的設定。在取得集區連線之前超過逾時等待的時間,可能的原因為所有的共用連線已在使用中,並已達共用集區大小的最大值。' 快速診斷方法首先,我們可以使用以下 SQL 指令來查看目前的連線狀況: 12345678910SELECT DB_NAME(dbid) as DatabaseName, COUNT(dbid) as NumberOfConnections, loginame as LoginName, status, hostname as HostName, program_name as ProgramNameFROM...
