顯示具有 資料庫 標籤的文章。 顯示所有文章
顯示具有 資料庫 標籤的文章。 顯示所有文章

2025年8月22日 星期五

如何使用SSMS Copilot AI助理

 





.NET Magazine國際中文電子雜誌
作者:
許薰尹 | 審稿:張智凱 | 文章編號:N250827602 | 出刊日期:2025/8/20


最新版的SQL Server Management Studio 21版(以下簡稱SSMS)加入了 Copilot AI 助理,與生成式AI做整合,讓資料庫的開發與管理變得更方便、更簡單、更快、更準確。

2025年7月25日 星期五

疑難排解系列-磁帶篇2

疑難排解系列又回來了!其實這方面的文章一直都在,主要是搜尋一些實務上常會遇到的問題,按照原理面一一將困難的部份解決,進而順序解決需求。
我在上課時曾經提過一個觀點,就是管理的進階就是疑難排解,而疑難排解是沒有結束的一天,只要有需求,有問題,就會有疑難排解,本期的疑難排解問題是磁帶備份時所發生的問題,讓我們繼續看下去…

SQL的稽核


很常在教 SQL課程的時候,被問到一個問題,那就是:能不能限制 SQL Server的管理者無法做哪些事情?

答案,當然是否定的,這問題就好像你問我,我希望連人事都不知道員工們的薪水一樣不合理,或是說會計與出納不要經手錢這種問題,既然不可能,那就別問了吧!

然而,我們可以利用稽核的方式,記錄管理者到底做了什麼事,就像是放台監視器在櫃台結帳處一樣,這個功能,就是本期要討論的主題:稽核。

2025年6月24日 星期二

2025年5月29日 星期四

SQL Server和 JSON資料型別


作者:楊先民  
精誠資訊/恆逸教育訓練中心資深講師


 

JSON 是種熱門的文字資料格式,用於在新式 Web 和行動應用程式中交換資料,它的全名是JavaScript Object Notation。 可用於將非結構化的資料儲存在記錄檔或是類似 Microsoft Azure Cosmos DB的 NoSQL 資料庫中。
許多 REST Web 服務會傳回已格式化為 JSON 文字的結果,或接受已格式化為 JSON 的資料。例如,大部分的 Azure 服務 (例如 Azure 搜尋服務、Azure 儲存體和 Azure Cosmos DB) 都具有傳回或取用JSON的 REST 端點。
JSON 也是用於透過 AJAX 呼叫在網頁和 Web 伺服器之間交換資料的主要格式。

2025年3月24日 星期一

微軟對 SQL Server做的最好的6件事情

 


這篇文章是轉錄自 Brent Ozar 的文章,其中記錄了6個 SQL Server有史以來最佳的6個功能,以及8個最糟的功能,來特別轉錄一下,並且說出一下我自己的看法。

SQL Server 實質上的第一版,是 SQL Server 6.5版,算是微軟從 Sybase取得完整開發權力的第一個版本,也剛好是我個人開始學習 SQL Server的第一個版本,而對台灣而言 SQL Server 6.5是開始支援雙位元版本,也就是說支援中文的字集,意義也算重大,自己的 SQL的第一張證照也是 SQL Server 6.5版。就讓我們來看一下, Brent Ozar所認為的6個有史以來最佳的功能為何吧!

作者自己都說,有些觀點可能有些人會覺得很奇怪(這我也認同),我們就來看看吧:

