星期六, 9月 27, 2008

20080927 SQL 入門班筆記

20080927

SQL 入門班 邱梓君


先考70-431 再考 70-443 70-444


Lab:執行第一次啟動

開始 --> 所有程式 --> Microsoft SQL Server 2005 --> SQL Server Management Studio --> 連接



Notes:

  • Microsoft SQL Server Management Studio 只是圖形介面不是SQL Server, 關閉這個介面不是關閉SQL Server

  • 要使用指令的話可以點選''新增查詢''

  • 為了避免各產品之間的SQL語法不相容, 因此由ANSI( American National Standard Institute 美國國家標準局 ) 制定出SQL-92, 定義出SQL 的關鍵字與語法標準, 以提高各家產品在SQL語法上的相容性. 但正因SQL-92 為統一標準, 自然無法發揮各家資料庫其特殊的長處, 因此業界真正使用的SQL語言, 通常是包含SQL-92 所定義的標準內容, 另外再加上自家資料庫額外擴充的功能.

  • SQL語法( Structured Query Language ) 並不是SQL Server

  • SQL語言不能獨立執行.

  • Tel.xls.exe 隨身碟病毒( task manager 會看到algprocess )

  • SQL語言的功能分類

    • DDL( Data Definition Language 資料定義語言 )

    • DML( Data manipulation Language 資料處理語言)

    • DCL( Data Control Language 資料控制語言 )


Lab:新增資料庫

開啟Microsoft SQL Server Management Studio

以圖形介面的方式

展開本機 --> 資料庫 --> 滑鼠右鍵 --> 新增資料庫 --> 輸入資料庫名稱 --> 確定

建立完成( 可以參考右邊的資料庫會多出NewNew 資料庫)

如果要刪除資料庫, 請於NewNew資料庫上 --> 滑鼠右鍵 --> 刪除 --> 確定


以命令提示字元的方式

點選''新增查詢''

輸入CREATE DATABASE NewNew --> 點選 '執行'

輸入DROP DATABASE NewNew -->點選 ' 執行'

  • 使用 指令的方式建立資料庫要在資料庫--> 滑鼠右鍵 --> 重新整理 才會看到成果

  • 如果要執行特定指令, 要先選取某一個指令, 再去按執行, 不然會從頭開始執行.

  • 資料庫的名稱看起來沒有分大小寫




每個資料庫包含

  • MDF 1 ( SQL Server Database Primary Data File只能有一個)

  • NDF 0 ~ no_limit

  • LDF 1 ~ no_limit ( SQL Server Database Transaction Log File 內容為Log , 至少會有一個為了還原使用, 所以Log檔重要性大於資料庫)



解決字型過小的問題

工具 --> 選項 --> 環境 --> 字型和色彩 --> 選取自訂的大小


Notes:

  • 在資料庫內的自動成長, 切記不要使用預設值 ( 會長大的很快, 視單位狀況而定 ), 微軟建議如果資料量小於 1GB 可以使用MB為單位, 如果大於1GB建議以百分比為單位.

  • 資料庫的初始大小, 在實務上如果已經知道資料庫的大小就直接給足整顆硬碟. 不需要讓SQL Server 還要去做自動成長浪費時間, 直接給足.

  • 不要把資料庫放在系統碟, 最好整顆都給資料庫( 讓資料庫可以在硬碟做循序存取, 效能的差異很大 )


Lab: 建立資料庫,並建立兩個群組

先於 C:\ 建立資料夾名稱為 新新

C:\新新 資料夾內建立資料夾, 名稱為主主 ( 存放MDF )

C:\新新 資料夾內建立資料夾, 名稱為LOG ( 存放LDF )

C:\新新 資料夾內建立資料夾, 名稱為次次1 ( 存放NDF )

C:\新新 資料夾內建立資料夾, 名稱為次次2 ( 存放NDF )


開啟Microsoft SQL Server Management Studio

展開本機 --> 資料庫 --> 滑鼠右鍵 --> 新增資料庫 --> 輸入資料庫名稱(NewNew) --> 確定

