Skip to content

SQL Prompt 安装与激活指南 ​

1. 工具简介 ​

SQL Prompt 是 Red Gate 公司出品的一款 SQL Server Management Studio (SSMS) 和 Visual Studio 插件。它是 SQL 开发者的必备神器,能显著提升编码效率和代码质量。

核心功能:

  • 智能代码补全:根据上下文自动提示表名、列名、关键字,支持模糊匹配(如输入 c 提示 Customer)。
  • SQL 格式化:一键美化混乱的 SQL 代码,统一团队代码风格。
  • 代码片段 (Snippets):快速插入常用的 SQL 语句结构(如输入 ssf 展开为 SELECT * FROM)。
  • 智能重构:安全地重命名对象、拆分表、封装存储过程。
  • 分析功能:查找未使用的变量、无效的对象引用等。

2. 下载资源 ​

  • 官方下载:SQL Prompt Download
  • 版本说明:本指南适用于 SQL Prompt 10.x 版本。建议使用最新版以支持最新的 SSMS。

3. 安装步骤 ​

  1. 关闭宿主程序:安装前请务必关闭 SSMS 和 Visual Studio。
  2. 运行安装包:双击 SQLPromptDownload.exe。
  3. 选择组件:
    • 在安装向导中,通常只需勾选 SQL Prompt。
    • 如果你需要源码控制或数据对比工具,也可以勾选其他 Red Gate 组件(如 SQL Source Control)。
  4. 完成安装:等待安装进度条完成。

4. 激活流程 (离线激活) ​

由于网络环境或授权策略原因,可能需要使用离线方式进行激活。

4.1 修改 Hosts 文件 ​

为了防止软件自动连接验证服务器导致激活失效,需要屏蔽 Red Gate 的相关域名。

  1. 定位 Hosts 文件:
    • 路径:C:\Windows\System32\drivers\etc\hosts
  2. 以管理员身份修改:
    • 将 hosts 文件复制到桌面。
    • 用记事本打开。
    • 在文件末尾添加以下内容:
      text
      127.0.0.1 red-gate.com
      127.0.0.1 www.red-gate.com
      127.0.0.1 licensing.red-gate.com
      127.0.0.1 productlogin.red-gate.com
    • 保存并覆盖回原目录 C:\Windows\System32\drivers\etc\。

4.2 执行激活 ​

  1. 打开 SSMS:启动 SQL Server Management Studio。
  2. 进入激活界面:
    • 在菜单栏找到 SQL Prompt -> Help -> Manage License / Enter Serial Number。
  3. 生成序列号:
    • 运行注册机 SQL.Prompt.Keygen.exe (注意安全软件可能会误报,请添加信任)。
    • 生成一个新的序列号 (Serial Number)。
    • 将序列号填入 SQL Prompt 的激活窗口,点击 Activate。
  4. 离线激活模式:
    • 由于修改了 Hosts,软件会提示连接失败。
    • 此时会出现 "Activate Manually" (手动激活) 按钮,点击它。
  5. 交换激活码:
    • 在手动激活窗口左侧,会显示一段 XML 格式的 Request Code。
    • 复制这段代码,粘贴到注册机的中间文本框中。
    • 点击注册机上的 Generate 按钮。
    • 注册机底部会生成一段 Response Code。
    • 将 Response Code 复制回 SQL Prompt 的右侧文本框。
  6. 完成:点击 Finish,提示激活成功。

5. 核心功能快速上手 ​

5.1 代码格式化 (Format SQL) ​

  • 快捷键:Ctrl + K, Ctrl + Y
  • 自定义样式:菜单栏 SQL Prompt -> Options -> Format -> Styles。你可以创建符合团队规范的样式(如关键字大写、逗号前置/后置)。

5.2 使用 Snippets (代码片段) ​

SQL Prompt 内置了大量实用的 Snippets:

  • ssf -> SELECT * FROM
  • ss -> SELECT
  • ii -> INSERT INTO
  • ct -> CREATE TABLE
  • 自定义 Snippet:在 Options -> Snippets 中可以添加自己的常用语句。例如,创建一个 top10 片段:
    sql
    SELECT TOP 10 * FROM $CURSOR$

5.3 智能提示技巧 ​

  • 别名自动补全:输入 SELECT * FROM Customers c 后,输入 c. 会自动提示列名。
  • Expand Wildcards:将鼠标悬停在 SELECT * 的 * 上,会出现一个黄色灯泡,点击(或按 Tab)可以将 * 展开为所有列名,避免在生产环境中使用 SELECT *。

5.4 智能重构 (Smart Refactoring) ​

SQL Prompt 提供的重构功能比 SSMS 自带的更强大且安全:

  • Smart Rename (智能重命名):
    • 按 F2 重命名表、列或存储过程。
    • 亮点:它会自动生成一个脚本,不仅修改对象定义,还会更新所有引用该对象的存储过程、视图和触发器,确保依赖关系不被破坏。
  • Split Table (拆分表):
    • 将一张大表拆分为两个关联表,自动处理外键和数据迁移。
  • Encapsulate as New Stored Procedure (封装为新存储过程):
    • 选中一段 SQL 代码,右键选择 Refactor -> Encapsulate as New Stored Procedure,快速将其提取为独立的 SP。

5.5 执行计划分析与查找未使用对象 ​

  • Find Unused Variables/Parameters:
    • 在查询窗口中,未使用的变量会有绿色波浪线提示,帮助清理冗余代码。
  • Summarize Script:
    • 对于几千行的长脚本,点击 SQL Prompt 菜单下的 Summarize Script,可以生成一份可视化的执行流程图,帮助理解逻辑。

6. 常见问题 ​

  • 菜单栏没有 SQL Prompt:
    • 可能是安装时未关闭 SSMS。尝试重新运行安装程序并选择 "Repair"。
    • 检查 SSMS 的 "Tools" -> "Extensions" 是否禁用了插件。
  • 智能提示不显示:
    • 首次连接数据库时需要加载缓存,请稍候。
    • 尝试 Ctrl + Shift + R 刷新本地缓存 (Refresh Suggestions)。
  • 许可证过期:
    • 重新执行激活步骤,生成新的 Key。

参考资料 ​

方舟 · Ark