SQL Server 有史以來最佳的6個功能

  • 6英文查詢

    告訴你有些很奇怪。幾十年前,您可以用簡單的英語向資料庫伺服器詢問您想要什麼,然後得到結果。當微軟在 SQL Server 6.5 中推出該功能時,他們遠遠領先於時代,並最終在 2005 年將其刪除。我讚賞他們當時為了走在前沿所做的努力:他們盡了當時技術所能,我真的很感激他們沒有嘗試在 SQL Server 2025 中重新審視這一點。

    T-SQL的存在,原本就是讓使用者在不了解演算法的情況之下對資料進行處理,而 T-SQL句子已經是非常簡單了,實在沒有什麼必要再搞一個畫蛇添足的東西啊~~~
  • 5始終保持可用性組 (AG、BAG、DAG)

    當可用性組 (AG) 於 2012 年問世時,其旨在取代一大堆高可用性和災難恢復功能,每個功能都基於不同的技術並具有不同的控制。故障轉移叢集實例、資料庫鏡像、日誌傳送、雙向複製和 SAN 複製如今仍然存在,但微軟對 AG 的持續投資意味著它們可以作為許多雲端實施(包括可被管理的執行個體)的基礎。我確實希望他們能夠投入更多,使該技術更易於實施、配置和排除故障,但我仍然必須將 AG 納入此列表中。這是在正確的時間提出的正確想法,當它們問世時我真的很興奮。

    確實 AG的出來,可以帶來很多靈活的部分,不過唯一不變的是,公司還是得先設定 Cluster不可,也就是說,只要一但和 AG牽扯在一起,那麼公司設定 Cluster是勢在必行,如果能夠直接繞道 Cluser的話會更好!
  • 4SSAS、SSIS 和 SSRS

    回想起 2000 年至 2005 年 Crystal Reports 主導資料視覺化業務的時期真是令人難以置信。每個人都在各個地方使用它。它是中小型企業中事實上的標準,以至於微軟必須將 SQL Server Reporting Services 免費與您購買的 SQL Server 捆綁在一起,以保持競爭力。同樣,他們必須免費提供整合服務才能與 Informatica 等工具競爭。大約十年以來,微軟不斷對這些產品進行改進,如果你把自己的職業生涯押注於這些產品,那麼在很長一段時間內,你會做得相當不錯。如今,它們已經不再受歡迎,但是由於它們長期以來的良好表現,如果我不將它們列入這個名單,那我就是失職了。

    SSIS大概是轉型最成功的例子吧,它的前身 DTS已經是個家喻戶曉的產品,沒想到竟然無法直接升級到 SSIS,當時被罵個臭頭,如今不但名震四方,很多東西都必需和它相容,還出了雲端版的SSIS,它的成功是具大的。至於 Reporting Service也是,雖然目前微軟是主推 Power BI,那也是因為個人自助式報表的興起所導至,Reporting Service的出道直接把水晶報表打到地獄也不為過啊!
  • 3標準版和企業版功能相同

    直到大約十年前,建議開發人員使用哪些資料庫功能仍然是一件非常麻煩的事情。透明資料庫加密、分割區、資料列儲存索引、稽核、變更資料擷取和壓縮等功能僅在昂貴版本中可用。SQL Server 2016 SP1將這些功能引入標準版,讓開發人員的生活更加輕鬆。我敢打賭,這個決定經過了很多會議和爭論,但結果還是值得的。

    原作有點搞錯版本 SQL Server 2016 sp2之後開始,把一些原本企業版才有的功能下放到標準版,而企業版目前依舊能支援超過24顆以上的 cpu,標準版與企業版的差別,除了硬體的支援之外,還包括了與雲端的整合,讓有些不走雲端的公司,可以選用便宜的標準版,確實是一大福音啊!
  • 2動態管理檢視 (DMV)

    現在我們認為它們是理所當然的,但在 SQL Server 2000 中,您不能只執行 SELECT 查詢來取得資料庫伺服器的健康和效能的診斷資料。今天,我們使用簡單的語言以相同的方式存取我們的用戶資料和伺服器的元數據,選擇它,處理它以進行報告,並對其採取行動。它並不完美,但它肯定比我們以前使用的 DBCC 命令要好。

    自從 SQL Server 2005把黑盒子打開之後,確實很多資訊被顯示之後,對於效能調校來說會變的相對之下簡單了,我也覺得這個功能非常不錯。
  • 1僅對 T-SQL 進行附加更改

    您可能已經讀過這六個字七遍了,但您才剛開始了解微軟為 SQL Server 所做的最好的事情。為了真正理解這一點,請閱讀 .NET 的動盪歷史,它經歷瞭如過山車般的變化。有.NET、.NET Core、.NET Framework 4.0,又回到了普通的.NET,一路上 Windows Forms、Windows Presentation Foundation、Universal Windows Platform 也發生了巨大的變化……我什至無法形容開發人員為了繼續發布相同的應用程序,但採用了當前的最佳實踐,需要做多少工作。

    另一方面,您在 2000 年編寫的查詢今天仍然有效,僅此而已

    當然,您可能會擔心由於執行計劃的變更而導致的查詢效能,但總的來說,您可以採用完全相同的資料庫應用程序,並將其連接到越來越新的 SQL Server 版本,而無需重寫應用程式本身。沒有 T-SQL 2000、T-SQL Core 或 T-SQL Framework 4.0。已經有棄用的功能,但這些幾乎都與管理有關,而不是會影響應用程式程式碼的變更。

    這並不是說 T-SQL 停滯不前:微軟多年來一直在逐步增加新功能。並不是說所有這些增加的功能都是改進或沒有問題 - 但至少它們是不斷地添加,而不是要求應用程式進行更改以保持相同的功能水平。

    這個不就是 SQL 指令最大的好處嗎?所有和資料處理有關的程式,不需要再學習內部處理的演算法,架構和資料處理有關的,和程式邏輯確實不會有其他關係啊~~~