修改邏輯名稱 NewNew 為 新新( 確認可以支援中文) --> 點選 路徑的'...' 按鈕 --> 選取C:\新新\主主 --> 確定


修改邏輯名稱 NewNew_log 為新新_log --> 點選 路徑的'...' 按鈕 --> 選取C:\新新\LOG --> 確定


點選' 加入' 按鈕 --> 輸入邏輯名稱 次次1 --> 檔案群組 點選 '新增檔案群組' --> 輸入群組名稱 '第一群' --> 確定 --> 點選 路徑的'...' 按鈕 --> 選取C:\新新\次次1 --> 確定


點選' 加入' 按鈕 --> 輸入邏輯名稱 次次2 --> 檔案群組 點選 '第一群' --> 點選 路徑的'...' 按鈕 --> 選取C:\新新\次次1 --> 確定


點選' 加入' 按鈕 --> 輸入邏輯名稱 次次3 --> 檔案群組 點選 '第一群' --> 點選 路徑的'...' 按鈕 --> 選取C:\新新\次次1 --> 確定



點選' 加入' 按鈕 --> 輸入邏輯名稱 次次4 --> 檔案群組 點選 '新增檔案群組' --> 輸入群組名稱 '第二群' --> 確定 --> 點選 路徑的'...' 按鈕 --> 選取C:\新新\次次2 --> 確定


點選' 加入' 按鈕 --> 輸入邏輯名稱 次次2 --> 檔案群組 點選 '第二群' --> 點選 路徑的'...' 按鈕 --> 選取C:\新新\次次2 --> 確定


點選 '確定' 完成新增NewNew資料庫的練習

此時可以觀察 C:\新新 資料夾下面的檔案分佈

此時NewNew資料庫結構如下

  • Primary

    • 內含新新.mdf

  • 第一群

    • 內含次次1.ndf, 次次2.ndf, 次次3.ndf

  • 第二群

    • 內含次次4.ndf, 次次5.ndf

  • LOG(不包含於群內)

    • 內含新新_log.ldf


中午休息

常用的指令於command-line

sp_helpdb 查閱目前伺服器中的所有資料庫

sp_helpdb 資料庫名稱 查閱指定資料庫

例如 sp_helpdb NewNew


卸離與離線工作的差別

  • 離線工作

    • 使用者連線不到資料庫, 但是還是可以在Microsoft SQL Server Management Studio看到

    • 可以在該資料庫上方 使用滑鼠右鍵 --> 工作 --> 線上工作 來掛載回來

  • 卸離

    • 使用者連線不到資料庫, 但是也不能在Microsoft SQL Server Management Studio看到

    • 可以在該資料庫上方 使用滑鼠右鍵 --> 工作 --> 卸離 --> 確定

    • 可以在資料庫上方 使用滑鼠右鍵 --> 附加 --> 加入 --> 選取MDF檔案位置 --> 確定 --> 確定


command-line 來做卸離

sp_detach_db 資料庫名稱


command-line 來做附加

sp_attach_db 資料庫名稱 'MDF 所在位置'




command-line 來做附加

CREATE DATABASE 資料庫名稱

ON

( FILENAME='C:\新新\主主\新主.MDF')

FOR ATTACH



Notes:

  • 當有人在使用資料庫的時候不可以調整資料庫( 錯誤訊息會告知正在使用中)

  • 卸離的目的為昇級或是移動

  • MDF 會記住卸離前的檔案位置, 至少要告訴MDF 檔案新的檔案位置

  • 可以按鍵盤上面的F5 來執行

  • 一次要執行多到指令, 請用GO 隔開


Lab: 卸離資料庫以及附加資料庫

卸離NewNew資料庫

  • NewNew資料庫上方 --> 工作 --> 卸離 --> 確定

使用command-line 附加

  • command-line 輸入

    create database NewNew

    on

    (filename='c:\新新\主主\新新.mdf')

    for attach

  • 將上述指令選取起來 --> 點選 '執行'

觀察左方就會發現NewNew資料庫已經附加上來



ALTER DATABASE 敘述修改資料庫 ( 使用圖形介面會比較快)



