适用于 Mac、iPhone和iPad 的 SQL Server 客户端
逐批次运行 T-SQL 脚本,按 SQL Server Management Studio 的方式处理 GO 和 PRINT,并使用 SQL Server 登录、Kerberos 或 Microsoft Entra ID 工作账户认证。Windows、Linux、Docker 服务器及 Azure SQL Database 均以相同方式连接。
适用于 Mac、iPhone和iPad首次选择 SQL Server 时下载驱动


概览
- 查询语言
- SQL
- 驱动
- 首次使用时下载
- 连接方式
- 主机和端口, SSH 隧道, SSL/TLS, Cloud SQL Auth Proxy
- 默认端口
- 1433
- 最低版本
- 2012,文档所述
- iPhone 和 iPad
- 可打开
连接
提供主机和 TCP 端口,再选择 Authentication,表单会随之调整:SQL Server 用户密码、Kerberos Windows Authentication 或 Microsoft Entra ID。属于单个数据库的登录,例如 Azure SQL contained user,还需填写 Database。
Kerberos 使用凭据缓存中的现有票据,或根据输入的主体和密码请求票据。票据为服务器注册的 SPN 签发,因此请用主机名而非 IP 连接。TablePro 从不运行 kinit 或编辑 /etc/krb5.conf。
Microsoft Entra ID 使用设备代码流程登录,遵循多因素认证和 Conditional Access。需在 Azure 注册应用并填写客户端 ID;令牌保存在登录钥匙串中,标记为仅限此设备,并在后台刷新。
新连接默认为 Preferred,在 SQL Server 上仅加密登录。要加密整个会话,请选 Required 或更严格级别;Verify CA、Verify Identity 使用 macOS 系统根证书验证。TablePro 也可为 Google Cloud SQL 运行 Cloud SQL Auth Proxy,并通过 SSH 隧道访问私有网络服务器。
脚本、批次和编辑
脚本按仅含 GO 的行分隔,像 sqlcmd 一样逐批次发送服务器;GO 5 将前一批次运行五次。每个结果集在独立标签页打开,PRINT 输出和信息消息显示在 Output 视图。
若失败需回滚之前的批次,请在脚本加入 BEGIN TRAN 和 COMMIT;脚本留下未结束事务时会在结尾提示。运行在首个失败批次停止,错误指出编辑器中的行号。
每个会话以筛选索引、索引视图和计算列索引所需的 SET 选项打开,例如启用 ANSI_NULLS 和 QUOTED_IDENTIFIER。因此 col = NULL 不匹配任何记录,请用 IS NULL 比较。
表在侧栏 schema 下嵌套显示,Cmd+K 无需重新连接即可切换数据库。行编辑暂存并提供 Preview SQL,新行的 IDENTITY 列交给服务器生成,nvarchar(max) 值完整读取。
结构
Structure 标签页 暂存列、索引、外键和约束的修改,在执行前显示 T-SQL。可从侧栏删除 schema,但 SQL Server 拒绝删除仍含对象的 schema;创建请在编辑器使用 CREATE SCHEMA。
Starter 方案中的 Compare & Sync 对比两个 SQL Server schema 或数据,保存每条语句后附 GO 行的脚本,可直接用于 sqlcmd 或 SQL Server Management Studio。
监控和备份
Server Dashboard 显示用户会话、运行时间和数据库大小,列出所有其他会话及运行超过一秒的查询,并通过 Terminate Session 终止会话。SQL Server 不提供 Cancel Query。
Backup Dump 使用从 Microsoft 下载的 sqlpackage 写入 .bacpac,Restore Dump 载入空数据库。SqlPackage 仅在命令行接收密码,Mac 上其他进程可以读取,因此 TablePro 会在启动前询问。Windows 或 Entra 认证无需传递密码。
移动数据
导入 CSV、TSV、JSON、JSONL、XLSX和SQL 文件。含 GO 行的 .sql 文件像 sqlcmd 一样逐批次运行。表或结果导出为 CSV、JSON、SQL、XLSX、Markdown、HTML和XML;SQL 导出在每条语句后加 GO 行,使其各自作为独立批次运行。
iPhone 和 iPad
iPhone 和 iPad 应用创建连接时可选择 SQL Server,应用直接连接。
iPhone 和 iPad 上可通过 SQL Server 登录,按卡片浏览表、编辑有主键的行,并在 Query 标签页运行 T-SQL。不提供 Windows Authentication。Microsoft Entra ID 连接需通过 iCloud Sync 或导出的连接文件从 Mac 导入,打开时登录 Microsoft。
限制
- 不支持命名实例。请连接实例的 TCP 端口。
- 不支持 NTLM。请使用 SQL Server 登录、Kerberos 或 Microsoft Entra ID。
- SQL Server 没有 EXPLAIN 或执行计划视图。
- 脚本与 SQL Server Management Studio 一样,在 TablePro 开启的事务之外运行,因此出错前已执行的语句仍保持生效。
- iPhone 和 iPad 上可要求 TLS,但不验证服务器证书。
其他工具
SQL Server Management Studio
版本 22.10.2,发布于 2026年9月28日免费闭源平台:Windows
SQL Server Management Studio 是 Microsoft 自有 SQL Server、Azure SQL 工具。SQL Server Agent 作业、Always On 可用性组、实时查询统计及性能调优等 TablePro 未涵盖的管理任务可选用它。 SQL Server Management Studio 的 GitHub Copilot 是通过 Visual Studio Installer 添加的独立组件。
来源: SQL Server Management Studio FAQ, SQL Server Management Studio 22 release notes
Azure Data Studio
开源(MIT)
Azure Data Studio 已停止维护,最终版本 1.52 于 2025年6月18日 发布。 Azure Data Studio 曾是 Microsoft 的 SQL Server、Azure SQL 查询编辑器,提供 SQL Server Agent、Profiler 等任务扩展。 Microsoft 已将其退役,不再提供更新或安全修复,并引导用户使用 Visual Studio Code 的 MSSQL 扩展,可无需转换打开相同查询、脚本和数据库项目。
来源: What's happening with Azure Data Studio, Azure Data Studio release notes, Azure Data Studio repository (archived)
其他工具的信息核实于 2026年10月2日。
关于 SQL Server 的问题
支持 Azure SQL Database 吗?
支持。主机使用 yourserver.database.windows.net,SSL 设为 Required 或更严格级别,通过 SQL 登录或 Microsoft Entra ID 认证。contained user 还需填写 Database。
为什么脚本报错“Must declare the scalar variable”?
读取变量的语句与其 DECLARE 在不同批次运行:两者间有 GO 行,或 Cmd+Enter 仅运行了光标所在语句。请选择两条语句或运行整个脚本。
需要 FreeTDS 或 ODBC 驱动吗?
不需要。驱动基于 FreeTDS 并内置它,无需其他安装,也不读取自有 freetds.conf。仅 Backup Dump、Restore Dump 需要自有工具 sqlpackage。
获取 TablePro
需要 macOS 13 Ventura 或更新版本