如何 运行 在 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 项目脚本中进行一些查询。您可以执行以下操作:
- 转到项目属性;
- 去调试
- 在 "Target Connection String"
中设置与数据库的连接
现在,在您的所有文件中(table 脚本除外),您可以通过按 CTRL+SHIFT+E 来执行 SQL 脚本。
我有时做的测试工作流程:
- 打开项目中的存储过程文件
- 将 CREATE 更改为 ALTER
- 现在它突出显示文件中有错误并且构建失败,但您可以继续工作并直接执行到数据库
- 一旦您完成从 ALTER 更改回 CREATE 并保存文件
刚开始学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 项目脚本中进行一些查询。您可以执行以下操作:
- 转到项目属性;
- 去调试
- 在 "Target Connection String" 中设置与数据库的连接
现在,在您的所有文件中(table 脚本除外),您可以通过按 CTRL+SHIFT+E 来执行 SQL 脚本。
我有时做的测试工作流程:
- 打开项目中的存储过程文件
- 将 CREATE 更改为 ALTER
- 现在它突出显示文件中有错误并且构建失败,但您可以继续工作并直接执行到数据库
- 一旦您完成从 ALTER 更改回 CREATE 并保存文件