Lab: 修改資料庫

C:\新新 資料夾內建立資料夾, 名稱為次次3 ( 存放NDF )

請確認NewNew資料庫有被附加

command-line 畫面輸入

--修改資料庫, 新增一個檔案群組

ALTER DATABASE NewNew ADD FILEGROUP 第三群

GO

--修改資料庫, 新增一個檔案至指定的檔案群組

ALTER DATABASE NewNew

ADD FILE

(

NAME=次次6, FILENAME='C:\新新\次次3\次次6.NDF',

SIZE=10MB, MAXSIZE=50, FILEGROWTH=8%

) TO FILEGROUP 第三群

GO

--修改資料庫, 新增一個檔案至指定的檔案群組

ALTER DATABASE NewNew

ADD FILE

(

NAME=次次7, FILENAME='C:\新新\次次3\次次7.NDF',

SIZE=10MB, MAXSIZE=50, FILEGROWTH=8%

) TO FILEGROUP 第三群

GO

--修改資料庫, 設定指定的檔案群組為預設群組

ALTER DATABASE NewNew

MODIFY FILEGROUP 第二群 DEFAULT

GO

--修改資料庫, 設定指定的檔案群組為唯讀群組

ALTER DATABASE NewNew

MODIFY FILEGROUP 第三群 READ_ONLY



Lab:修改設定值


先觀察NewNew 資料庫

NewNew 資料庫上方 --> 滑鼠右鍵 --> 屬性


command-line


ALTER DATABASE NewNew SET RECOVERY SIMPLE

GO

ALTER DATABASE NewNew SET ANSI_NULLS ON

GO

ALTER DATABASE NewNew SET ANSI_NULL_DEFAULT ON

GO

ALTER DATABASE NewNew SET AUTO_SHRINK ON

GO


再觀察NewNew 資料庫

NewNew 資料庫上方 --> 滑鼠右鍵 --> 屬性


觀察屬性的改變

Notes:

  • 利用圖形介面可以在資料庫的屬性內, 藉由 '選項' 內的 '狀態' --> '限制存取' 內可以調整為single來讓其他使用者離線

  • command-line 可以使用 ALTER DATABASE NewNew SET SINGLE_USER WITH ROLLBACK IMMEDIATE 來立即把資料庫斷線

  • command-line 可以使用 ALTER DATABASE NewNew SET MULTI_USER 來回復多人模式




資料型別

  • 整數 使用的位元數

    • bigint 8bytes

    • int 4bytes

    • smallint 2bytes

    • tinyint 1bytes

    • bit 1bit

  • 近似浮點數

    • float 8bytes

    • real 4bytes

  • 日期時間

    • datetime 8bytes

    • smalldatetime 4bytes

  • 精確位數

    • numeric

    • decimal

  • 字串

    • char 1個字元1byte, 為固定長度, 未填滿的部份, 會自動補上空白字元

    • varchar 1個字元1byte, 儲存多少即佔多少空間

    • text 1個字元1byte, 儲存多少即佔多少空間, 最大可達2GB

  • Unicode 字串 雙位元文字編碼標準

    • nchar 1個字元2byte, 為固定長度, 未填滿的部份, 會自動補上空白字元

    • nvarchar 1個字元2byte, 儲存多少即佔多少空間

    • ntext 1個字元2byte, 儲存多少即佔多少空間, 最大可達2GB


Notes:

  • char 還有varchar 差別在如果沒有填滿, 會不會補空白字元, varchar 還有char 佔用的空間都一樣, varchar沒有比較省空間, 只是對程式開發人員, 在撈資料的時候字數會不同(不用考慮空白字元的問題, 不需特別處理去除空白字元).

    • varchar 可變動 不會補空白字元

    • char 不可變動 會補空白字元

  • 以資料庫的角度, 使用char 的方式會比較好, 不用去計算哪些資料沒有使用

  • 以程式人員的角度, 使用varchar 的方式會比較好, 不用處理空白字元





星期六, 9月 20, 2008

20080920結構化佈線 speaker ZMAN

20080920

