2009年3月23日 星期一

如何移除資料庫鏡像

今天在做mirror 資料庫測試時, 遇到一個問題, 在第二台的資料庫一直出現還原中,
無法恢復正常運作, 想要正常讓資料庫可以運作, 後來發現是之前操作mirror 時被鎖住
需要將mirror 停住, 設定如下:

RESTORE DATABASE  WITH RECOVERY;

選擇復原先前的鏡像資料庫。在原本是鏡像伺服器的伺服器執行個體上,輸入:

RESTORE DATABASE WITH RECOVERY;

詳細資訊可參考以下網址
http://msdn.microsoft.com/zh-tw/library/ms189112.aspx

http://technet.microsoft.com/zh-tw/library/ms180801.aspx

2009年3月16日 星期一

Partition Table for SQL 2005

應該很多人都有遇到當單一table的資料量愈來愈大時的做法

比方說:

我們可以做一個分割,便在資料庫中的多個檔案群組中儲存資料,來加速查詢效能

如果我們新增二個檔案群組(F1,F2),而假設table A 有500萬筆

我們是否可以將250萬放在F1,另250萬筆放在F2

但前端查詢程式還是一套,且都可以查到500萬筆呢???

新增一個檔案群組沒問題,而印象中也可以把table指定存放某個file group

那如果真的要達到上述做法..要怎麼做呢

將250萬拆出來沒問題,但table名稱還是要叫A

到底要怎麼做呢?

__________________________________________________________

第一步:建立資料分割函數

例:


CREATE PARTITION FUNCTION TestFn(int)
AS RANGE LEFT FOR VALUES (1,10000,20000)--->這樣就有4個partition(這樣講對嗎????)
 
1.欄位<=1
2.欄位>1 and 欄位<=10000
3.欄位>10000 and 欄位<=20000
4.欄位>20000

第二步:建立分割表

CREATE PARTITION SCHEME TestSc
AS PARTITION TestFn
TO (FG1, FG2, FG3, FG4)

這四個file group可以先建,當然也可以都只向同一個file group

不過,如果硬體許可,讓讀寫頭各別讀取,也是不錯的方法

第三步:將建立的table設定其partition

Code Snippet
CREATE TABLE PartitionTable (f1 int, f2 char(10))
ON TestSc (f1)


因此,結果就會按PartitionTable 中f1欄位值區間,分不同的partition存放


2009年3月6日 星期五

四歲畫畫作品

兒子喜歡用YOYOSchool上的繪本圖色, 然後又會自己把它列印出來, 只是有時候列印好幾張同樣的紙, 就覺得好浪費!!

記得在一次閒聊中, 有同事提到, 可以開小畫家給小朋友自己玩, 於是在家裡, 也開小畫家, 讓兒子自己去畫畫, 但是往往畫到一半他又要把它擦掉, 有時候覺得還蠻可惜的, 於是就用了一塊白板, 讓他在上面畫畫, 當他想擦掉時,就可以自己拿抹布擦掉,而覺得畫的好看時,至少還可以拍照存證。

我想每一次的紀錄, 都可以看到他成長的痕跡呢!!

第一次在白板上畫畫,他已經會畫圓圈當頭, 兩各圓圓當眼睛, 眼睛裡還會點個小點,接下來畫鼻子和嘴巴。後來,他又在眼睛裡的那兩點在畫兩各圈圈, 我就問他, 那兩各圈圈是什麼, 他說是眼睛裡面白白的地方。我說,白白的地方不用畫啊,於是示範一下眼睛的畫法,第二次他又畫了另一張畫。

其實, 如果沒有特別註解, 我真的不知道他在畫眼睛之後, 下面又畫了兩各圈圈是什麼, 他跟我說是鼻孔, 眼睛部份已經和之前畫不一樣了
這張圖看起來有表情多了~於是倆個忙著拍照留念~