至於你認為的 SQL Server最佳的6個功能是什麼呢?

2025年2月5日 星期三

【Azure職人進修心得分享】如何有效學習取得Azure認證?如何應用Azure技術在工作實務中提升效益?



想了解雲端技術、想快速獲得Azure服務和解決方案的相關知識嗎?
透過微軟原廠培訓的系統化學習,不僅能為取得Azure認證做好充分準備,
也能夠更加了解如何將Azure的技術靈活應用於工作挑戰中,幫助企業優化雲端環境

2025年1月20日 星期一

SQLServer 2025新功能

 


DB World國際中文電子雜誌
作 者:楊先民
審 稿:張智凱

前言

微軟在本次的點火大會中發佈了 SQL Server 2025,本期就來簡單的介紹此次多了哪些新功能?

  • 直接從 T-SQL 呼叫 ChatGPT 等 AI 服務 – 使用 T-SQL 指令和sp_invoke_external_rest_endpoint,這點感覺相當的厲害,沒想到 TSQL指令竟然可以呼叫 ChatGPT的 API,果然之前曾經有預期 新版的 SQL Server必然與 AI有進行整合,沒想到竟然是以此種方式進行。
  • 向量搜尋、原生向量資料類型以及 DiskANN 的向量索引。
  • Fabric 鏡像 – 讓 Fabric 中的資料倉儲可以更輕鬆地擁有 OLTP 資料來源的近即時副本 – 類似於Azure SQL DB 中的工作方式

2024年11月1日 星期五

2024年9月5日 星期四

使用 Azure 實現 Microsoft SQL Server 2014 工作負載現代化

作者:楊先民  恆逸教育訓練中心資深講師


微軟為每個新版本的 Microsoft SQL Server 提供創新而感到相當的自豪。然而,總有一天產品生命週期必須結束。時間若是來到公元 2024 年 7 月 9 日,SQL Server 2014 將會結束支援。而微軟則是希望他們的客戶,已開始規劃將其SQL 工作負載遷移到Microsoft Azure 或更新到SQL Server 2022。技術加速創新。 

本篇文章將引導客戶了解在面臨 SQL Server 支援終止時刻時採用的幾種最佳實務解決方法。客戶可以透過三種選擇來處理不支援的 SQL Server 工作負載:遷移或更新至 Azure、升級至 SQL Server 2022 或取得擴充安全性更新 (ESU) 以取得額外的準備時間。 

2024年8月21日 星期三

【學長姐帶路】沒有IT背景,如何用4個月跨領域轉職程式設計師?




不要讓過去的學經歷,限制了你的夢想與未來
經驗、非本科系,也可以四個月成功轉職資訊業

2024.3月上課前,他們都沒有IT背景
2024.7月結業一個月內,他們都已成功轉職程式設計師
來看看微軟養成班學員的學習分享!

2024年7月29日 星期一

從MySQL到AI:資料庫的蛻變之路,資料庫的未來趨勢



