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憑證註冊到根目錄下。

2013年2月21日 星期四

腦力退化....null 值比較

今天在informix 做一個簡單的查詢時竟然對這個查詢結果懷疑了起來

create table test(col1 char(1) not null, col2 char(1));

insert into test values ('1' ,null);
insert into test values ('1' ,'1');

select * from test where col2 <> '1' ;

原本以為會回傳第一筆資料. 但卻回傳0筆.

以為是informix才會這樣,結果到sql server也是如此.

我的頭腦真是老化了,怎麼懷疑起這樣的結果呢.

null 與任何值比較應都是無法比的.

欄位值有null先轉型再比較唄

--tsql
select * from test where coalesce(col2,'') <> '1' ;

--informix
select * from test where nvl(col2,'') <> '1' ;


參考NULL 值說明

pdf.js 無法顯示部份字

有個檔案在pdf viewer套件中無法顯示內容,但下載檔案後使用工具又可以正常顯示。 本來以為是套件版本太舊的原因,於是去下載pdf viewer套件 https://github.com/mozilla/pdf.js 更新後還是一樣。 覺得應是字型缺漏的問題,於是用PDF-X...