2009年12月18日 星期五

SQL Server 在 Windows 2008 R2 連線設定(防火牆)

每次灌好新的 SQL Server 常會碰到連不上的情況

錯誤訊息如下

建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤。找不到或無法存取伺服器。確認執行個名稱是否正確,以及 SQL Server 是否設定為允許遠端連線。 (provider: SQL 網路介面, error: 26 - 搜尋指定的伺服器/執行個體時發生錯誤) (.Net SqlClient Data Provider)

按以下步驟處理即可

1.請確認已經透過位於「Microsoft SQL Server 2008」、「組態工具」中的「SQL Server 組態管理員」,將 SQL Server 網路組態中的 TCP/IP 通訊協定予以啟用
2.開啟 SQL Server Management Studio 在「物件總管」窗格中,於要設定的執行個體上,按下滑鼠右鍵,選擇「Facet」指令
3.此時會開啟「檢視 Facet」對話方塊,從右側「Facet(F)」下拉式清單中,選擇「伺服器組態」項目
4. 將「Facet 屬性」中的「RemoteAccessEnabled」設定為 True

以上內容轉載microsoft technet

如果還是有無法連線的情況,請注意防火牆設定,

可以試試看把防火牆關掉,其他台電腦應該就可以連了,這表示防火牆還需要再做設定

開始→控制台→檢查防火牆狀態


允許程式或功能通過 windows 防火牆,如要使用更多更細部的設定可以利用進階設定。


允許其他程式


瀏覽我們要允許的程式


因為我們要允許的程式,是一個windows 服務,所以我們透過以下步驟來了解該服務的執行檔在哪個位置

按開始,鍵入services.msc直接開啟服務管理


我們這次要允許的就是以下兩個服務,缺一不可,對他們使用右鍵→內容


紅框處就是他們執行檔的位置,我的這兩個服務在不同的資料夾





回到瀏覽我們要允許的程式


選擇sqlbrowser.exe


選擇sqlservr.exe


設定完成,可以用其他電腦測試SQL Server 的連線囉


-------------------

參考這篇後有可能會發現netsh firewall這個指令已經不適用了
現在已經改成 netsh advfirewall firewall

對照修改法可參考以下連結

各服務所對應的port

------------------
可用指令設定(已確認適用 2008 R2)

直接在cmd輸入即可進行設定

本次的防火牆設定也可以執行以下兩段

netsh advfirewall firewall add rule name="sqlservr" dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.AFCSQLSERVER\MSSQL\Binn\sqlservr.exe" enable=yes

netsh advfirewall firewall add rule name="sqlbrowser" dir=in action=allow program="C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe" enable=yes

也就是命令提示字元︰開始→鍵入cmd.exe後執行

如需要開port可以使用以下指令
netsh advfirewall firewall add rule name="SQLServer" dir=in action=allow protocol=TCP localport=1433

netsh advfirewall firewall add rule name="SQL Admin Connection" dir=in action=allow protocol=TCP localport=1434

netsh advfirewall firewall add rule name="SQL Service Broker" dir=in action=allow protocol=TCP localport=4022

netsh advfirewall firewall add rule name="SQL Debugger/RPC" dir=in action=allow protocol=TCP localport=135

netsh advfirewall firewall add rule name="Analysis Services" dir=in action=allow protocol=TCP localport=2383

netsh advfirewall firewall add rule name="SQL Browser" dir=in action=allow protocol=TCP localport=2382

允許各種服務
netsh advfirewall firewall add rule name="fdlauncher" dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.AFCSQLSERVER\MSSQL\Binn\fdlauncher.exe" enable=yes

netsh advfirewall firewall add rule name="sqlservr" dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.AFCSQLSERVER\MSSQL\Binn\sqlservr.exe" enable=yes

netsh advfirewall firewall add rule name="SQLAGENT" dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.AFCSQLSERVER\MSSQL\Binn\SQLAGENT.EXE" enable=yes

netsh advfirewall firewall add rule name="sqlbrowser" dir=in action=allow program="C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe" enable=yes

