TSQL – Check Space used by a tables – 如何查詢 DataTable佔的 Database空間的大小

最近開始研究 Database Maintenance 的方向
很多時候都想對公司的Table了解多一些
看看那個Database Table 佔的空間比較大

如果大家想看看在Database上不同的Table佔了多小空間..
可以在選擇了Database後執行以下的SQL Query

SELECT 
 t.NAME AS TableName,
 i.name AS IndexName,
 SUM(p.rows) AS RowCounts,
 SUM(a.total_pages) AS TotalPages, 
 SUM(a.used_pages) AS UsedPages, 
 SUM(a.data_pages) AS DataPages,
 (SUM(a.total_pages) * 8) / 1024 AS TotalSpaceMB, 
 (SUM(a.used_pages) * 8) / 1024 AS UsedSpaceMB, 
 (SUM(a.data_pages) * 8) / 1024 AS DataSpaceMB
FROM 
 sys.tables t
INNER JOIN  
 sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
 sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
 sys.allocation_units a ON p.partition_id = a.container_id
WHERE 
 t.NAME NOT LIKE 'dt%' AND
 i.OBJECT_ID > 255 AND  
 i.index_id <= 1 
GROUP BY 
 t.NAME, i.object_id, i.index_id, i.name 
ORDER BY 
 OBJECT_NAME(i.object_id) 

之後他便會出列出 以下的資料…其實都很有用的
Table size per Database on Microsoft SQL Server
IndexName = 在Table上有的 Index的名稱
RowCounts = 在這個Table上有多 行
最主要都是看 Total Space用了多小

之後的網誌會和大家分享怎樣可以 release返一些沒有使用的空間

Hope you find it useful

MSSQL How to convert timestamp yyyyMMddhhmmss to DateTime format – 如何把 TimeStamp yyyyMMddhhmmss 轉成 日期時間yyyy-MM-dd hh:mm:ss

今日同事又有一個有趣的問題…
就是如何把 TimeStamp yyyyMMddhhmmss轉成 日期時間yyyy-MM-dd hh:mm:ss
來把現在的日期時間轉

之前的網誌常常和大家介紹如何用不同的 programming language 轉為 Timestamp yyyyMMddhhmmss
e.g. 20150603012345
Generate Timestamp (yyyyMMddhhmmss)in MSSQL — 在MSSQL 中建立一個像時間戳的值

做了一會research 之後發現
我們可以使用STUFF 這個功能去分數這些數字..之後再把他們轉換為日期時間

我在建立一個 function 方便大家轉換 Timestamp 到日期時間格式
解決方法

GO
-- =============================================
-- Author:		 sharechiwai
-- Create date: 2015-06-03
-- Description:	 This function used to convert timestamp yyyyMMddhhmmss to DateTime format
-- =============================================
CREATE FUNCTION [dbo].[ConvertTimestampToDateTime]
(
	-- Add the parameters for the function here
	@TimeStamp VARCHAR(14)=''
)
RETURNS DateTime
AS
BEGIN	
	-- Return the result of the function
	RETURN CAST(STUFF(STUFF(STUFF(@TimeStamp, 9, 0, ' '), 12, 0, ':'), 15, 0, ':') AS DATETIME)
END
GO

TSQL Convert TimeStamp to DateTime function

使用方法

SELECT dbo.ConvertTimestampToDateTime('20150603012345')

TSQL Convert TimeStamp to DateTime Format function usage

Hope you find it useful

MSSQL How to Check Log Size and Log Space used – 在SQL Server上如何查詢MSSQL Server Database的 Log Size 和用了多小空間呢?

最近公司的Database 常常投訴 Transaction Log is full
那麼怎樣可以知道 MSSQL Server Database的 Log Size 和用了多小空間呢?
我們可以執行以下的SQL 來查詢

DBCC SQLPERF(logspace)

執行之後他會列出在這個SQL Server Instance上的Database Log Size有用了多小 %
MSSQL Check Transaction log size

