2012年1月15日 星期日

查看Windows版本-Winver

簡單到不能簡單的問題,但花了我好一番功夫才找到!所以記錄一下以免忘記。 

  同事裝了一台Windows Server 2008 R2的VM給我測試,但我覺得不像是R2,可是我從[我的電腦]按右鍵選[內容]卻看不出是什版本,如下圖,Windows Server Stansard是什版本啊?

   因為上圖跟我自己裝的Windows Server 2008 x32的看起來幾乎一樣啊,只是同事裝的是x64沒錯,想說有什指令可以查呢?後來上網搜尋了好一會,才找個Winver這指令啊!直接在命令列下執行即可!查看版本很方便。

2012年1月8日 星期日

[查詢優化]影響執行計畫的因素3-Cardinality(基數)

   基數是用來量測滿足某個條件下的資料列數目,想像一下,如果一個員工資料表總共有500筆資料,這個資料表有單位、姓名及ID等欄位,有一個查詢的條件是"WHERE 單位 = '資訊處' ",那查詢最佳化工具就會找[單位]的統計資料,結果發現直方圖為[資訊處]有50筆,這50筆就是所謂的基數

  有沒有覺得這個基數很熟悉,沒錯,在執行計畫裡,我們可以把每個運算子的估計的資料列數目當作是基數喔

  有時查詢最佳化工具沒法正確的預估基數,使得執行計畫的成本估計不正確,會導致選擇次佳的執行計畫呢

2011年12月11日 星期日

[查詢優化]影響執行計畫的因素2-Density(密度)

   上篇介紹了述詞,本篇接著介紹另一個影響執行計畫的因素-Density(密度),密度是用來描述欄位其重複值發生的頻率,密度介於0到1之間,欄位密度愈高代表唯一值的數量愈少,在既定的查詢下會回傳愈多的資料

公式如右:  Density(密度) = 平均重複筆數/總筆數

也就是如右圖:

最後上下抵銷掉就是:  Density(密度) = 1 / 唯一鍵值的筆數

2011年11月4日 星期五

[查詢優化]影響執行計畫的因素1-Predicates(述詞)

   你有在看執行計畫嗎?為什要看它呢?因為執行計畫重要到SQL Server會建立它 、重用它甚至重建它來幫助執行你的查詢,如果你能了解SQL Server為何會產生那樣的執行計畫,相信能夠幫助你設計出較有效率的查詢喔。

SQL Server對於每一個送來的查詢必定經過下面四個步驟:

2011年10月26日 星期三

SQL Server Denali的範例資料庫安裝體驗

  看大家都在進行SQL Server Denali CTP3的測試,想說我也趕緊來試一試,,不然落後別人太多不好意思,因SQL 2008 R2還可以安裝在Win 2003上,結果一試SQL Server Denali已經不支援了,得安裝在Windows Server 2008 SP2Windows Server 2008 R2 SP1上,只好趕緊去找Windows Server 2008來裝,裝完再裝sp2,想說應該可以裝SQL Server Denali了吧,結果還得裝.NET 3.5 SP1Windows PowerShell 2.0

  好不容易終於裝完了,結果發現也同SQL 2008 R2一樣沒範例資料庫,沒關係,去Adventure Works for SQL Server Denali CTP3 下載,不過這次與之前安裝SQL 2008 R2的範例資料庫時不太一樣,SQL 2008 R2下載回來範例資料庫是AdventureWorks2008R2_SR1.exe安裝檔,而這次下載回來的是AdventureWorks2008R2_Data.mdf,還沒附ldf呢,我一開始還想說是不是下載錯了,SQL 2008 R2範例安裝檔執行完有安裝畫面,有約略的說明指引,如下圖,不是比較人性化嗎?

2011年10月6日 星期四

利用IPSec建立內部防火牆以提升資料庫安全

  一般公司都會有外部防火牆來防止駭客直接入侵,那內部防火牆要防誰呢?當然是來防內賊的,一般無內部防火牆的情況下,只要知道資料庫的IP、帳號及密碼,在內網就能夠去取得資料庫的資料,如果使用IPSec來建立內部防火牆,就能設定IP白名單,僅允許白名單上的伺服器可連接資料庫,這樣就算內部無權的人取得資料庫的帳號密碼也沒法取得資料,除非他有辦法透過那幾台在白名單裡的伺服器去連囉,這樣不就可以提升資料庫的安全性嗎!最近個資法的施行細則也快公布了,有免錢可以提升安全性的做法,是不是該考慮一下

  IPSec的說明、安裝及使用方式我就不介紹了,網路上一堆參考資料,自己去搜尋吧!

  我直接給設定指令IPSECCMD的範例,IPSECCMD是給XP及Win server2003用的,Win Server2000則是用IPSECPOL囉,參數基本上差不多,都需要另外安裝


2011年10月3日 星期一

SQL 2008 R2的SSMS工具竟不能連SQL 2005的Reporting Services

  今天心血來潮用SQL 2008 R2的SSMS工具去連SQL 2005的Reporting Services時,出現如下錯誤訊息,心想我跟這工具有哪麼不熟啊,竟然會出錯

其他資訊:
報表伺服器 WMI 提供者錯誤:
無效的名稱區 (Microsoft.SqlServer.Management.UI.RSClient)
------------------------------
無效的名稱區 (System.Management)
------------------------------
  試了幾遍,都一樣,怎麼我連工具也不會用了,可是明明SQL 2008的SSMS可以連SQL 2008的RS,SQL 2005的SSMS也可以連SQL 2005的RS啊,偏偏SQL 2008的SSMS就是不給我連SQL 2005的RS