SSMS匯出指令碼以UTF16LE編碼問題
前文說到,最近在進行一些SQL Server資料庫轉移工作,而有些資料庫是以SQL script方式進行移轉,其中有些資料庫因資料量巨大,匯出的SQL script奇大無比,高達數十GB。在第一次轉移時,使用sqlcmd發生不明原因導致作業中斷,懷疑是SQL script太大導致,因此打算進行檔案切割。
…前文說到,最近在進行一些SQL Server資料庫轉移工作,而有些資料庫是以SQL script方式進行移轉,其中有些資料庫因資料量巨大,匯出的SQL script奇大無比,高達數十GB。在第一次轉移時,使用sqlcmd發生不明原因導致作業中斷,懷疑是SQL script太大導致,因此打算進行檔案切割。
…近日進行SQL Server資料庫轉移,由公司自有的雲環境搬遷到Azure混合雲中,沒想到一直以來都在繁體中文環境工作導致踩了個大雷。由於某些緣故,某資料庫在評估後,決定使用SQL script方式進行移轉,沒想到該資料庫內有許多資料表的欄位使用VARCHAR型態、而非NVARCHAR型態來儲存中文資料,這導致許多中文資料不管是SSMS或是在實際上線的Web應用程式中都成了問號(?),原訂停機1天完成資料移轉,只得持續延長。
…mosquitto是一個受歡迎的輕量MQTT broker,雖然本身具備了pwfile、aclfile等使用者驗證機制,但使用者數增加、或是使用情境較複雜一點的時候,用起來就沒有那麼彈性了,而且修改完pwfile、aclfile還需要重啟服務,如果服務不適合中斷,那可就尷尬了。
為了做更有彈性的使用者驗證管理,有些人會考慮自行修改mosquitto原始碼(畢竟mosquitto是開源軟體),或者是另外撰寫mosquitto plug-in來處理驗證這一塊(是的!mosquitto有plug-in interface),例如jpmens的mosquitto-auth-plugin,就是一個廣受觀迎的mosquitto驗證plug-in,在Github上的fork數甚至達到487!不過這有一部份原因應該是原作者在2018年底就不再繼續維護此專案,大家有issue或是新需求就fork出來各自努力。😥
不過別難過得太早,早在2017年開始,iegomez便開始了一個新的mosquitto驗證plug-in專案,稱為mosquitto-go-auth,也就是本文要介紹的軟體。
…前幾天家人求救,說Microsoft Edge無法開啟。家人的使用習慣每天都只是上網看影片或玩一些小遊戲,近期也沒有安裝軟體、或對Windows 10做特別的異動、安裝設定檔重設,吃著火鍋,唱著歌,Edge突然就無法開啟了。
做了一下實驗,觀察到以下癥狀:
近期在為幾台運行Ubuntu的機器使用apt upgrade進行套件更新時,遇到了/boot空間不足,導致更新失敗的問題,折騰了一下子,總算是將問題解決了,在此做個筆記。
我們使用基本apt工具進行更新:
apt update apt upgrade
若更新的套件包含linux-image-x.x.x.x-generic,且/boot(通常為獨立的分割區)空間不足,將無法完成更新。
…前一陣子購入了一批Raspberry Pi Desktop Kit,隨附的記憶卡中已經預先裝載好Raspbian,沒想到近日在更新套件時,頻頻遇到某某套件無法更新的問題,apt錯誤訊息建議使用–fix-missing參數,實際執行完全無法解決問題。重新下了apt-get upgrade觀察了一下,發現更新失敗幾乎都是連不上某台伺服器(所以無法下載套件)造成的,於是心生一計──修改apt source list裡的URL,改為指向mirror site試試。
…最近又把 Raspberry Pi 3B 拿出來鼓搗一番,但是為了 Video & Ethernet 接線實在太麻煩,請教 Google 大神後,沒想到有所謂的「Headless Setup」途徑,可以預先啟用 SSH 連線以及設定 Wi-Fi 連線,我的方法如下。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=TW network={ scan_ssid=1 ssid="MYSSID" psk="MYPASSWORD" }
Have fun!
昨天在傳統Web Service (.asmx)上遇到直接存取.asmx頁面正常,可秀出Documentation說明(如果Web.Config沒有將Documentation remove掉的話),但POST/GET過去IIS會回應404 Not Found的問題。
查了老半天,才發現是專案類型為ASP.NET MVC專案導致的,會將:
http://{site}/Foo.asmx/Bar
這類的URL,以MVC的路由來處理,因為找不到對應的Controller,自然就得到404。
解決方法是在 RouteConfig.cs 新增 .asmx 檔的處理規則:
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("{resource}.asmx/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } }