微软发布了预览版跨平台数据库开发工具SQL Operations Studio(SqlOps)。
该工具是Visual Studio Code的一个分支,可以运行在Windows、MacOS和Linux上。因为SQL Server 2017可以同时运行在Linux和Docker上,所以需要这样的一个工具来简化跨平台开发。虽然VS Code已经有一个SQL扩展(vscode-mssql),但因为微软的SQL Server Management Studio是运行在Windows上的,所以在非Windows环境里开发SQL Server相关应用比较麻烦。
微软并不打算弃用SSMS,“因为微软的目标是为用户提供更多的选择,让用户可以根据具体场景选择合适自己平台的工具”。
SQL Operations Studio目前只支持SQL Server、Azure SQL和Azure SQL Data Warehouse。微软目前没有计划提供JDBC支持,不过开发者可以扩展该工具,用于支持其他数据库平台。
SqlOps提供了一些重要特性,包括T-SQL编辑器,该编辑器支持自动完成和错误检查,提供了一个健壮的查询结果视图,可以将结果导出到CSV或Excel(图形化的查询计划视图),还支持直接手动插入、修改、删除表记录。SqlOps还集成了一个对象浏览器,开发者可以通过它查看SQL Server和表信息、视图、存储过程等。
从OPS角度来看,DMO查询结果可以展示成图表的形式,也可以添加到自定义仪表盘上,尽管这样做有点繁琐。
其他的跨平台数据库工具(如Dbeaver和JetBrains DataGrip)可以支持更多种类的数据库,但不管哪一种工具都不是银弹。DataGrip不是免费的,Dbeaver需要预先安装Java。而对于使用微软数据库的开发者来说,SqlOps才是首选。
SqlOps和mssql VS Code扩展均使用了最新的SQL Tools API服务,该服务使用了SQL Management API的一个子集。SQL Tools API服务其实就是VS Code语言服务器,为VS Code提供了语言验证和错误检测功能。
SQL Operations Studio托管在GitHub上,目前还处于公开预览版状态,后面还有很长一段路要走。人们已经在GitHub仓库中提了很多建议,所以该工具的开发团队在未来几年有很多事情要做。或许现在还不能完全撇开SSMS,但对于一些简单的场景,使用SQL Operations Studio或许更加合适。