前言: 話說前陣子爸爸家陽台不斷出現米奇老鼠,立刻清理陽台所有東西,然後又跟市政部門反映問題,可是情況還沒有好轉,米老鼠來完一隻又一隻,我爸陽台在老鼠界應該是網紅打卡聖地(誤),要不然就是米奇老鼠版米奇林三星餐廳(?) 雖然我們抓到了三隻,到上兩個禮拜為止還有至少一隻一直抓不到,每天淩晨還會來吃事後煙留下老鼠屎,真_北。 這隻老鼠對傳統攻擊有抗性,有IT9朋友前陣子用Raspberry pi自製了一台electric mouse trap ,用pi的超聲波雷達放在鞋盒裡,鞋盒裡有一堆食物,底部佈了鐵網,偵測到有老鼠進去以後立即關門通9V電,通個1分鐘再放牠離開,大推我自己也造一台 (Youtube片搜尋一大堆,人類真變態啊,朋友好變態啊)。可是我覺得這樣又好像有點太殘忍,不如先偵測牠們什麼時候來,嚇嚇牠們看看有沒有效果再說吧。 目的: 用Raspberry pi及手上有的感測器弄一隻放陽台用來偵測和嚇嚇老鼠的東西,並把紀錄圖像化到雲端給老爸使用。 邏輯及設計: 當老鼠進入偵測範圍,Motion Sensor偵測到生物活動Raspberry pi 處理來自Motion Sensor的訊號,如果夠強的話開始準備作出回應 Raspberry pi在Angry cats sounds中隨機選出叫聲,再經由Speaker輸出貓叫聲 Raspberry pi指示強光元件發出強光束照射目標 把偵測計數上傳到雲端圖表 材料: Sensor 在網路上看了一些Raspberry pi wild animal camera ,很多也是用Motion Sensor先偵測動物再來,我用的是PIR Motion Sensor被動式紅外線感測器,有低耗電成本便宜的好處。[1],而且可手動調整靈敏度及反應時間。 PIR Motion Sensor就是下面這個 圖片來源: learn.adafruit.com 可手動調整敏感度還有反應時間,這個有點不好調,要試好多遍才找到最佳位置。 可以在Raspbian中輸入pinout查詢GPIO避免插錯 圖片來源: learn.adafruit.com . 一台Raspberry pi 這次使用較舊的Raspberry pi model B+ 萬一老鼠生氣被咬爛錢包也不太痛 . ...
問題: 公司的SQL Server導入了AlwaysOn 技術,當failover發生的時候出現無法登入SQL Server的情況。 研究: 跟Microsoft了解以後AlwaysOn技術Primary跟Secondary兩台伺服器的Database Objects是完全獨立而且不相通的,那就是說無論Logins、 Linked Server、 Agent Jobs也要在兩台伺服器分別建兩份。 解決方法: Logins: 使用Domain account: 可直接解決問題。不過歷史的問題小弟不能選擇這個方案(灑花) 使用Contained Database: 原理就是把Database的所有相關東西打包變成一個Object,就不會發生Data同步,Database Object不同步的問題,可是很SAD,我也不能用這個方法。 手動同步兩台伺服器的Logins: 由於每一個 Login 有一組獨一無二的SID,所以就算在Secondary建一個使用者名稱跟密碼也一模一樣的Login,當failover發生時也會出現無法登入的情況。要手動同步兩邊的Login可以看 Microsoft的官方教學 。重點是同步兩台伺服器的Login SID,UserMapping部分不需要手動同步。 不過萬一Primary的Login更改了密碼,就無能為力需要利用以上方法再同步一次了。(哀) Linked Server: 很抱歉,你需要手動在Primary那邊的Linked Server一個一個的產生SQL,然後放回Secondary,而且每次增加Linked Server也要這樣做。 結論: 顯然AlwaysOn技術集中關注資料的部分,Server Object,包括SQL Logins對於Primary跟Secondary兩台伺服器來說是完全獨立的東西需要分開來建立跟維護,想導入AlwaysOn技術的大大需要注意,不過可分開獨立Storage存放兩份data是小弟選擇它的原因之一。 同場加映: 如何找出已經失效或者沒有連結任何資料庫的使用者帳號? 參考這條SQL