在科技日新月異的現代社會中,資料庫技術無疑是所有資料處理和大數據儲存的基本功。隨著技術的不斷進步和業務需求的多樣化,開放原始碼資料庫以其靈活性、高效率和成本效益,逐漸成為各行各業的首選。
 
資料庫的發展歷程中,從最早的關聯型資料庫到如今的NoSQL和分散式資料庫,每一次技術革新都帶來了更高的效率和更強的應用能力。開放原始碼資料庫在這一個部分中扮演了重要的角色,不僅僅是技術發展的結果,更是技術能夠遍地開花的象徵。

2024年6月24日 星期一

手動設定可用性群組 - Azure VM 上的 SQL Server(上)


文/恆逸資深講師 楊先民
本文章是在說明如何為 Azure VM 上的 SQL Server,在單一子網路內建立 Always On 可用性群組。
整個內容會建立一個在兩部 SQL Server 執行個體上都有一份資料庫複本的可用性群組。
你也可以使用 Azure 入口網站PowerShell 或 Azure CLI,或使用 Azure 快速入門範本以自動完成這些步驟。
以下是完成這個練習的必需需求:

2024年5月22日 星期三

SQL 50 週年生日快樂!今天來談談為什麼SQL仍然占主導地位?


1974 年 5 月,Donald Chamberlin 和 Raymond Boyce 發表了一篇關於 SEQUEL 的論文,(Structured English Query Language,結構化英語查詢語言) ,並在1976年11月的《IBM研究與開發雜誌》上公布新版本的SQL(叫SEQUEL/2) 。1980年改名為SQL。

結構化查詢語言(SQL) 在 20 世紀 70 年代後期被 Oracle 等資料庫公司與其新型關係資料庫產品一起採用。SQL現已 50 歲了。

SQL是為了管理關聯性資料庫所設計,並且作為管理資料和與資料互動的方式不斷發展和發展。根據Stack Overflow的調查,目前SQL是程式設計師經常使用的第三大流行語言。 2023 年,IEEE指出,SQL 是開發人員在找工作時最受歡迎的語言,因為它可以與其他程式語言結合。
 
對於一種已經出現並且被採用幾十年的語言來說,SQL在開發人員中的聲譽褒貶不一,喜歡的很喜歡,不喜歡的不喜歡。隨著時間推移,許多其他語言來來去去的時候,我們不禁要問:為什麼 SQL 仍然被大部分開發人員使用?

普遍性和穩定性


SQL 仍然被使用的原因之一是它無所不在。對於許多開發人員來說,了解SQL是開發過程的基礎,學習SQL也能獲得更多工作機會。除了這種普遍性之外,SQL很穩定。它是開發人員可以信賴的有效標準,並且不會因版本而產生變化,這使得 SQL 更適合大型專案規劃,開發團隊可以提前規劃,當開發人員有異動的時候,SQL可以輕易地在不同開發人員之間轉移專案。

SQL不僅滿足應用程式內資料的相容性要求。如果使用 SQL 作為查詢資料元件中的資料方法,可以在需求變更時,更輕鬆地轉換為使用其他選項。例如,如果開發人員從一個資料庫切換到另一個資料庫,在使用 SQL時無需編輯應用程式邏輯,因為SQL在不同資料庫之間都是相同的。

由於 SQL 的行為就像一種標準,因此它的好處是輕鬆地轉移資料。 SQL 不會被綁定到專屬的程式語言和專屬儲存資料方式的特定資料庫,開發者可以用它做想做的事情,不會被限制住。廣義來說,開發者不再需要專門考慮資料庫以及優勢。相反地,可以將SQL中的工具視為基礎架構規劃的控制點。

舉例來說,如果執行 MySQL 資料庫,想要變更為 PostgreSQL 等別的選擇,這些資料庫的操作和管理資料的方式會有所不同。但從功能的角度來看,使用 SQL 查詢該資料會得到相同的結果。

以科學為後盾


除了SQL很受歡迎以外,從技術角度來看 SQL 所提供的功能也值得一看。SQL最大的好處是它的設計符合邏輯。這意味著,當開發者了解它的工作原理時,可以優雅而巧妙的方式使用。

