Category Archives: MSSQL Tips and Tricks

Microsoft SQL Server Check If Full-Text Search is Installed – 如何查詢 SQL Server上的 Full Index Search 是否已經安裝

最近忙於將公司的 Database由舊的Server Migrate到新的 Environment
舊的DBA當然很小心地沒有留下任何 Notes 他怎麼設定舊的Database
所以這次Migration有很多東西都要自己摸索

在設定時安裝程式問..要不是安裝 Full Text Search..
我真是不清楚舊的Server有沒有安裝.. 只是知道沒有使用過這個Feature
做了一會research之後發現
其實是可以用Query來查詢這些設定的
我們可以使用以下我Query來查詢 SQL Server上的 Full Index Search 是否已經安裝

SELECT FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')

SQL Server Full Text Search Info
以下的Query可以提供更多的資訊

SELECT * FROM sys.fulltext_catalogs

Hope you find it useful

TSQL Get Index Size Per Table – 如何使用TSQL 來查詢每一個Table上 每一個Index 佔用的空間大小

今天想和大家分享如何使用TSQL 來查詢每一個Table上 每一個Index 佔用的空間大小
這個可以令大家明白Database 的空間有多小放在Index上
明白更多..應該有幫助吧

解決方法
我們可以使用以下的Query 來查詢 每一個Table上 每一個Index 佔用的空間大小

SELECT
OBJECT_NAME(i.OBJECT_ID) AS TableName,
i.name AS IndexName,
i.index_id AS IndexID,
8 * SUM(a.used_pages) AS 'Indexsize(KB)',
8 * SUM(a.used_pages) / 1024.00 AS 'Indexsize(MB)'
FROM sys.indexes AS i
JOIN sys.partitions AS p ON p.OBJECT_ID = i.OBJECT_ID AND p.index_id = i.index_id
JOIN sys.allocation_units AS a ON a.container_id = p.partition_id
GROUP BY i.OBJECT_ID,i.index_id,i.name
ORDER BY OBJECT_NAME(i.OBJECT_ID),i.index_id

TSQL Get Individual Index SizeHope you find it useful

SQL Server Check last accessed Database Table – 如何找出Database 的Table上最後被查詢的時間

公司上有很多 Legacy / 舊有的Database 由于同事離開始於時沒有好好交代
所以便有很多在Database Server上存在的Database 但是又沒大人知道有沒有任何Application 會連接的

今天想和大家分享一個SQL Script有來查詢某一個Database最後一次被就Query/Update的時間
解決放法十分簡單

首先我們需要先選擇想查詢的Database
之後我們可以使用 以下的SQL Script 來看看 last_user_seek, last_user_scan, last_user_lookup 的內容
看看他們的更改時間

SELECT    OBJECT_NAME(object_id) AS TableName,
last_user_update, last_user_seek, last_user_scan, last_user_lookup
FROM    sys.dm_db_index_usage_stats
WHERE    database_id = DB_ID()

SQL Server check which is the Last Accessed Table
Hope you find it useful

解決Transaction Log is Full的問題 – Full Recovery Mode

之前介紹過  – 如何解決Transaction Log is Full的問題 – Simple Recovery Mode

今天想和大家介紹怎樣解決Transaction Log is Full的問題 – Full Recovery Mode
原來DatabaseRecovery Mode 設定為 “Full”的時候

即使做了Database Full Backup 也不能解決Transaction Log is Full的問題

其實解決方法十分簡單 和之前的網誌的解決方法差不多

唯一改變的是 “Backup type:” 選擇 “Transaction Log

E.G.
SQL Server Management StudioDatabase 上Right Click
之後選擇”Task“->”Backup
SSMS -> Backup Database

在”Back Up Database 對話方塊” 上 的 “Backup type:” 選擇 “Transaction Log
Backup Transaction Log - SSMS
之後選擇Backup 到的地點..按OK 便可以了

Hope you find it useful

解決Transaction Log is Full的問題 – Simple Recovery Mode

經過一會兒學習之後..終於學會了怎樣好好地解決Transaction Log Is Full的問題

之前和大家介紹過
怎樣取得Transaction Log的大小資訊
E.G. Transaction Log的檔案大小和用了多小真實空間

TSQL – How to Get the Transaction Log Size -MSSQL

今天想和大家介紹怎樣解決
如果你的DatabaseSimple Mode的話

你們只需要把Database 做一個Full Backup便可以解決這個問題了

SQL Server Management StudioDatabase 上Right Click
之後選擇”Task“->”Backup
SSMS -> Backup Database

在”Back Up Database 對話方塊” 上 的 “Backup type:” 選擇 “Full
Backup Database Dialogue Box
之後選擇Backup 到的地點..按OK 便可以了

Hope you find it useful