我們便可以知道是不是真的欠缺空間了 還是一些設定可以解的問題
[最後發現是公司的Database maintenance plan出現問題而造成的 Transaction Log is full]

Hope you find it useful

PHP Create Json Object/String 如何使用PHP 來建立 Json Object/String

有時候有一些API / Web Service 需要 pass 一些JSON string 變數
那麼怎樣可以在PHP 來建立 Json Object/String

解決方法十分簡單
我們可以把Json Objectproperty/屬性 以Array Object 的方法來建立
E.G.

    
//定義變數
$subValue1= 'subValue1';
    $subValue2= 2;
    
//建立 Array Object
    $jsonVariable = array(
        'arrayProperty1' => array(
            'subProperty1' => $subValue1,
            'subProperty2' => $subValue2
        ),
        'property1' => 'value1'
    );

            
 //之後我們可以使用 json_encode 來把這個array object轉成 Json String
 echo json_encode($jsonVariable);

從前的我可能會用string concatenation 的做法 <–絕對不建議使用這個方法 [反面教材]
e.g.

$jsonVar = '{"arrayProperty1":{"' . $subProperty1. '":"subValue1","'.subProperty2.'":2},"property1":"value1"} ';

Hope you find it useful

2015 年有感而發 – 也可能是寫小了Blog Post的原因

2015年唔知點解整個人的感覺, 生活態度有很大的轉變…
今年真是比之前積極了
終於開始會主動自己去旅遊
和自己一個人去找好東西吃..

住的地方..志同道合的朋友不多…
想約朋友出來試不同的餐廳比較難…

所以還是約自己吧..
最可惜很多restaurants 的優惠都是買一送一
或者是優惠只是給二人同行的…
沒有辦法.. 當沒有找到好優惠時只好先吃正常價的東西

有些東西是逼出來的..
今年開始減小依賴別人..
有時候有朋友幫忙是好事..
可以很快找到解決方法..
但係人大左… 便會感到這個世界的複雜
亦都會明白到..
其實現實生活中.
你可能沒有很多個的真心朋友..
可以無私的幫助你

所以學會了更自立便可以減小需要別人幫忙的時候..
有時你更可以幫助別人..
當然學習總是需要一些時間..
但是這也是必要的投資…

沒有很大轉變的是
我還是一如以往的十分好學.
常常去電腦活動..
識不同的新朋友..或去位於不同地方的會場
差不多每週未都有活動…
我會努力爭取時間寫多些博客.. 當然也會好好享受人生 =P
有時間時可以上載更多相片和大家分享
Golf Course

Have a good day

Restart Computer via PowerShell 如何使用PowerShell 來重啟電腦

今天公司的TFS Server出現了問題
這個 TFS Server 是在一個 安裝了 Windows Server 2012Virtual Machine
不知道為什麼找不到 右手邊的 menu..
最重便想到使用Powershell 來重啟這部電腦了

解決方法十分簡單

我們只要開啟PowerShell 之後輸入 以下指令便可

Restart-Computer

PowerShell Restart-Computer command

或者可以使用以下指令重啟在網絡上的其他電腦
我們只需要使用以下
以下的指令會重啟 ShareChiWaiWebServer 和 ShareChiWaiDBServer

Restart-Computer -ComputerName ShareChiWaiWebServer, ShareChiWaiDBServer

Hope you find it useful

Python – No Module named SimpledHTTPServer

之前介紹了大家怎樣可以使用Python來建立一個網絡伺服器
How to start a web server via Python – 如何使用Python 來建立一個網絡伺服器?

有朋友說當他們執行這指令

python -m SimpleHTTPServer

之後出現以下的錯誤信息..
No Module named SimpledHTTPServer
Python - No Module named SimpleHTTPServer

這可能是系統或版權所有的問題吧

解決方法十分簡單
大家可以嘗試使用以下指令

python -m http.server

Python Web Server Up and running via python -m http.server command

應該可以解決這個問題的
Python Web server is up and running

Hope you find it useful