研究SQL的時候,我們必須研究 SQL 和關聯式資料庫之間的聯繫。對於許多開發人員來說,SQL 與關聯式資料庫模型緊密相連,擁有很多缺點。但如果把SQL 作為一種語言,與關聯式資料庫分開,不要混和一談,情況就比較不一樣了。

如今,許多非關聯式資料庫已經採用了類別表模型和 SQL 語言。 SQL和關聯模型成為同義詞已經有很長一段時間了,隨著非關聯式資料庫的興起,界線變得更加模糊。例如,一些鍵值儲存和一些文件儲存資料庫採用了類似表的結構來組織數據,有些提供了 SQL 子集合或類似 SQL 的查詢語言以優化可訪問性,使開發人員更容易使用。

多年來,關聯模型已被證明是一種非常有效的資料庫設計模型。原因是該模型基於非常精確的數學理論。這些強大的理論基礎是關聯資料庫在電腦科學和軟體工程中仍然如此受歡迎的原因。隨著時間過去,SQL 的存取邏輯和運算能力變得更加容易,並用每個人都能理解的統一方式運作。

此外,SQL在 2016 年支援不同的 JSON 格式。多年來,想要使用JSON 的開發人員可以選擇使用以文件為導向的資料庫(例如 MongoDB)作為其資料存儲,而其他資料庫由於效能和易用性而成為次要選擇。如今,情況並非如此,因為許多關聯資料庫(例如 PostgreSQL)已經實現了 JSON 支持,對於某些工作,該支援可以與文件資料庫一樣快甚至更快。這種支援使開發人員可以更輕鬆地設計直接支援其應用程式,而不是局限於特定的方法。

最佳化的處理方式


SQL的另一個好處它是一種宣告式程式設計。宣告式程式設計的工作方式是建造電腦程式的結構和元素,表達計算的邏輯而不用描述它的控制流程,描述問題領域內目標的性質,讓電腦明白目標,而非流程。對於開發者和資料庫來說,這讓建立查詢變得更加容易,開發者可以專注於想要實現的結果,而不是將整個資料放在一起。

與任何強大的語言一樣,也有不喜歡SQL的人。大部分開發者最常抱怨的是 SQL 優化器在提高效能方面不是很有用,開發者普遍希望提高效率和反應速度,但這些工具的效果取決於一開始投入的工作準備;開發者有時會在語言編輯器方面面臨類似的問題,儘管編輯器能成功地將開發者的程式碼轉換為更小、更快的二進位文件,不過卻常常嚴重失敗,產生相反的結果。

對 SQL 的另一個常見批評是由於它與關聯式資料庫的緊密聯繫。傳統資料庫設計中如此根深蒂固的東西如何適合現代世界?但事實上,SQL和關聯式資料庫的組合如今仍在為數百個用例提供服務,提供可滿足應用程式需求的可擴展性和效能。

滿足現代開發人員的需求


隨著軟體需求、軟體開發節奏和開發人員數量的增加,SQL 面臨的挑戰是:從理論角度深入了解 SQL 運作方式的開發人員越來越少。雖然DevOps和網站可靠度工程等專注於滿足企業對 IT 服務的需求,但所涉及的角色往往涵蓋 IT 堆疊的多個部分,而不是特定的功能。

當應用程式開始大規模擴展或出現效能問題時,了解 SQL 的工作原理會非常有用。了解查詢設計,例如如何從較大的表中挑選數據,而不是多次解析同一個表中的數據,會對效能產生巨大影響。這些資料管理技能實際上取決於對資料庫理論的理解。這需要時間來理解和實務經驗。SQL可以更輕鬆地將需求從底層基礎架構中找出來,即使在資料庫選擇上有一點失誤,SQL 也可以讓您更輕鬆地轉移到更好的選擇。

整體來說,SQL 仍然受到許多開發者的歡迎,SQL也會繼續流行,因為SQL解決了如何處理資料的一些最大挑戰,當然對於某些人來說,SQL事非常糟糕的選擇,但不可置否的,我們每天都依賴 SQL 為我們提供價值的大量資訊,目前很流行的AI也是。



💪💪💪課程推薦