如何 运行 在 Sql 服务器数据工具中保存脚本

How to run saved script in Sql Server Data Tools

刚开始学SSDT

我连接到一个数据库,写了一些SQL,然后将它作为项目的一部分保存到一个文件中。一切正常。

但现在我想打开 运行 脚本。

当我打开脚本时,我通常 运行 脚本使用的顶部工具栏不见了。

我不明白如何找回这个工具栏,除非选择 "New Query",它会打开带有工具栏的 SQL window,然后复制并粘贴 SQL进入新的window.

似乎编辑器会自动调出工具栏。

我正在使用带有最新 SSDT 的 VS15。

主要要理解的是,ssdt 的思想是你声明你想要数据库的样子(包括在 pre/post 部署脚本中设置数据),然后使数据库与你的数据库相同通过发布项目。

发布是:

  • 构建生成 dacpac 的项目
  • 使用 sqlpackage.exe(或 api)将 dacpac 与数据库进行比较,并为您生成脚本 运行(ssms、sqlcmd 等)或更新数据库给你。

这就是所谓的断开连接开发,你说的是连接开发,你可以通过专门打开一个查询window和运行ning查询来实现,但是你在那里做的任何事情都是有效的在 ssdt 之外 - 你也可以从 ssms 中 运行 宁他们。

有关连接开发的更多信息,请参阅:

https://www.simple-talk.com/sql/sql-tools/connected-development-with-sql-server-data-tools/

(我的!)

编辑

很偶然,我找到了这个问题的答案:

要显示工具栏,请将生成操作设置为 "None"。然后它将使用工具栏打开编辑器。

换句话说,在设计时添加您想要 运行 的脚本的正确方法是 select "Add -> Script ->" 然后 select "Script (Not in build)".

然后它将以预期的工具栏打开。

如果包含在构建中,工具栏将不会显示。我猜这是设计使然,因为非构建脚本在设计时通常是 运行。

您必须了解 SSDT 的工作原理。这里使用的是模型,模型与数据库无关。

现在根据你的问题。我可能是错的,但据我了解,您想 运行 在您的 SSDT 项目脚本中进行一些查询。您可以执行以下操作:

  1. 转到项目属性;
  2. 去调试
  3. 在 "Target Connection String"
  4. 中设置与数据库的连接

现在,在您的所有文件中(table 脚本除外),您可以通过按 CTRL+SHIFT+E 来执行 SQL 脚本。

我有时做的测试工作流程:

  1. 打开项目中的存储过程文件
  2. 将 CREATE 更改为 ALTER
  3. 现在它突出显示文件中有错误并且构建失败,但您可以继续工作并直接执行到数据库
  4. 一旦您完成从 ALTER 更改回 CREATE 并保存文件