
简介Azure Data Studio 是微软推出的跨平台开源数据库管理工具面向数据库管理员、开发人员及数据工程师解决在 Windows、macOS 和 Linux 环境下统一管理 SQL Server、Azure SQL 数据库、SQL 数据仓库及 PostgreSQL 等多种数据服务的核心需求。本资源为官方最新版安装包ZIP 格式体积 26.45MB包含可直接解压运行的 Electron 应用主体文件无需安装即可启动使用适用于快速部署与离线环境调试。已有 2641 人学习下载体现其在实际运维与开发场景中的广泛认可。资源提供完整功能支持包括连接管理、对象资源浏览器、智能 T-SQL 编辑器含语法提示、错误诊断与格式化、高性能查询结果网格支持导出 CSV/JSON/Excel 及执行计划可视化、可定制管理仪表板以及直观的可视数据编辑器显著提升日常查询、监控与数据变更效率。1. 项目概述为什么我们需要另一个数据库工具如果你和我一样常年和数据打交道从本地SQL Server到云上的Azure SQL手边肯定少不了几个管理工具。SSMSSQL Server Management Studio无疑是经典但它那略显“厚重”的体量和纯Windows的出身在如今这个多平台、快节奏的开发运维环境下有时会让人觉得不那么“趁手”。尤其是在需要快速连接云端数据库、进行轻量级查询分析或者干脆就在Mac或Linux上工作时那种割裂感就更明显了。这时Azure Data Studio简称ADS就进入了视野。它不是来取代SSMS的而是作为一个现代化的、跨平台的补充。你可以把它理解为你数据工具箱里的一把“瑞士军刀”——轻便、锋利专注于查询、开发、笔记本和轻量级管理。我第一次接触它是因为需要在Mac上连接公司的Azure SQL数据库SSMS无计可施而ADS完美解决了这个问题。它基于开源的VS Code这意味着你立刻就能获得熟悉的界面、强大的扩展生态和流畅的跨平台体验。无论是Windows、macOS还是Linux安装包一下几分钟内就能开始工作。对于数据库开发者、数据分析师或是DevOps工程师来说ADS的核心价值在于它重新聚焦了工作流。它弱化了SSMS中那些沉重的实例级管理和配置功能转而强化了代码编写、结果集分析、版本控制集成以及用Jupyter Notebook做数据探索和分享的能力。简单说SSMS像是数据库的“控制中心”而ADS更像是数据库“开发者工作台”。接下来我们就深入拆解一下这个工具看看它到底能做什么以及如何让它成为你日常工作中的得力助手。2. 核心功能与场景定位拆解在深入配置和实操之前我们必须先厘清Azure Data Studio的定位。它不是万能的但在其设计领域内效率提升显著。理解这一点能帮助我们在正确的场景选择正确的工具避免用螺丝刀去敲钉子。2.1 跨平台数据连接与管理这是ADS最基础的立身之本。其跨平台特性并非简单的界面移植而是基于Electron框架的深度实现保证了核心连接协议和功能在不同操作系统上的一致性。连接支持范围它原生支持所有现代版本的SQL Server2012及以上版本体验最佳、Azure SQL Database单数据库、弹性池、Azure SQL Managed Instance以及已经演变为Azure Synapse Analytics的SQL DW专用SQL池。对于旧版SQL Server如2008 R2可能需要使用较旧的驱动或注意部分新功能不可用。连接协议底层主要依靠微软官方的Microsoft.Data.SqlClient驱动这是一个跨平台的.NET驱动比旧的ODBC或OLEDB方式更稳定、功能更新更及时。这也是为什么你在ADS里很少会遇到像在部分老旧应用里出现的“未在本地计算机上注册‘Microsoft.ACE.OLEDB.12.0’提供程序”这类错误——因为它不依赖那些Windows特有的组件。实际场景想象一下你团队里有同事用Windows台式机你用MacBook Pro还有一个运维同事用Ubuntu服务器。现在需要共同维护一套在Azure上的数据库。使用ADS你们三人可以使用完全相同的工具界面和操作方式分享连接配置文件和查询脚本协作障碍瞬间降低。注意虽然ADS是跨平台的但某些高级管理功能特别是与Windows操作系统深度集成的功能如某些特定于Windows的SQL Server代理作业管理、活动目录集成身份验证的某些高级配置在非Windows平台上的支持可能有限或需要通过扩展实现。对于纯粹的实例级运维SSMS on Windows仍是更全面的选择。2.2 现代化查询与开发体验如果你厌倦了SSMS中那个有时会卡顿的查询编辑器ADS带来的将是焕然一新的感觉。它的编辑器核心来自VS Code这意味着你得到了一个强大的现代化代码编辑器。智能感知与代码片段对T-SQL的智能感知IntelliSense响应迅速支持表名、列名、关键字自动补全。你可以创建自定义代码片段Snippets比如快速输入一个SELECT * FROM的模板或者一个复杂的事务处理块极大提升编码效率。多标签页与工作区可以同时打开多个查询文件并以标签页形式管理。更重要的是“工作区”概念你可以将一个项目文件夹包含.sql脚本、.ipynb笔记本、连接配置文件等作为一个工作区打开方便管理相关文件。集成终端编辑器下方直接集成了系统终端PowerShell、bash、cmd等。你可以在不离开ADS的情况下运行命令行指令例如使用sqlcmd执行脚本或用git管理版本上下文切换无缝衔接。版本控制集成内置了对Git的强力支持。可以直观地查看文件改动、进行提交、拉取和推送操作。这对于数据库脚本的版本化管理来说是革命性的让数据库开发也能融入DevOps流程。2.3 Jupyter Notebook深度集成这是ADS区别于传统数据库工具的最大亮点之一。Notebook是一种融合了代码、文本说明、可视化图表和结果的交互式文档。何为SQL Notebook在ADS中你可以创建.ipynb格式的SQL Notebook。在一个Notebook里你可以交替编写Markdown文本用于记录分析思路、步骤说明和SQL代码“单元格”。执行一个SQL单元格结果会以精美的表格形式直接显示在下方你还可以一键将结果图表化折线图、柱状图、饼图等。应用场景数据探索与分析逐步记录你的查询思路将探索性数据分析的过程和结果完整保存下来形成可复现的分析报告。知识分享与教程团队新人 onboarding 时给他一个Notebook从连接数据库到核心业务查询一步步跟着做比任何文档都直观。运维报告定期运行一个检查数据库性能、空间使用情况的Notebook结果自动生成图表报告一目了然。内核与语言ADS的Notebook主要使用SQL内核但也支持配置Python、PowerShell等内核实现更复杂的数据处理和自动化任务。2.4 可扩展的轻量级管理ADS通过“扩展”市场实现了功能的模块化增长。你可以把它看作一个核心平台需要什么功能就安装什么扩展。管理仪表板每个数据库连接在ADS中都有一个专属的仪表板Dashboard这里可以通过扩展添加各种小组件Widget例如显示数据库属性、表空间信息、最近查询等。社区和官方提供了许多扩展来丰富这个仪表板。任务与脚本生成通过右键菜单或命令面板可以快速生成常见任务的脚本如创建数据库、生成表的CREATE脚本、导出数据等。虽然不如SSMS的脚本生成器全面但对于日常开发需求足够。扩展市场这是ADS的活力之源。你可以安装扩展来获得数据库管理功能如PostgreSQL、MySQL、Redis等第三方数据库的支持需对应扩展。主题与UI美化更换编辑器主题让眼睛更舒适。开发工具如SQL Server代理扩展预览版提供基础的作业管理能力。代码检查与格式化集成TSQLint等工具规范代码风格。3. 从零开始安装、配置与核心操作了解了ADS的“为什么”和“是什么”接下来我们进入实战环节。我会带你走一遍从安装到完成第一个高效查询的全过程并穿插我踩过的一些坑和总结的技巧。3.1 跨平台安装与初始配置安装过程非常简单但有些细节值得注意。下载访问微软官方发布页面选择对应你操作系统Windows的.exe/zip macOS的.dmg/.zip Linux的.deb/.rpm/.tar.gz的安装包。建议选择“用户安装版”而非系统级安装避免权限问题。安装Windows运行.exe安装程序基本上一路“Next”即可。安装后它不会像SSMS那样在开始菜单创建一堆文件夹通常只有一个“Azure Data Studio”快捷方式。macOS打开.dmg文件将应用拖入“应用程序”文件夹。首次打开时可能会因为安全策略提示“无法打开”这时需要进入“系统设置”-“隐私与安全性”在底部允许运行即可。Linux对于Debian/Ubuntu使用sudo dpkg -i package.deb安装对于RHEL/CentOS使用sudo rpm -i package.rpm。对于tar.gz包解压后直接运行其中的azuredatastudio可执行文件。首次运行与连接启动ADS后你会看到一个非常VS Code的欢迎界面。点击侧边栏的“连接”图标或按F1打开命令面板输入Connect选择“新建连接”。在连接对话框中连接类型选择“Microsoft SQL Server”。服务器输入你的服务器地址。本地实例可以是localhost、(local)或.云上Azure SQL Database的地址格式类似your-server.database.windows.net。身份验证类型根据环境选择。本地常用“SQL登录”输入用户名如sa和密码。连接Azure时强烈推荐使用“Azure Active Directory”下的各种方式如通用MFA支持它比单纯的SQL登录更安全且避免了防火墙IP白名单的频繁变更问题。数据库可以留空连接到默认数据库或直接指定要操作的数据库名。服务器组一个很有用的功能可以将生产、测试、开发环境的服务器分类存放。点击“连接”。如果连接成功该服务器会出现在“服务器”侧边栏点击数据库名即可展开对象资源管理器虽然不如SSMS的树形结构详细但核心对象都有。实操心得在连接Azure SQL Database时如果遇到连接超时或失败十有八九是防火墙规则问题。你需要确保你的客户端公网IP地址被添加到了Azure SQL Server的防火墙规则中。在Azure门户上操作比在ADS里找设置更直观。另外对于公司网络有时需要配置代理这可以在ADS的设置Ctrl,中搜索Proxy进行配置。3.2 高效查询编辑器的使用技巧连接成功后让我们新建一个查询文件CtrlN或点击“新建查询”按钮。这个编辑器藏着不少提升效率的宝藏功能。智能感知与代码补全输入SELECT * FROM稍作停顿编辑器会列出当前数据库下的所有表和视图。选择一个表后它会继续提示列名。如果感觉提示慢可以尝试按CtrlSpace手动触发。代码片段输入sql然后按Tab会自动展开为一个基本的SQL查询模板。你可以自定义片段打开命令面板F1输入Configure User Snippets选择sql.json。例如添加一个快速查询表行数的片段Count Rows: { prefix: cnt, body: [ SELECT COUNT(*) AS RowCount FROM ${1:TableName} ], description: 快速查询表行数 }保存后在.sql文件中输入cnt并按Tab就会自动生成SELECT COUNT(*) AS RowCount FROM TableName并且光标会停留在TableName位置让你修改。多光标与列选择按住Alt键在macOS上是Option键然后用鼠标点击可以创建多个光标同时编辑多处。或者按住ShiftAlt再按上下箭头可以进行列块选择。这在批量修改字段名或添加前缀时非常有用。结果面板的妙用执行查询F5或CtrlE后结果会显示在下方面板。这里不仅仅是看数据JSON/XML查看如果结果包含JSON或XML字段点击单元格内容会弹出一个格式化的查看器比在纯文本里看舒服多了。图表化点击结果面板右上角的“图表”图标可以将结果快速可视化为图表。对于包含类别和数值的查询这个功能做快速演示非常棒。导出可以将结果导出为JSON、CSV、Excel、XML等格式。我常用CSV导出再用Excel做进一步处理。查询历史与保存所有执行过的查询语句都会自动保存在“查询历史”中可以通过命令面板View: Show Query History打开。这对于找回刚才不小心关掉的查询窗口特别有帮助。同时养成习惯随时CtrlS保存你的.sql文件配合Git进行版本管理。3.3 玩转SQL Notebook进行数据探索让我们创建一个Notebook体验一下交互式数据分析。创建Notebook点击“新建Notebook”图标或通过命令面板F1输入New Notebook。添加文本单元格Notebook默认有一个代码单元格。点击其上方的“”按钮选择“Text Cell”就插入了一个Markdown文本单元格。在这里你可以用Markdown语法写分析背景、步骤说明。例如# 销售数据分析 ## 目标 分析2023年各季度产品销售额趋势。添加SQL代码单元格再点击“”添加“Code Cell”。在单元格顶部的语言选择器里确保选择的是“SQL”。然后输入你的查询例如SELECT DATEPART(quarter, OrderDate) AS Quarter, ProductCategory, SUM(SalesAmount) AS TotalSales FROM Sales.vSalesOrders WHERE YEAR(OrderDate) 2023 GROUP BY DATEPART(quarter, OrderDate), ProductCategory ORDER BY Quarter, ProductCategory;执行与可视化点击单元格左侧的“运行”三角按钮。结果会直接显示在单元格下方。点击结果面板上的“图表”按钮选择“柱状图”将Quarter设为X轴TotalSales设为Y轴ProductCategory设为图例分组一个漂亮的季度销售趋势对比图就生成了。保存与分享Notebook文件以.ipynb格式保存。这个文件是自包含的包含了所有代码、文本和输出结果可以选择是否保存输出数据。你可以把它发给同事他用ADS打开后能看到完全一样的分析过程和结果甚至可以修改参数重新运行。注意事项Notebook中保存的输出结果尤其是大量数据可能会使文件变得很大。在“文件”-“偏好设置”-“设置”中可以搜索Notebook相关设置控制是否自动保存输出。对于最终分享的报告可以考虑清除输出后再分享.ipynb文件或者直接将其导出为PDF、HTML格式。4. 扩展生态打造你的专属数据工作台Azure Data Studio的轻量恰恰是通过强大的扩展性来弥补功能上的“专注”。官方和社区提供了丰富的扩展使其能力边界得以不断扩展。4.1 必须了解的官方核心扩展安装完ADS后我建议首先安装以下几个官方扩展它们能显著提升基础体验。SQL Server代理预览这个扩展为ADS带来了基础的SQL Server代理作业管理能力。虽然功能远不及SSMS中的代理管理器全面但可以查看作业列表、作业历史、启用/禁用作业甚至创建简单的作业步骤。对于日常轻量级运维检查已经足够。在扩展视图CtrlShiftX中搜索“SQL Server Agent”即可安装。SQL Server导入这个扩展提供了一个向导帮助你将CSV或JSON文件导入到SQL Server表中。界面直观能自动推断列数据类型对于偶尔的数据导入任务非常方便避免了手写BULK INSERT或OPENROWSET语句的麻烦。数据库管理工具扩展微软还提供了针对其他数据库的扩展如“PostgreSQL”、“MySQL”等。安装后你可以在同一个ADS界面内连接和管理这些数据库无需切换不同工具。这对于全栈开发者或需要管理多类型数据源的DBA来说是巨大的效率提升。主题与UI扩展长时间编码一个舒适的主题至关重要。搜索“Theme”你会找到很多如“One Dark Pro”、“GitHub Theme”等热门VS Code主题它们同样适用于ADS。安装后在命令面板输入Preferences: Color Theme即可切换。4.2 第三方与社区扩展探索除了官方扩展社区也贡献了许多实用的工具。SQL Server Profiler扩展虽然ADS没有内置的Profiler但有社区扩展尝试提供类似功能可以捕获和显示SQL Server的跟踪事件。注意这类扩展的稳定性和功能完整性可能不如SSMS Profiler适合轻量级性能问题排查。代码检查与格式化扩展搜索“TSQLint”或“SQL Formatter”可以安装代码风格检查工具。它们能在你编写SQL时实时提示潜在问题如未指定TOP的SELECT *并支持一键格式化混乱的SQL代码让代码更规范。如何管理扩展在扩展视图你可以查看已安装的扩展、禁用/启用、更新或卸载。对于来源不明的社区扩展安装前最好看看其更新频率、GitHub星标数和问题反馈以评估其可靠性。4.3 工作区与设置的同步如果你在多台设备上使用ADS同步你的设置、快捷键和扩展会非常省心。设置同步ADS支持通过微软账户或GitHub账户进行设置同步。在左下角点击“管理”齿轮图标选择“打开设置同步”。登录后你的主题、键盘快捷键、代码片段、UI布局等设置都会在登录了同一账户的设备间自动同步。工作区设置你可以为特定项目文件夹工作区创建专属的设置。在工作区根目录下创建一个.azuredatastudio文件夹里面可以放置自定义的代码片段文件或特定于该项目的设置文件。这在与团队协作时很有用可以统一项目内的编码规范。5. 进阶场景集成终端、Git与任务自动化ADS的“集成”特性让它不止是一个查询工具而是一个轻量级的数据库开发集成环境。5.1 集成终端的使用集成终端Ctrl或 View: Toggle Integrated Terminal让你无需离开ADS就能执行命令行操作。场景一使用sqlcmd执行脚本。当你有一个很大的.sql部署脚本时用查询编辑器执行可能不如命令行稳定。在集成终端中你可以导航到脚本目录使用类似以下的命令sqlcmd -S localhost -U sa -P your_password -d TargetDB -i deployment_script.sql -o output.log这样可以将执行过程输出到日志文件便于排查错误。场景二使用Git管理数据库脚本。这是现代数据库开发的核心实践。在终端中你可以初始化Git仓库、提交更改、推送到远程仓库。cd /path/to/your/database-scripts git add . git commit -m 添加用户表创建脚本 git push origin main场景三运行Python/PowerShell脚本处理数据。结合Notebook的Python内核你可以在终端里安装Python包或者运行一个独立的Python脚本将处理后的数据通过pyodbc或sqlalchemy写回数据库。5.2 深度集成Git进行版本控制除了终端ADS的源代码管理视图侧边栏第三个图标提供了图形化的Git操作界面。初始化与克隆你可以直接打开一个已有Git仓库的文件夹或者将当前文件夹初始化为Git仓库。变更管理所有修改过的.sql或.ipynb文件都会在这里列出。你可以清晰地看到差异Diff逐行审查代码变更。提交与推送填写提交信息选择要提交的文件一键提交。然后可以推送到远程仓库如GitHub、Azure Repos。分支管理可以在左下角的状态栏快速切换分支、创建新分支或合并分支。这为数据库脚本的“功能分支开发”模式提供了支持。实操心得对于数据库对象表、视图、存储过程的脚本我强烈建议使用“状态化”版本控制方法。即为每个对象维护一个单独的.sql创建脚本文件如CreateTable_Users.sql并将这些文件纳入Git管理。任何修改都通过修改这个脚本文件并提交来实现。避免使用“迁移脚本”方式管理所有变更除非项目非常庞大且已有成熟的迁移框架如Entity Framework Core的Migrations。对于小型到中型项目状态化脚本更直观更容易回滚到特定版本。5.3 利用任务实现自动化ADS支持定义任务Tasks用于自动化执行构建、测试、部署等脚本。任务定义在项目根目录的.azuredatastudio/tasks.json文件中。一个简单的例子定义一个任务来使用sqlpackage发布一个DACPAC数据层应用程序包{ version: 2.0.0, tasks: [ { label: 发布 DACPAC 到测试库, type: shell, command: sqlpackage, args: [ /Action:Publish, /SourceFile:${workspaceFolder}/bin/Debug/MyDatabase.dacpac, /TargetConnectionString:\Servertest-server;DatabaseMyDB;User Idsa;Password***;\, /p:DropObjectsNotInSourcetrue ], group: { kind: build, isDefault: true }, presentation: { reveal: always, panel: dedicated } } ] }定义好后按CtrlShiftP打开命令面板输入Run Task选择你定义的任务就可以一键执行数据库发布了。这对于自动化部署流程很有帮助。6. 避坑指南与常见问题排查即使工具设计得再友好在实际使用中还是会遇到各种问题。下面是我和同事们总结的一些常见“坑”及其解决方法。6.1 连接与网络问题问题连接Azure SQL Database超时或失败。排查99%的情况是防火墙问题。首先确认你在Azure门户上为你的SQL Server资源添加了正确的客户端IP地址到防火墙规则。其次检查是否使用了正确的服务器名称格式为server-name.database.windows.net和身份验证方式尝试使用“Azure Active Directory - 通用且具有MFA支持”。技巧如果IP经常变动如家庭动态IP可以考虑在Azure防火墙规则中设置一个IP范围或者更安全地使用Azure SQL Database的“虚拟网络服务终结点”和“私有链接”功能但这需要更复杂的网络配置。问题连接本地SQL Server失败提示“无法连接到服务器”。排查确认SQL Server服务正在运行在Windows服务中查看“SQL Server (MSSQLSERVER)”或对应实例名。确认已启用TCP/IP协议。使用“SQL Server配置管理器”在“SQL Server网络配置”-“XXX的协议”中确保TCP/IP已启用。确认SQL Server浏览器服务正在运行如果你使用的是命名实例而非默认实例。检查防火墙是否阻止了1433端口默认实例或动态端口。问题错误“未在本地计算机上注册‘Microsoft.ACE.OLEDB.12.0’提供程序”。说明这个错误通常出现在一些旧的、依赖OLEDB的应用程序如某些版本的SSMS导入导出向导中。Azure Data Studio本身不依赖这个组件因为它使用更新的Microsoft.Data.SqlClient驱动。如果你在ADS的扩展或任务中调用外部程序时遇到此错误那是外部程序的问题。解决方案是去微软官网下载并安装“Microsoft Access Database Engine 2010 Redistributable”或更高版本。6.2 功能与性能问题问题智能感知IntelliSense不工作或提示慢。排查确认已连接到具体的数据库而不是仅连接到服务器实例。智能感知是基于当前连接的数据库来提供元数据的。对于大型数据库首次加载智能感知元数据可能需要一些时间。可以尝试在命令面板运行CtrlShiftP输入Rebuild IntelliSense Cache来重建缓存。检查设置Ctrl,搜索SQL查看Suggestions: Enabled等设置是否打开。问题查询结果很多时ADS变得卡顿。解决默认情况下ADS可能一次性加载所有结果集到内存中显示。你可以在设置中修改行为。搜索SQL找到Max Table Row Count将其设置为一个合理的值如10000。这样结果集只会加载前N行避免内存压力。需要查看更多数据时可以点击结果面板底部的“加载更多”按钮。技巧对于真正的大数据量分析永远不要在GUI工具里执行SELECT * FROM huge_table。养成好习惯总是带上WHERE条件、合适的TOP或分页或者将分析工作移到Notebook中利用图表进行聚合查看。问题如何备份/还原数据库ADS好像没有这个功能。说明ADS的设计哲学是聚焦于开发和查询因此像完整的数据库备份/还原这种重量级管理操作确实不是它的强项。你可以通过以下方式实现使用T-SQL命令在查询窗口中直接执行BACKUP DATABASE和RESTORE DATABASE语句。这需要你具有相应的权限。使用扩展社区可能有提供备份功能的扩展但需谨慎评估。使用集成终端调用sqlcmd或SqlPackage命令行工具来执行备份还原操作。使用其他工具对于生产环境的定期备份任务应使用SSMS、维护计划或者Azure门户针对云数据库来配置和管理。6.3 扩展与兼容性问题问题安装了某个扩展后ADS启动崩溃或功能异常。解决可以尝试在安全模式下启动ADS通常通过命令行加参数如--disable-extensions如果正常则确定是扩展冲突。然后逐一禁用最近安装的扩展来定位问题扩展。进入扩展视图禁用可疑扩展然后重启ADS。问题我想管理SQL Server 2008 R2ADS支持吗说明ADS主要面向现代SQL Server版本。对于SQL Server 2008 R2这样的老旧版本连接和基本查询可能可以工作但许多新功能如某些智能感知特性、扩展的特定功能可能无法使用或表现不稳定。对于此类老旧实例的日常管理SSMS可能仍然是更可靠的选择。我个人在从SSMS全面转向ADS的过程中最大的体会是“场景化分工”。SSMS依然是我进行深度服务器配置、性能调优、安全管理和复杂运维任务的“重型基地”。而Azure Data Studio则成为了我日常开发、即席查询、数据探索、编写文档和进行轻量级跨平台管理的“随身利器”。它启动更快响应更灵敏与现代开发工具链Git、终端、Markdown的集成无缝极大地优化了我的工作流。特别是Notebook功能彻底改变了我和业务部门沟通数据问题的方式——从枯燥的邮件和截图变成了一个可交互、可复现的故事文档。如果你的大部分工作是围绕数据库的查询、开发和轻量级操作尤其是在多平台环境下那么花点时间熟悉Azure Data Studio它很可能会成为你离不开的高效伙伴。本文还有配套的精品资源点击获取