2013年5月7日 星期二

SQL2012 shortcut key

安裝SQL 2012後,以前一些常用的捷徑鍵都不work了.
其實也只有幾個常用鍵

Ctrl+R  : 將query result pane 關掉
Ctrl+Shift+C : 註解所選的sql指令碼
Ctrl+Shift+R : 反註解所選的sql指令碼

可能因為是SSMS2012改用了vs2010 shell ,所以變成有些按鍵被更改掉了.

這里可參考SQL2012的shortcut鍵

為了方便所以在SSMS 2012 中
Tool-->Customize -->Keyboard ,在Show commands containing: 輸入comment
找到了
Edit.CommentSelection  
Edit.UncommentSelection 
 接著在Use new shourtcut in : 選擇SQL Query Editor , 然後按下所要的捷徑。
Edit.CommentSelection    --> Ctrl+Shift+C
Edit.UncommentSelection --> Ctrl+Shift+R




2013年4月19日 星期五

win2003 r2記憶體使用設定

人客的一個系統要更換到一台新主機上,規格如下
  1. 型號:HP ProLiant DL380 G7
  2. CPU:Intel Xeon CPU E5620 @ 2.40GHz *2 四核
  3. RAM:32GB ( 32758 MBytes)
  4. OS: Microsoft Windows Server 2003 Enterprise Edition R2

因為參考舊機器boot.ini(16GB記憶體)
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE /3GB /USERVA=2900

結果重開機後原本32GB的記憶體只剩下16GB

查看了幾篇文章後....

原來win 2003 超過16GB實體記憶體時,/3GB 不可使用,否則機器仍只會使用16GB的記憶體.

 這篇說明的還蠻詳細的. 
 Using the 3GB and PAE switches when running SQL 2005 causes issues
boot.ini設定方式
 
For system with more than 16GB RAM
/PAE

For systems with between 4GB – 16GB RAM
/PAE /3GB /USERVA=3000
/PAE /3GB /USERVA=2900
/PAE /3GB /USERVA=2800
/PAE

For systems with 4GB RAM or less.
/3GB
/3GB /USERVA=3000
/3GB /USERVA=2900
/3GB /USERVA=2800

Do not set the USERVA values less than 2800 or more than 3072. 
Large memory support is available in Windows Server 2003 and in Windows 2000
這篇KB則說明不設PAE則AWE也無法使用超過4GB的RAM


How to: Enable the Lock Pages in Memory Option (Windows)
使用AWE前要先確定sql server services啟動帳戶是否有啟用鎖定記憶體分頁權限


SQL SERVER上配合設定啟用AWE
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO 
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 30720
RECONFIGURE
GO

這篇列出作業系統記憶體上限
Memory Limits for Windows Releases

Windows Server 2003 R2 Enterprise Edition 64 GB(16 GB with 4GT)

最後的boot.ini為下
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE

 

2013年4月17日 星期三

系統捷徑失效,icon消失?

OS: win7 64bit
最近不知裝了什麼,有時電腦開始或工作列上的一些系統捷徑就突然都失效了.icon也變成不知的圖示.

今天電腦用到一半,又出現了有部份的捷徑失效..

當我要打開visual studio 2010 (這個在開始上的捷徑及icon看來都是OK的) 時竟然出現 這個錯誤.

Exception has been thrown by the target of an invocation.

後來只好登出再登入後,整個才又正常了起來。


2013/05/07
今早做完sql 2012 sp1 KB更新後,變成系統捷徑原有的icon都消失了。重新登入或開機也無法回復,但捷徑點進去功能又是OK的。

後來看到這篇 [Windows7]修復桌面與開始功能表中錯亂或是消失的捷徑圖示

將C:\Users\beverly\AppData\Local\IconCache.db 刪除重開機就OK了..

幾次經驗下來,安裝或更新sql 2012、vs2012後都會出現這種奇怪的狀況.實在是不解啊....

2013年4月10日 星期三

查看sql server error log

--保留多少個error log (例100個)
exec master..xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 100


--查看目前共有幾個error log
exec master..xp_enumerrorlogs

--重新產生一個error log
exec master..sp_cycle_errorlog

--查看第幾個log內容(由0開始, 例第13個)
exec master..sp_readerrorlog 12

2013年4月8日 星期一

一些help文件

最近在學習憑證一些相關內容.

看到windows有一些說明文件里頭的說明挺有幫助.

想要離線放到手機上讀取.找到了這些說明文件的存放的路徑

C:\Windows\Help\mui\0404\

certmgr.CHM 是有關憑證的

2013年3月27日 星期三

升級為SQL Server Data Tools BI for VS 2012後

話說,SQL Server BI開發工具BIDS Business intellijgence Developer Studio 所用的版本總是落後Visual Studio一版

上週看到 SSDT(SQL 2012開始 BIDS已經改名為SQL Server Data Tools) 
Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2012
下載安裝完後,原本vs2012的SQL Server Database Project 就沒法用了,出現了以下的錯誤訊息。


於是乎又去安裝了最新版的Microsoft® SQL Server® 2012 Data-Tier Application Framework (March 2013),也是沒路用.....
點了Learn more 及Get the lates version of SQL Server Data Tools的連結後,竟然是導引到

We are sorry. The page you requested cannot be found.


整個灰灑灑....

最後找回SQL Server Data Tools - December 2012 update(Visual Studio 2012)

重新安裝一次SSDT 後,就回復正常了.

同一個工具還分多個版本....金害啊...


SQL2012 SSL加密連線

需要測試sql server 2012 SSL加密連線
GOOGLE了幾篇文章後進行測試

1.如何啟用SQL Server的SSL加密
2.Setting up SSL encryption for SQL Server using certificates – Issues, tips & tricks
3.How to enable SSL encryption for an instance of SQL Server by using Microsoft Management Console
4.如何設定 SQL Server 2008 接受 SSL 加密連接 (需設定憑證)

先到微軟網站下載 makecert.exe
然後在DOS下執行
makecert -r -pe -n "CN=bev" -b 01/01/2013 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

第一次建立時,搞不清CN要填什麼,大部份都說要填符合FQND(Fully Qualified Domain Name)的電腦名稱,但我的機器又未加入網域,所以第一次我就自已給了一個隨便符合FQND的名稱。
 
建立完後憑證後,再依KB的How to Configure the MMC Snap-in 設定進入憑證主控台在個人憑證下就可以看到憑證了

過程中,我是先使用 -sr currentuser 建立憑證,但進入主控台後,我在個人>>憑證目錄下看不到自已建立的憑證??
所以後來改用了-sr localMachine  就可看到所建立的憑證... (後來發現,看不到是因為用MMC進入主控台時是以目前帳號進入,而不是以本機電腦方式)

接著進入SQL Server Configuration Manager,在SQL Server網路組態>>SQL2012通訊協定內容,查看憑證頁籤下的下拉選單看不到任何的憑證???


再依著第三篇微軟KDB的Troubleshooting 步驟,先將個人憑證匯出後再匯入到受信任的根憑證授權單位下。
(匯出時我是選擇匯出私密金鑰,故會要求輸入一組密碼後,將憑證存成.pfx,故匯入時需要輸入相同密碼)

重啟sql server services,用SSMS開啟連結並以加密方式連結,就OK了.


不過我一直有個疑問,主機強制加密Force protocol encryption設為是時,代表伺服器強制SSL

但我試了一下,Client就算沒有勾選加密連線,一樣還是可以連接資料庫?
Client端還是可以不走SSL來連線?? WHY?

寫了一個測試網頁利用SSL連線,connection string  如下
<add name="test" connectionString="Data Source=testsvr;Initial Catalog=test;Persist Security Info=True;User ID=sa;password=sa;Encrypt=yes;TrustServerCertificate=True" providerName="System.Data.SqlClient" />

記得,本機要先把SSL憑證註冊到根目錄下。

IIS 網站無法下載中文檔名檔案因為取消高位元字元

 網址+中文檔案名稱方式下載檔案顯示 404 - 找不到檔案或目錄。 但英數字檔案名稱則可下載。 因為設定GCB IIS,其中1項 將高位元字元預設取消勾選了。 27 TWGCB-04-014-0028 要求篩選與其他限制模組 允許高位元字元 這項原則設定決定查詢...