2010年5月22日 星期六

定序對於 User Provisioning Tool的影響

因為資料移轉需求,在安裝新的SQL Server 2005時,我將定序設定可區分大小寫的選項,好讓未來新增的資料庫都能依照相同的定序設定。沒想到,安裝步驟完後成,執行User Provisioning Tool以設定管理員的sysadamin權限時,竟然發生15007的錯誤:

標題: .Net SqlClient Data Provider
------------------------------
'mydomain\admin' 不是有效的登入,或者您沒有權限。

如需說明,請按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=15007&LinkId=20476

好笑了,我不就是以管理員身分登入嗎,怎麼還會有「不是有效的登入」錯誤訊息呢?苦思許久後,心想User Provisioning Tool其實也就是呼叫 sp_addsrvrolemember 預儲程序新增管理員,所以有沒有可能是因為使用用字串參數而導致大小寫比對有問題呢?試試看吧! 我試著把「要提供的使用者」欄位內的AD帳號改成正確的大小寫後,再試著加入一次,結果竟然就給我過了。呵,這.....真是嚴格啊。

看來我還是不要在Instance Level設定區分大小寫的定序選項,改在DB Level設定的話,或許這種怪力亂神的問題就比較能避免了吧~ =_=