適用于數(shù)據(jù)庫開發(fā)和管理的優(yōu)秀SQL Server工具
對于SQL數(shù)據(jù)庫開發(fā)者和數(shù)據(jù)庫管理員(DBA)們來說,必須要有趁手的SQL工具,不僅可以大大減少功能的開發(fā)時間,而且對于DBA來說,擁有監(jiān)控工具也很重要。
今天一起看看適用于SQL Server開發(fā)和監(jiān)控的工具,以下是清單,隨后進行詳細(xì)介紹。
- SQL Server Management Studio
- dbForge SQL工具
- Visual Studio和Visual Studio Code
- dbForge Studio for SQL Server(有需要的話)
- Notepad ++
- DBeaver
- ApexSQL Developer和DBA工具
- RedGate SQL工具集
- Spotlight on SQL Server and Foglight for SQL Server
- Zabbix
- Prometheus
SQL Server Management Studio
免費的SSMS有一個便捷的注冊服務(wù)器功能,它使你可以添加必要的SQL Server實例并對其進行分組:
圖:SSMS注冊服務(wù)器
還可以創(chuàng)建子組,以將請求發(fā)送到給定的組或子組,或發(fā)送到某個已注冊的配置服務(wù)器,以上傳已注冊的配置服務(wù)器,在所有開發(fā)人員之間進一步導(dǎo)入,以進行測試和管理。
注意進行多重編輯的可能性也很重要:
圖:SSMS中的多種編輯可能性
在SSMS中,還可以通過數(shù)據(jù)庫圖管理代理和設(shè)計數(shù)據(jù)庫。但是后者不是非常友好。
而且,在SSMS中,還可以使用Activity Monitor查看活動查詢,但是通常,監(jiān)控數(shù)據(jù)庫和數(shù)據(jù)庫服務(wù)器不是最佳選擇。
另外,要監(jiān)控性能,可以在SSMS中使用Profiler和Extended事件。
SSMS中還有很多其他功能,其中包括:數(shù)據(jù)導(dǎo)入導(dǎo)出,績效報告,數(shù)據(jù)庫引擎日志傳送配置和監(jiān)控,配置和監(jiān)控AlwaysOn可用性組,配置和監(jiān)控查詢存儲等等。
dbForge SQL工具
dbForge SQL工具是用于SQL Server的多功能工具箱。這些工具對于任何SQL Server開發(fā)者都有幫助,因為它們已集成到SSMS中,并可視功能多少對其進行了擴展,從而可以執(zhí)行許多例行任務(wù)。在dbForge DevOps Automation的幫助下,SQL工具可用于自動化開發(fā)和部署數(shù)據(jù)庫。軟件包中包括:
- SQL Complete是功能最強大的加載項之一,用于在SSMS和VS中編寫和格式化SQL查詢。該實用程序不僅具有SQL代碼IntelliSense的功能,格式化和重構(gòu)的功能,而且還具有大量簡化代碼編寫,格式化和重構(gòu)的有用功能。此加載項還與Visual Studio集成在一起,這特別方便。
- Source Control是一個功能強大的SSMS插件,用于通過所有流行的Source Control系統(tǒng)管理SQL Server數(shù)據(jù)庫更改。
- Unit Test是用于SSMS中單元自動化的便捷GUI。
- Schema Compare和Data Compare
- Data Generator一個出色的數(shù)據(jù)生成器,用于生成SQL Server測試數(shù)據(jù)。
- Documenter
- Data Pump為你提供方便的數(shù)據(jù)導(dǎo)出/導(dǎo)入功能。
- Index Manager用于索引優(yōu)化。
- Query Builder,用戶可以直觀地構(gòu)建任何復(fù)雜的SQL查詢。
- Search是用于快速搜索數(shù)據(jù)庫中的對象和數(shù)據(jù)。
- Monitor for SQL Server具有基本的必需功能。
- Event Profiler
- SQL Decryptor
圖:dbForge SQL工具中的SQL Complete
圖:dbForge SQL工具中的Unit Test
圖:dbForge SQL工具中的數(shù)據(jù)庫上下文菜單
除此之外,該軟件包還包括dbForge DevOps Automation,該功能可讓SQL Server實施全面的數(shù)據(jù)庫連續(xù)集成過程。用戶可以獲得用于數(shù)據(jù)庫DevOps的全套工具。
經(jīng)驗證明,購買軟件包將能夠大大降低工具使用的成本。
Visual Studio和Visual Studio Code
與SSMS緊密結(jié)合的是功能強大的Visual Studio編輯器,用于SQL Server數(shù)據(jù)庫項目以及其他類型的數(shù)據(jù)庫和T-SQL腳本項目:
圖:Visual Studio
Visual Studio通常用于以下主要功能:查看和編輯代碼以及整個數(shù)據(jù)庫,比較數(shù)據(jù)庫架構(gòu)和數(shù)據(jù),并在必要時對架構(gòu)進行更改;數(shù)據(jù)庫架構(gòu)導(dǎo)出和導(dǎo)入;
SSMS和Visual Studio的主要缺點如下:它們沒有開發(fā),測試和管理的所有必需功能;而且,某些功能(即使存在)也不允許執(zhí)行所有必需的任務(wù),并且過程本身非常耗時。
還有Visual Studio Code,它是Visual Studio的跨平臺工具,并且僅具有部分功能。
圖:Visual Studio Code
dbForge Studio for SQL Server
dbForge Studio for SQL Server是SSMS的替代方案,它可以補充和擴展它。最重要的是,該編輯器實現(xiàn)了以下重要功能:數(shù)據(jù)庫記錄器,數(shù)據(jù)庫架構(gòu)比較和數(shù)據(jù)庫數(shù)據(jù)比較,代碼格式化,源代碼控制,數(shù)據(jù)庫設(shè)計,備份還原,調(diào)試器,查詢分析器,智能感知等。
圖:dbForge Studio for SQL Server
但目前dbForge Studio for SQL Server不支持多重編輯。
Notepad ++
一個很棒的簡化和免費的編輯器,可以使用它來查看和編輯T-SQL腳本。該編輯器支持多種編程語言。
圖:Notepad ++
當(dāng)T-SQL查詢太大且具有成千上萬的代碼行時,此編輯器特別方便,Notepad ++有多種擴展,最常用的擴展是SQL代碼比較和格式設(shè)置。
Notepad ++主要用于讀取和編輯文件的內(nèi)容,還用于搜索文件中的片段并比較文件的內(nèi)容。
DBeaver
另外一個免費的編輯器,也有付費版本。該編輯器還具有一些有用的功能,例如:代碼格式化,數(shù)據(jù)庫設(shè)計,打開儀表板等。
圖:DBeaver
但是,DBeaver不支持多編輯功能以及其他一些用于開發(fā),測試和管理的有用功能。
ApexSQL Developer和DBA工具
現(xiàn)在讓我們看一下SSMS和Visual Studio中插入的ApexSQL Developer工具和ApexSQL DBA工具:
圖:ApexSQL Developer和DBA工具
圖:Apex數(shù)據(jù)庫上下文菜單
ApexSQL Developer工用于開發(fā)和測試。除其他外,它提供以下功能:數(shù)據(jù)庫架構(gòu)和數(shù)據(jù)比較,SQL代碼格式,綜合測試數(shù)據(jù)生成,數(shù)據(jù)庫設(shè)計,連接到流行的版本控制系統(tǒng),搜索對象和數(shù)據(jù)等。
ApexSQL DBA工具設(shè)計用于SQL Server管理。除其他功能外,它還提供以下功能:索引優(yōu)化,備份與還原,讀取交易記錄。
ApexSQL Developer和DBA工具以及dbForge SQL工具一起使我們能夠完全實現(xiàn)連續(xù)的集成和交付過程,并組織CI/CD管道。
RedGate SQL工具集
RedGate SQL工具集能夠開發(fā),測試和管理數(shù)據(jù)庫。此外,還提供以下功能:模式和數(shù)據(jù)庫數(shù)據(jù)的比較,SQL Server監(jiān)控,搜索,備份,持續(xù)集成和自動部署SQL Server數(shù)據(jù)庫,數(shù)據(jù)生成器等等功能。
圖:RedGate菜單欄
圖:RedGate的上下文菜單
圖:RedGate主菜單中的SQL Prompt
RedGate是所有提到的工具中最貴的,并且具有廣泛的功能,但是如dbForge SQL工具,ApexSQL Developer和DBA工具之類的競爭產(chǎn)品正在不斷改進,并且向其中添加了新功能。以上工具已經(jīng)與RedGate處于同一水平,甚至在某些情況下甚至優(yōu)于RedGate,但它們卻便宜得多。
Spotlight on SQL Server和Foglight for SQL Server
Spotlight on SQL Server有用于監(jiān)控數(shù)據(jù)庫服務(wù)器的相當(dāng)豐富的功能,如收集服務(wù)器和每個數(shù)據(jù)庫的基本特征,為每個性能指標(biāo)微調(diào)警報,用于性能指標(biāo)和警報的幾個現(xiàn)成的模板,創(chuàng)建用戶績效指標(biāo)的可能性,許多方便的可視報告包括數(shù)據(jù)庫增長率報告。在總性能持續(xù)時間,CPU性能以及記錄,物理和邏輯讀取的數(shù)量的上下文中收集和分析大量查詢及其性能計劃等。
Spotlight on SQL Server等更高級解決方案是Foglight for SQL Server。
圖:Spotlight on SQL Server
圖:Foglight for SQL Server
Zabbix
Zabbix提供了廣泛的性能指標(biāo)及其觸發(fā)因素,以及針對它們的模板,不同的圖形,儀表板和多種功能,其中大多數(shù)功能都可以自定義。
與Spotlight on SQL Server不同,Zabbix無法在特定時間顯示查詢。但是Zabbix是一個開源解決方案,不僅可以監(jiān)控數(shù)據(jù)庫服務(wù)器,還可以用于網(wǎng)絡(luò)性能和應(yīng)用性能的監(jiān)控。
圖:Zabbix
Prometheus
Prometheus通常與Grafana的客戶端一起使用。Grafana也可以用于Zabbix,但是后者具有內(nèi)置的可自定義客戶端側(cè)視圖,以儀表盤和圖形的形式顯示結(jié)果。
圖:Grafana和Prometheus
Prometheus和Zabbix可以很好地用于SQL Server監(jiān)控,它們完全滿足了監(jiān)控數(shù)據(jù)庫和服務(wù)器的需求,而沒有按時間順序提供查詢的詳細(xì)信息。Zabbix可以在不使用Grafana的情況下使用,因此可以比其他解決方案更快地部署和設(shè)置。但是,Prometheus比Zabbix更具模塊化和可擴展性。