星期五, 7月 29, 2022

IIS: Request Entity Too Large

把一個很吃資源的 WCF 服務從 IIS 7.0 升級到 IIS 8.0,就壞掉了,找了一下才知道有設定要調整

其實很簡單,就是 IIS 的設定調整變大,Web.Config 新增設定 maxAllowedContentLength 就可以了


從 IIS 中選擇站台,點選設定編輯器


區段的部份選擇 system.webServer/serverRuntime 後,將 uploadReadAheadSize 調整為 49152。

接著在 Web.Config 新增

<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>

星期五, 5月 20, 2022

Hyper-V 降版本

在 Windows 10 建立的 Hyper-V 版本太新,建置完成後搬移虛擬機伺服器執行就遇到版本不相容的問題


Windows Server 2016 只支援到 8.0 的版本


最後只好先手動建立一個空的虛擬機



燒香拜佛祈禱把 Virtual Disk 掛載調整設定後就可以開機使用



果然,在兩邊設置都一樣的情況下,即便版本不一樣,也是順利開機成功認真工作。 




星期五, 2月 18, 2022

設定 IIS Log 定期更新

 IIS Log 留太多也只是佔用空間,最好的方式就是用排程定期刪除

用 VBScript 來進行 30 天前的資料刪除


sLogFolder = "c:\inetpub\logs\LogFiles"  'IIS Log 存放資料夾

iMaxAge = 30   'in days

Set objFSO = CreateObject("Scripting.FileSystemObject")

set colFolder = objFSO.GetFolder(sLogFolder)

For Each colSubfolder in colFolder.SubFolders

        Set objFolder = objFSO.GetFolder(colSubfolder.Path)

        Set colFiles = objFolder.Files

        For Each objFile in colFiles

                iFileAge = now-objFile.DateCreated

                if iFileAge > (iMaxAge+1)  then

                        objFSO.deletefile objFile, True

                end if

        Next

Next


將上面 Script 存檔後,設定每天執行的排程,即可完成每天刪除 30 天以前的 IIS Log


參考文章: Prevent IIS log files from using too much disk space on Windows Server | Computerworld

星期二, 12月 28, 2021

SQL Server Transaction Log 還原

將  bak 檔與 trn 檔複製到另一台 SQL Server 測試還原的步驟

選擇 bak 與 trn 檔案,剩下就跟一般還原一樣選擇處理







星期四, 9月 09, 2021

WCF 回傳為錯誤

在本機測試都沒問題,放上正式環境後就掛掉,最後只好把 Web.Config 開啟紀錄來看看

在 system.web 加入了紀錄 Trace 的功能

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
      <source name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
      <source name="System.Runtime.Serialization" switchValue="Verbose,ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="App_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp" />
    </sharedListeners>
  </system.diagnostics>

在同一資料夾就會有 App_tracelog.svclog 這個檔案產生,成長速度飛快,我才紀錄 2 天就大到  2G 了,還好已經紀錄到我要看的,趕緊將記錄功能從 Web.Config 中移除。

使用 Microsoft Service Trace Viewer 就可以開啟,沒有也有可以記事本,只是很難閱讀。

最後才發現,原來這次我的調整用了新的 DataTable 但是沒給 TableName 造成的。

呼~~~虛驚一場。



星期五, 8月 27, 2021

App_tracelog.svclog 太大

上次清 WCF Log 應該是一年前了吧,全部加起來有兩千多個檔案,佔去快 100G 空間,
其中主要那個還佔了 85.3G。

我會先到 Web.Config 中把 App_tracelog.svclog 紀錄先改掉,刪除檔案,再改回 App_tracelog.svclog

      <add initializeData="App_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp" />



 

星期三, 8月 18, 2021

Could not load file or assembly 'ADODB, Version=7.0.3300.0, Culture=neutral

最怕就是系統移機了,畢竟隨便一個系統都是已經建置部屬超過三五年,中間經過很多人,到底在系統上安裝了什麼,也不見得會有人記得。

這次要將 Web Service 從 Windows Server 2008 R2 移機到 Windows Server 2012 R2 的機器就遇到了

開網頁直接跳

Could not load file or assembly 'ADODB, Version=7.0.3300.0, Culture=neutral 布拉布拉的錯誤




安裝了一大堆版本的 MDAC 還是一樣,錯誤。

最後只好找來 adodb.dll 加上 gacutil.exe 強制註冊到 GAC 中才行


用系統管理員權限開啟命令提示字元

.\gacutil.exe -i .\adodb.dll

打完收工

星期日, 11月 22, 2020

Synology DS216+II 升級記憶體跟擴大硬碟

利用今年雙 11 買了兩顆 Toshiba【企業碟】(MG06ACA800E) 8TB /7200轉/256MB/3.5吋/5Y 來把原本的 Seagate【IronWolf】那嘶狼 4TB 3.5吋NAS硬碟 (ST4000VN008) 過保固的替換掉,

順便試試看 DS216+II  Repair 需要花多少時間,關機後換上硬碟後立刻重開機,DS216+II 就開始大聲叫了,登入立刻後先把警報聲先關掉


先到儲存空間管理員中確認硬碟有正確被認出
然後就在動作中點選修復開始漫長的等待了


蠻長的等了五天,才修復完成


由於還有一顆要換,再等五天 NAS 很慢不太能用會很 OOXX,反正都過保了,就順便把記憶體從 1G 加大成 8G 吧,拿了一條 TS1GSK64V6H-I 換上,運氣很好的安裝上就可以用了



換上記憶體後,再換上新硬碟開始修復,這次竟然 7 小時就修復完成了,比上次整整快了 17 倍,果然記憶體擴大後整個效能都提升了。


修復完之後,因為是擴大硬碟,所以還要進來儲存空間動作內的設定執行最大化來擴張可使用空間大小,這個操作系統瞬間就完成了,這是 NAS 升級完成,打完收工。















星期一, 4月 13, 2020

Clear ClickOnce Cache

方法1. 用命令提示字元進行刪除,

rundll32 dfshim CleanOnlineAppCache

等待跑一下就刪光了

方法2. 到使用者資料夾刪除

將這個資料夾下的資料夾跟檔案都刪除

C:\Users\username\AppData\Local\Apps\2.0\



星期三, 6月 05, 2019

SQL Server ERRORLOG 太大


SQL Server 因為硬碟壞掉,造成了ErrorLog 成長速度飛快,直接把 C 槽吃到沒有空間,一路長到21.6 GB,還有一大堆 Dump 檔案就佔了 40 G

 
只好把有問題的 DB 都刪掉或是卸載掉,把 Dump 的紀錄檔都刪除,剩下就是這個肥大的 ERRORLOG 了。

為了不重啟服務,只好用來回收當前的 Log,因為 ERRORLOG 數量最少為 6,所以跑七次後就都清空了。

EXEC sp_cycle_errorlog;