timmy / 📦 SQL Server 附加 MDF / LDF 快速還原資料庫教學
0 likes
0 forks
1 files
Last active 8 months ago
用 CREATE DATABASE ... FOR ATTACH 方式快速還原資料庫,不需還原備份檔也能立即啟用舊有 .mdf 與 .ldf!🧠
| 1 | -- 建立資料庫並附加現有的 MDF(主資料庫檔案)和 LDF(記錄檔案) |
| 2 | CREATE DATABASE [你的資料庫名稱] -- 指定要建立的資料庫名稱 |
| 3 | ON (FILENAME = '/你的路徑/你的資料庫.mdf'), -- 指定主資料庫檔案(MDF)的路徑 |
| 4 | (FILENAME = '/你的路徑/你的資料庫_log.ldf') -- 指定交易記錄檔(LDF)的路徑 |
| 5 | FOR ATTACH; -- 使用已存在的 MDF 和 LDF 檔案來附加資料庫 |
| 6 | GO |
| 7 | |
| 8 | -- 具體範例:附加 SalesDB 資料庫 |
| 9 | CREATE DATABASE SalesDB -- 指定要建立的資料庫名稱為 SalesDB |
| 10 | ON (FILENAME = '/var/opt/mssql/data/SalesDB.mdf'), -- 主資料庫檔案(MDF)存放位置 |
timmy / 🧾 SQL Server 輸出 JSON:FOR JSON PATH 超簡單上手
0 likes
0 forks
1 files
Last active 8 months ago
用 SQL Server 直接產出 JSON,支援巢狀資料結構與根物件命名,後端串接 REST API 不再痛苦 🙌
| 1 | SELECT id, name, age -- 選取 id、name 和 age 欄位 |
| 2 | FROM YourTable -- 從 YourTable 查詢 |
| 3 | FOR JSON PATH; -- 以 JSON 格式輸出,允許自訂 JSON 結構 |
| 4 | |
| 5 | SELECT id, name, age -- 選取 id、name 和 age 欄位 |
| 6 | FROM YourTable -- 從 YourTable 查詢 |
| 7 | FOR JSON PATH, ROOT('Users'); -- 以 JSON 格式輸出,並加上 "Users" 作為根物件 |
timmy / 💻 用 sqlcmd 操作 SQL Server:從 CLI 查詢資料庫
0 likes
0 forks
2 files
Last active 8 months ago
用 Bash 設定 SQL 密碼、執行 SQL 指令檔,還能快速查出所有資料庫名稱!搭配 sqlcmd 效率滿分 ✅
| 1 | export SQLCMDPASSWORD="YourSecurePassword123!" |
| 2 | sqlcmd -S 127.0.0.1,1433 -U sa -i script.sql |
timmy / 🧠 SQL Server 監控懶人包:效能瓶頸、記憶體、連線數全面掌握
0 likes
0 forks
2 files
Last active 8 months ago
從連線統計、記憶體使用、鎖定交易、效能查詢、索引使用率,到 I/O 熱點與快取命中率,10 大查詢一網打盡,DBA 快收好 📊
| 1 | -- 查詢當前 SQL Server 的總連線數以及不同 IP 來源的連線數 |
| 2 | SELECT |
| 3 | COUNT(*) AS TotalConnections, -- 計算總連線數 |
| 4 | COUNT(DISTINCT client_net_address) AS UniqueIPs -- 計算不同來源 IP 的數量 |
| 5 | FROM sys.dm_exec_connections; |
| 6 | |
| 7 | -- 查詢所有當前連線的詳細資訊 |
| 8 | SELECT |
| 9 | session_id, -- 連線的會話 ID |
| 10 | connect_time, -- 連線建立的時間 |
timmy / 📡 SQL Server 連線監控全攻略:從 IP 分布到效能瓶頸一次查
0 likes
0 forks
1 files
Last active 8 months ago
想知道 SQL Server 有多少人連進來?哪台機器最吵?哪些查詢塞住了系統?這份查詢筆記讓你一目了然 🧠
| 1 | -- 🔍 檢查目前 SQL Server 總連線數(包含系統連線) |
| 2 | SELECT COUNT(*) AS TotalConnections |
| 3 | FROM sys.dm_exec_sessions; |
| 4 | |
| 5 | -- 🔍 只統計使用者的連線數(不包含 SQL Server 內部系統連線) |
| 6 | SELECT COUNT(*) AS UserConnections |
| 7 | FROM sys.dm_exec_sessions |
| 8 | WHERE is_user_process = 1; |
| 9 | |
| 10 | -- 🔍 查詢目前 "活躍" 的連線數 |
timmy / SQL Server 資料表空間使用查詢
0 likes
0 forks
1 files
Last active 10 months ago
這段 SQL 查詢會列出指定資料庫中每個資料表的名稱、所屬 Schema、行數(Row Count)、總佔用空間(KB)、已使用空間(KB)以及未使用空間(KB),並依據總佔用空間進行降序排序。這對於 資料庫管理與最佳化 非常有用,能幫助 DBA 或開發人員分析表的大小、尋找可能需要清理或最佳化的表,提升資料庫效能。
| 1 | USE [你的資料庫名稱]; |
| 2 | SELECT |
| 3 | s.name AS SchemaName, |
| 4 | t.name AS TableName, |
| 5 | p.rows AS RowCounts, |
| 6 | SUM(a.total_pages) * 8 AS TotalSizeKB, |
| 7 | SUM(a.used_pages) * 8 AS UsedSizeKB, |
| 8 | (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSizeKB |
| 9 | FROM |
| 10 | sys.tables t |
timmy / Docker 部署 SQL Server 2019
1 likes
0 forks
2 files
Last active 9 months ago
這是一個 Docker Compose 配置檔,用於設定 Microsoft SQL Server 環境,包括一個 mssql-server 容器(SQL Server Express 版本)和一個 sqlcmd 容器(用於執行 SQL 命令)。兩個容器透過自定義網路連接,並將資料庫數據保存到命名卷 mssql_data。
| 1 | services: |
| 2 | mssql-server: |
| 3 | image: mcr.microsoft.com/mssql/server:2019-latest |
| 4 | container_name: mssql-server |
| 5 | environment: |
| 6 | ACCEPT_EULA: "Y" |
| 7 | SA_PASSWORD: "StrongP@ssw0rd!" |
| 8 | MSSQL_PID: "Express" |
| 9 | ports: |
| 10 | - "1433:1433" |
Newer
Older