SQL Server 2016推出了將字串分割成資料集(STRING_SPLIT)的功能,今年SQL Server 2017則推出了將資料集組成字串的串接功能(STRING_AGG),而且還支援簡單的分組和排序,今晚繼續吃第三顆語法糖(胖)。
[SQL Server][T-SQL]TRANSLATE字串取代功能強化(SQL Server 2017)
如果想替換字串中的值,我們習慣在SQL Server用上REPLACE()函式,但碰上要換多個字串pattern時,就要用巢狀結構使用REPLACE()函式,SQL程式寫起來就比較不好閱讀,Oracle很早就有TRANSLATE()函式可以簡化語法,現在SQL Server 2017也開始支援了TRANSLATE(),今晚我們繼續吃語法糖(TRANSLATE)。
[SQL Server][T-SQL]CONCAT_WS串接分隔字元強化(SQL Server 2017)
如果打算將SQL查詢結果串接成逗號分隔的csv檔案,用ETL工具、BCP、用管理工具在查詢結果按右鍵等都可以實現,但如果想單靠SQL語法,MySQL可以用concat-ws()函式,在SQL Server我們就得用上很長的語法串接(+號 or CONCAT),今晚是新加坡F1夜戰第10年,一邊看賽車一邊來吃SQL 2017新的語法糖。
[SQL Server][Machine Learning]One Class SVM
- 2622
- 0
- R Language
在執行異常偵測(abnormal detection)時,通常我們擁有大量的正常交易資料,但可能沒有足夠的不正常交易來讓機器學習,這個時候可以考慮單類別的SVM演算法(one Class-SVM)。很理想的,one Class-SVM隨著MicrosoftML套件也正式在R Server 9.0後可以在地面環境使用了(SQL Server 2017 CTP2),我們來試試。
[SQL Server]R Services改名機器學習服務(SQL Server 2017)
- 2619
- 0
- R Language
R語言以及Python是資料科學工作中常用的兩把利劍,兩者在資料分析、機器學習上都是很棒的武器,去年微軟在SQL Server 2016把R語言整合進平台,就在今年,即將推出的SQL Server 2017也將把Python整合進資料平台了,此外,這一次也同時把R Services重新命名為Machine Learning服務來呼應這次的整合與原有R機器學習套件的升級,不久的將來,Python常用的scikit-learn、TensorFlow及keras套件也能直接執行在SQL Server內了,今天我們先來安裝RC2版本環境。
[.NET][C#.NET]走跳在Linux的人生(八).NET Core與Mono執行
- 6663
- 0
- .NETOnLinux
我們來試試用.NET Core從Windows環境開發,然後porting到Linux環境(佈署及執行.NET Core),之前曾看過stackoverflow文章提到Mono的效能問題,這一次我們同時也想了解.NET Core與Mono在效能中的表現是否有變數。
[.NET][C#.NET]走跳在Linux的人生(七).NET Core安裝
- 6706
- 0
- .NETOnLinux
雖然沒辦法所有系統都用.NET Core重新開發,但還是有小部分功能可以趕上跨平台的潮流,我們來試試在Linux(Red Hat Enterprise)環境跑.NET Core。
[SQL Server][Deadlock]Intra-Query Parallel Thread Deadlocks初體驗
- 9006
- 0
- SqlDeadlock
星期六晚上沒有想看的球賽,來筆記幾個月前碰到的問題: Intra-Query Parallel Thread Deadlocks,內部平行查詢死結。
[SQL Server][Emergency]SQL Max Memory Limit Too Low
- 9310
- 0
- SQLEmergency
- 2017-07-25
由於SQL Server最大的記憶體限制預設是2,147,483,647 MB(超大的!而且很眼熟,整數int的最大值),再加上傳說中SQL Server是愛吃記憶體的怪獸,為了避免她不小心把作業系統的記憶體都吃的很乾淨,甚至還使用到虛擬記憶體(可以設定Lock Pages in Memory避免),在安裝完SQL Server後,我們會配置適合比例的記憶體給指定的Instance。因為想測試SQL 記憶體不足對交易效能的影響,不小心把記憶體設定成很小的375 MB,這下悲劇了。
[SQL Server]記憶體配置與效能
- 12037
- 0
- SQLPerformance
最近兩個客戶不約而同碰到SQL Server記憶體配置問題,一個客戶諮詢SCOM(System Center Operations Manager)監測到BufferCacheHitRatio比例過低以及Page Life Expectancy分頁停留在快取中的時間太低的警示;另一個客戶則是在測試環境因為資源太少(2GB記憶體)使得Table Scan執行語法跑很久,來筆記一下記憶體壓力對SQL執行效能上的影響。
[.NET][C#.NET]走跳在Linux的人生(六)Daemon(Mono-Service)
- 7328
- 0
- .NETOnLinux
因為一些歷史因素,系統內有些背景下的服務功能在Windows環境下是以Windows Service的方式常駐在系統記憶體中運作,這次要模擬遷移到Linux的環境,想起Daemon小惡魔,好在Mono也有解,我們來筆記。
[.NET][C#].NET走跳在Linux的人生(五)ASP.NET Hosting with Apache
- 9023
- 0
- .NETOnLinux
我們來試試把ASP.NET Web Forms網站放到Linux環境的Apache上執行吧!
[.NET][C#].NET走跳在Linux的人生(四)ASP.NET With mono xsp(Windows Deploy)
- 7664
- 0
- .NETOnLinux
上一篇我們簡單用mono project的範例,在Linux新增ASP.NET程式碼(hello.aspx )並且編譯然後執行,這篇來試試直接把Windows環境編譯好的網站程式放到Linux環境下執行。
[.NET][C#].NET走跳在Linux的人生(三)ASP.NET With mono xsp(Getting Started)
- 7495
- 0
- .NETOnLinux
- 2017-07-16
美好的星期日早上繼續筆記Mono在ASP.NET程式上的支援,我們會安裝測試用的xsp server、實作一個簡單的Web Service做數學加法運算,另外就是實作ASP.NET Core目前還沒看到支援的Web Forms技術架構(...)。
[.NET][C#].NET走跳在Linux的人生(二)Mono Runtime
- 11053
- 0
- .NETOnLinux
- 2017-07-16
上一篇我們簡單用mono project網站所提供的範例,在Linux新增helloworld.cs程式碼並且編譯然後執行,上一篇可以確保mono runtime以及編譯器都有安裝正確,接下來這篇則是計畫直接把Windows環境編譯好的exe及dll(msil:byte code)放到Linux環境下執行,可以發現透過Mono CLR(Microsoft-Compatible APIs),我們可以不用重新編譯就執行.NET的執行檔。
[.NET][C#].NET走跳在Linux的人生(一)Mono
- 15733
- 0
- .NETOnLinux
隨著.NET Core 1.0在2016年的釋出,.NET工程師有更多的機會實現.NET on Linux的需求,就像魔戒中的精靈射手奧蘭多布魯, 走出精靈據點(Rivendell)還是隨便都百步穿楊射死半獸人。
[SQL Server]On Linux奇幻旅程(三) SQLCLR
- 9324
- 0
- SQLOnLinux
因為一些原因,系統內使用了少量的SQLCLR,來讓T-SQL撰寫的Script可以透過SQL函數呼叫C# Method(SqlFunction)來取得特殊環境的運算結果,來試試SQL Server SQLCLR在Linux版本環境的相容性。
[Visual Studio][擴充套件].NET Portability Analyzer
- 1183
- 0
- .NETOnLinux
由於新客戶對於作業系統的喜好(Linux)與限制(Windows),除了SQL Server On Linux測試計畫外,最近也要來試試.NET程式在Linux上執行,在微軟文件上找解決方案時找到一個好物.NET Portability Analyzer,她可以分析.NET程式碼在指定Runtime指定版本下的可移值性,同時也能給予簡單的修改建議。快來筆記簡單的專案測試。
[SQL Server]On Linux奇幻旅程(二)Windows備份、Linux還原
- 2084
- 0
- SQLOnLinux
Migrate a SQL Server database from Windows to Linux using backup and restore
[SQL Server]On Linux奇幻旅程(一)Database Engine及工具安裝
- 2843
- 0
- SQLOnLinux
由於新客戶對於作業系統的喜好(Linux)與限制(Windows),7年繞了一圈,最終還是要回Linux生態系出發,好在微軟也在2016年加入了Linux基金會,這兩三年也注意到熟悉的微軟技術有更多的跨平台支援,來筆記資料庫SQL Server On Linux的安裝設定。
Benjamin Button: You never know what's coming for you。