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
















































