2018年11月26日 星期一

SQL 2014升級SQL 2017

原本以為SQL 2014 商業智慧版要升級SQL 2017企業版時,只消點選安裝下的從版本升級,精靈就會自動一路做到好,做到滿,做到成功升級。

殊不知,在試了3次後,在升級過程中,都會先顯示一個錯誤訊息,像這樣...
Unable to Connect to Analysis Services with name 'MSSQLServerOLAPService', please start the service and try the upgrade process.

 



然後再跑個10分鐘後,顯示大多數的功能都是安裝失敗的,像這樣...


但查看服務,人家可活得好好的,為什麼說不存在咧? you xia le your eye.....


幸好只是測試機,而且是在VM上,可以讓我費時費日的調整可能的原因,然後前後試了3次的升級,失敗了就還原點重來過。

後來找到了一篇文章,看到可疑處,難道是因為SQL BROWSER服務沒開啟的關係嗎?難道是因為使用的服務帳號權限不足嗎?
https://blog.sqlauthority.com/2015/03/10/sql-server-fix-a-connection-cannot-be-made-to-redirector-ensure-that-sql-browser-service-is-running-microsoft-analysisservices-adomdclient/

所以在開啟SQL BROWSER服務更改OLAP服務的登入帳後重啟服務,想說先試看看OLAP的連線是否OK,於是在SSMS上連線Analysis Service,直接打了連線主機的名稱後,
呃......,連線怎麼不通,而且出現了和安裝時一樣的錯誤訊息

 DIME protocol error: The '9' DIME version is not supported. Only version 1 is supported.

嚇得我花容失色..... 因為OLAP 服務正常,相關的網站應用功能也是正常的,怎麼我本機SSMS連線就不行?

果然,是上了年紀的人,我都忘了,原來OLAP SERVER的PORT在當初安裝時,port 2383被改成另外一個port了,所以使用SSMS連線時,需在主機名稱後加上PORT NO。
例如 BITest:1234,像這樣....


而且網站的應用功能,都是採用HTTP OLAP方式連線,難怪一切都正常。


在那一刹那,我突然了解了,這想必是SQL升級的BUG吧。
所以找到 "C:\Program Files\Microsoft SQL Server\MSAS12.MSSQLSERVER\OLAP\Config\msmdsrv.ini"
找到<Port>1234</Port>這行,先把他改回<Port>0</Port>(0代表為預設i的port 2383),然後因為重啟OLAP服務看來還是走1234 port,所以後來我改成重開機。

然後再進行一次升級後,這次就終於成功了。完成升級後再把OLAP 改回<Port>1234</Port>,再重開機一次,確認一切正常。

灑花..........拉炮........轉圈圈............,耶....................。


2018年11月5日 星期一

遠端工作階段中斷因為沒有提供授權的遠端桌面授權伺服器可以使用

在一台windows 2016的主機上,某一天,用遠端登入後,出現了以下的訊息....

遠端工作階段中斷,因為沒有提供授權的遠端桌面授權伺服器可以使用。請連伺服器系統管理員。

這啥啊...........

想不到,在MOBILE01找到了解決...........哈哈哈。

https://www.mobile01.com/topicdetail.php?f=300&t=5455294


移除遠端桌面服務,遠端桌面工作階段主機,遠端桌面授權,遠端桌面角色就恢復了



後來又還到一台機器,移除以上功能後,按指示重開機,但仍無法遠端連線。
故在控制台\所有控制台項目\系統\遠端桌面再重設一次允許端連線到此電腦後,再重開機一次才可正常連線。

2018年8月28日 星期二

IIS CSR請求檔轉出.key檔

在windows2012上的IIS產生憑證請求檔.CSR後,申請GCA憑證後,並已下載憑證檔.cer。

因使用第三方客製元件,需要憑證的.key檔(私密金鑰)。
故於windows中,開啟MMC主控台,新增憑證管理功能>>電腦帳戶>>本機電腦後,再於憑證下的【憑證註冊要求】目錄下匯出原先產出的CSR檔。
匯出時,選取【是,匯出私密金鑰】,選取【個人資訊交換-PKCS#12(.PFX)】,將憑證存成.PFX格式。

接著使用OPENSSL指令,將.PFX轉換為.KEY檔。

openssl pkcs12 -in 2018test.pfx -nodes -out 2018test.pem
openssl rsa -in 2018test.pem -out 2018test.key


openssl可到免安裝的OPENSSL(https://indy.fulgan.com/SSL/)下載,目前版本到V1.0.2o。


後續,在使用openssl加解密其他檔案時,發現其他人使用openssl最新的版本V1.1,但因其加密原則預設和V1.0不同,故使用V1.1加解密時若未指定 -md md5 無法解密以V1.0處理的檔案。

2018年7月18日 星期三

informix openquery error The scale exceeded the precision.

在SQL SERVER 2000上,讀取一段OPENQUERY SQL,資料來源為informix 11.50,ODBC為IBM INFORMIX 3.82 32BIT。

select *  from openquery(testdb,'select * from testtable')出現以下錯誤。
OLE DB Provider 'MSDASQL' 提供資料行 'colxxx' 無效的中繼資料 (Metadata)。The scale exceeded the precision.

來源資料表中,有一欄位colxxx的型態 為decimal(14,0),透過OPENQUERY讀取時,有上述錯誤。

解決方法有二個
1.在SQL SERVER 2000所在主機ODBC,於Advanced頁籤中勾選Describe Decimal Floating Point as SQL_REAL/SQL_DOUBLE。
2.將SQL改寫如下,select *  from openquery(ifx220 'select  colxxx::integer as colxxx from testtable'),先轉型為SQL SERVER可接受的欄位型態。

離線安裝SSMS 22 launched extracted application exiting with result code 0x138b

SSMS 22 安裝器下載頁面 https://learn.microsoft.com/zh-tw/ssms/install/install https://aka.ms/ssms/22/release/vs_SSMS.exe 將安裝檔下載到本機,檔案好大2.5G  https:...