如何在Sql Server数据工具中运行已保存的脚本

时间:2016-02-25 14:51:04

标签: visual-studio-2015 sql-server-data-tools

我正在学习SSDT。

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

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

当我打开脚本时,顶部的工具栏丢失,我通常用它来运行脚本。

除非选择" New Query"否则我不会理解如何恢复此工具栏。这将打开带有工具栏的SQL窗口,然后将SQL复制并粘贴到新窗口中。

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

我正在使用VS15和最新的SSDT。

3 个答案:

答案 0 :(得分:4)

要理解的主要是ssdt的想法是你声明你想要数据库的方式(包括在部署前/后脚本中设置数据),然后通过做一个数据库使数据库与你的项目相同发布。

发布是:

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

这就是所谓的断开连接开发,你所谈论的是连接开发,你可以通过专门打开一个查询窗口和运行查询来完成它,但你在那里做的任何事情都有效地在ssdt之外 - 你也可以运行它们来自ssms。

有关互联发展的更多信息,请参阅:

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

(由我!)

答案 1 :(得分:2)

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

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

换句话说,添加您想要在设计时运行的脚本的正确方法是选择"添加 - >脚本 - >"然后选择"脚本(不在构建中)"。

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

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

答案 2 :(得分:0)

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

现在根据你的问题。我可能错了,但据我所知,您希望在SSDT项目脚本中运行一些查询。你可以做以下事情:

  1. 转到项目属性;
  2. 转到调试
  3. 在“目标连接字符串”
  4. 中设置与数据库的连接

    现在,在所有文件(表脚本除外)中,按CTRL + SHIFT + E可以执行SQL脚本。

    我有时会测试工作流程:

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