主講人 ZMAN


資料通訊與佈線設計 祝國忠譯 博碩文化

電腦網路與連結技術 黏添壽著 旗標


給老闆的報表重點

  • 前言

  • 整體成本

  • 效益


如果沒有辦法了解公司所有部門的運作, 不是MIS只是水電工


哈克大大的案例了解成功的MIS

  • LCD --> 直接找原廠/買最便宜的model, 但是老闆最知名的品牌( Viewsonic), 購買完之後做公司省電報告


  • 軟體授權 --> 找所有賣軟體的廠商, 順便凹廠商送教育訓練

  • IP PHONE --> 在導入的很久之前, 就先找人邊吃午餐邊簡報給老闆, 先導入觀念

  • 3COM --> 單一品牌, 單一型號( 為何要讓我的公司設備有兩個型號? 讓我的IT 人員及老闆複雜化?)

  • 廠商分類栽培 --> 讓專業的廠商來負責

  • ITIL --> 讓老闆知道, 準備好當主管

  • 人緣極好 --> 所有部門都是我們服務的對象, 讓所有的部門喜歡, 是升主管的關鍵


TAI-942 目的

  • 建立國際通用的標準

  • 單一標準建立 Data Center


標準要參考活用( 誰說設備上面不能寫校長室01 校長室02這樣的標籤?) 只要管理人員可以一目了然即可



Data Center

  • EDC: Enterprise Data Center 私有的數據中心

  • IDC: Internet Data Center 公開租賃的數據中心


非結構化佈線架構

  • 單一用途, 拉一條線, server直接接線到Switch, 缺點是非常不彈性


結構化佈線架構

  • 已經事先把機櫃及配線櫃線路事先佈置好, 以針對需求改變port用途, Server 接線在單櫃的panel, 只要對應的配線櫃接到switch 就完成連線.


DATA Center 關鍵指標

  • 可靠性( Reliability) –MTBF( Mean Time Between Failures)

  • 可服務性( Serviceability) – MTTR( Mean Time to Repair)

  • 可用性(Availiability)

DATA CENTER 四個層級

  • Tier I 沒有任何備援

  • Tier II 部分備援

  • Tier III Active/Stand by 可快速維修

  • Tier IV Active/Active 故障容錯


機房的窗

  • 不可以有外窗

    • 因為熱會浪費一堆空調電費

    • 因為窗戶會破, 有安全問題

  • 可以有內窗


機房的溫溼度

  • 乾球溫度 20 – 25

  • 相對溼度 40% -- 55%

  • 恆溫恆濕是機房基本需求


TAI-942 最重要的概念

冷熱通道( 冷氣流及熱氣流必須分開, 機櫃應該前吸風後排風)


機櫃該如何擺

  • 機櫃之前的通道120CM

  • 機櫃之間門對門, 後面對後面 以分開冷熱流


新建築物 – 提早要求的事

  • 機房位置

    • (機房到client 盡量不要破白米, 分機房跟總機房儘量用銅線), 不是為了省光纖而是買不起後面的設備

  • 機房大小:

    • 要先要空間大小及形狀( 視機櫃大小調整, 而且要規劃到 Max大小)

  • 要求資訊管線

    • 沒有獨立的資訊管線, 會有很多問題, 也要注意管線的大小問題

  • 要求獨立電力

  • 如果有柴油發電機 , 你要告知加上你的用電量

  • 要求獨立空調

  • 機房位置永久不變

  • 不準土建, 機電將佈線包在大包內


機櫃用一輩子不會壞, 值得多花一點錢, 買錯丟不了

  • 不好的機櫃缺乏管理機制, 線路錯綜複雜

  • 有些機櫃前面使用壓克力門, 後面線路錯綜複雜會妨礙機櫃散熱

  • 配線櫃正常是使用兩柱開放式機櫃

  • 伺服器正常是使用四柱開放式機櫃

  • 傳統的理線槽也有阻礙散熱的疑慮( 一般來說都是2U, 1U是整人用^^)

  • 買機櫃一定要請廠商把圖畫好