netsh advfirewall firewall add rule name="sqlwriter" dir=in action=allow program="C:\Program Files\Microsoft SQL Server\90\Shared\sqlwriter.exe" enable=yes

-------------------
以下僅供參考,可略過不看

在測試的過程中

發現一個奇怪的現象

假設A是SERVER,B是CLIENT

現在B停留再SQL Server Management Studio(SSMS)

A的防火牆設定,先把對B的IP的連線開啟(允許192.168.2.69)的任何連線

此時B已經可以連線到A的SQL SERVER了

再將A的防火牆,把剛剛B的IP連線規則關閉,再允許 SQL SERVER 程式通過防火牆

注意,這時候,B的 SSMS 仍然可以連線

但若關掉對 SQL SERVER程式允許,會馬上影響B的SQL的連線
或是將B的 SSMS 重開後,就無法連線了

感覺 SSMS 暫存了一開始的B電腦IP連線規則,關掉SSMS後就消失

2009年12月16日 星期三

Google Doc 使用心得

線上簡易版的office

其中我最關注的是form這個檔案類型,可以製作問卷,並呈現在excel中

可惜無法確保問卷的內容有效性,也就是說可以填寫假資料,也可以重複填寫

但是就一個民眾工具來說,真的是很方便的功能

很厲害

word 切換英文大小寫

shift + f3 可以切換全大寫、字首大寫、全小寫

就是常用→字形→Aa的圖示

2009年12月10日 星期四

UAC相關設定

如果在UAC的設定上有什麼困擾的,可以參考這個官方說明

http://technet.microsoft.com/zh-tw/library/cc772207(WS.10).aspx

使用secpol.msc便可以進行設定

可以設定成擁有管理權限的帳號關閉UAC,但一般帳號仍啟用UAC

2009年12月7日 星期一

Oracle SQL Developer 的bug,鍵盤delete、backspace、貼上無效、

Oracle 版本是 10g

這是個鳥鳥的bug,狀況發生時,鍵盤的delete、backspace都不能用,也不能貼上

只要照工具列上面這樣設定完即可修復,鍵盤真的比較方便
Tools -> Preferences -> Accelerators -> Load Preset -> Default -> OK

參考文章如下
http://decoding.wordpress.com/2008/01/09/oracle-sql-developer-problem-backspace-delete-button-not-working-quick-fix/

2009年11月16日 星期一

開發環境最好還是照順序來

iis→vs2008→sql

我整個反過來裝 sql→vs2008→iis

已經遇到了iis要重新註冊asp.net(先裝iis在裝vs2008(其實就是.net)就不會有此問題)

vs2008 元件載入失敗,開發語法無高亮(因為先灌了sql,預設的vs2005影響到vs2008了)

http://support.microsoft.com/kb/916900/en-us

嘔~~

關於開發語法無高亮的問題,請搜尋「visual studio 高亮」,可以搜尋到demo的解決方案

如果是組件無法讀取(package load failure)的問題,直接上網搜尋「package load failure」,不過最好...先用內建的open/project來開啟sln看看

2009年10月25日 星期日

使用者需求

開發案子最重要的,我想就是使用者需求了

在案子啟動以前,我們必須跟使用者建立起共識

以免到了後期,因為做出來的東西,不符合使用者的需求而修修改改

最近遇到的一個案例,是使用者代表委託製作新的系統

但是卻在新系統完工前夕,經常聽到使用者「以前的系統...bla bla」

讓人有一種「你幹嘛不會去用舊系統就好了」的感覺

我想,使用者是希望我們能夠在就系統上面,進行補強

當初應該以該使用者的需求基礎上進行開發,即便他使用的是超鳥的IE6


這樣才不會在完工前夕,不斷的被要求修改,甚至被批評版面做得很差...某功能很陽春等等

我不懂該怎麼樣才能讓使用者「滿意」

為了讓他覺得「還可以」就已經讓我們拼死拼活了...


前期負責使用者需求溝通的人到底在搞些什麼阿??