6

我的目标是将 SQL Server 存储过程置于源代码控制之下。我也想停止使用 SQL Server Management Studio,只使用 Visual Studio 进行 SQL 相关的开发。

我在我的解决方案中添加了一个新的 SQL Server 数据库项目。我已经成功地将我的数据库模式导入到新项目中,并且所有 SQL 对象(表、存储过程)都在它们自己的文件中。

在此处输入图像描述

我知道现在如果我(使用 F5)运行 .sql 文件,那么我的更改将应用​​于我的 .sql 文件(LocalDB)。如果没问题,但如果我想在另一台机器上快速运行某些东西(比如整个团队共享的专用 SQL Server)怎么办?如何在 Sql Server Data Tools 编辑器中更改当前 .sql 文件的连接字符串

我有适用于 Visual Studio 2012 的最新版本的 Sql Server Data Tools 扩展(SQL Server Data Tools 11.1.31203.1)。我不知道这是否与当前版本有关,但我再也找不到 Transact-SQL 编辑器工具栏了。

我也试过右键单击 sql 编辑器,选择 Connection -> Disconnect。如果我执行相反的操作(连接 -> 连接...),编辑器会直接自动连接(可能连接到我的 LocalDB),而不会询问我一个对话框来选择我的连接。

我观察到的另一件奇怪的事情是,如果我尝试运行一个简单的 SQL 查询(就像select * from dbo.ApplicationUser我收到以下消息(即使自动完成工作): 在此处输入图像描述

谢谢。

(注意:我对 Visual Studio 2013 也有同样的问题)

4

3 回答 3

4

受 srutzky 评论的启发,我安装了最新的 SSDT 包 (12.0.41025)。和宾果游戏一样,srutzky 说有一个更改连接选项。但是更重要的是,您可以通过右键单击解决方案资源管理器中的项目,然后转到属性->调试并更改目标连接字符串来指定您的目标数据库!如果您卡在较旧的 SSDT 上,则以下说明仍然有效。


对于 SSDT 12.0.3- 我也一直被这个问题所困扰!我的解决方案如下,但它有一些优点和缺点......

解决方案

  1. 我假设您在 VS 中使用 SQL Server 项目(我使用的是 VS2013 和 SQL Server 2012)。
  2. 在解决方案资源管理器中右键单击您的 .sql 文件并查看属性。
  3. 将构建操作更改为无。
  4. 如果文件已打开以进行编辑,则将其关闭。
  5. 重新打开文件,T-SQL 编辑器应该出现在顶部。
  6. 单击连接,您将连接到您的 (localdb)。
  7. 单击断开连接。
  8. 再次单击连接,将出现 SQL Server 连接对话框。
  9. 将 '(localdb)\Whatever' 的连接字符串切换为 '.' (出于某种原因,使用 '(localhost)' 对我不起作用)。

瞧,您现在应该可以查询您的 SQL Server 数据库了!冲洗并重复您想要此功能的每个文件......:/

优点

  • 您终于可以直接针对您的 SQL Server 数据库运行查询了
  • 您的代码可以组织在一个不错的 VS 解决方案中(SSMS 不允许文件夹!:/)
  • 您可以(在切换回构建操作设置后)构建项目

缺点

  • 我没有看到针对远程数据库的任何自动完成/智能感知,尽管如果你导入你的数据库,那么你可以从中获得智能感知
  • 要求每个文件将 Build Action 切换为 None
于 2015-01-27T14:10:43.517 回答
2

This should be a fairly simple and straight-forward thing to do, that is, if you are using SSDT version 12.0.41025.0 (or newer, one would suppose):

  1. Do either:
    1. Go to the SQL menu at the top of the Visual Studio window
    2. Right-click inside of the SQL editor tab
  2. Go to Connection ->
  3. Select Change Connection

Then it will display the "Connect to Server" modal dialog window.

If you do not see the options for "Disconnect All Queries" and "Change Connection...", then you need to upgrade your SSDT via either:

于 2015-01-27T16:28:20.787 回答
-1

实现这一点的最快方法是创建一个新的 SQL 连接,复制并粘贴代码然后执行。

我所做的是工具-> SQL Server-> 新查询。输入数据库凭据(并确保顶部的数据库是正确的 - 我在本地的主数据库中有数百个 sp :))

从编辑器中复制源代码,粘贴到新的查询窗口中。然后执行 (CRTL-Shift-E)。您可以将此“临时”窗口保持打开并固定,以便后续执行轻松访问。

如果要部署(即发布)整个数据库,则可以为每个服务器设置发布目标,右键单击 xml 并选择发布..

于 2014-03-26T10:13:58.430 回答