國產機櫃與進口機櫃的差異

  • 精密度

  • 柱子移動容易性

  • 管理機制

  • 配件多寡


高熱量時代來臨, 機房用電比例

  • 空調 50%

  • 設備 38%

  • 電力傳輸及轉換 10%

  • 照明 2%


幾個綠色的方法

  • 正確的空調設計

  • 高轉換效率UPS

  • 使用正確的機櫃

  • 刀鋒伺服器整合

  • 虛擬化—OS/AP/STORAGE

  • 伺服器電源管理系統


機房空調

  • 現代的機房是個熱源分布不平均的地方, 所以不可以用傳統的方式以坪數來計算冷房能力

  • 使用耗電量來反推冷房能力

  • 下吹式冷氣

    • 兩公分的隔熱層, 至少45公分的高架地板

    • 恆溫恆溼正壓/隔熱層/樓層高度

  • 下吹式冷氣失敗的原因

    • 距離太遠, 冷氣送不到

    • 距離太, 熱氣回不來就吸走

    • 地板到處開動, 冷氣都逸散掉( 最常見 )

    • 太高密, 超出散熱能力


機房電力

  • UPS – Uninterruptible Power Supply

  • PDU -- Power Distribution Unit

  • POU -- Power Outlet Unit ( 多孔插座)

  • 所有的電都是由機櫃反推回來


UPS

  • 建議使用並聯式設計, 可依照需要來擴充

  • 如果是使用Standalone 那擴充上會有問題

  • 實際上的最愛 台達電NH系列

  • 建議買負載顯示型POU( 可以清楚知道用電量)

有機會做正規的機房, 光纖跟銅線做上面, 電線做下面


機房的環控( 美國SENSAPHONE 網路機房監控)

  • 溫度

  • 溼度

  • 電力

  • 煙霧

  • 漏水

  • 入侵

  • 網路/伺服器

  • UPS/空調



星期一, 9月 15, 2008

NFS nfs illegal port 問題小記

在VMWare 環境內, 如果透過NAT 來存取NFS
有可能會因為存取的要求Port 大於1024
產生illegal port 的錯誤存取訊息

解決的方式為
在 /etc/exports 的設定檔內加上 insecure的參數
允許 大於1024 以上的Port 連線

這邊先小記一下
以免以後忘記

奇怪的網頁綁架方式


這種網頁的綁架方式之前有遇過
但是因為都是在VMWare內的作業系統
所以沒有去理會他
但是這次心血來潮想說看一下
所以先去檢查
C:\WINDOWS\system32\drivers\etc\hosts
沒有被更動的現象

使用 nslookup 也正常
IE 與 Firefox都中獎

小紅傘也沒有偵測出來
但是發現使用
ipconfig/flushdns
來清除DNS快取可以暫時停止他
但是對某些網頁又無效

先記下來
改天研究 ^__^

星期一, 9月 01, 2008

利用cygwin同步Windows Server Part II

建立好cygwin 於Windows Server上後並啟動ssh服務之後
決定以 falsead 這個帳號在Windows Server 上面來當管理帳號
所以在Windows Server上面建立falsead 這個使用者並加入到administrators 群組

建立完之後嘗試以 scp 指令複製id_dsa.pub到Windows Server上面, 發現驗證失敗



以falsead這個帳號登入到Windows Server
並啟動桌面上的cygwin捷徑, 發現要執行

#mkpasswd -l > /etc/passwd
#mkgroup -l > /etc/group
來更新密碼及群組
所以進行密碼及群組的更新
更新之後, 再次嘗試連線, 發現可以連線成功, 只是找不到該目錄
這個時候再把Windows Server上面的Cygwin 視窗關掉, 重新啟動一次
重新啟動之後就會發現, 這個時候的家目錄就會自動建立( 之前都是在 /cygdrive/c/Documents and Settings/home/falsead/, 那是臨時的目錄)
接下來可以利用 #mkdir /home/falsead/.ssh 或是下 #ssh 127.0.0.1建立 .ssh目錄儲存金鑰

接下來再度測試使用scp 複製金鑰及遠端下指令就成功了