【问题标题】:SQL proxy/alias for SQL Server ExpressSQL Server Express 的 SQL 代理/别名
【发布时间】:2019-01-14 20:08:42
【问题描述】:

我找不到我需要的东西,或者我不知道要搜索什么。因为我们是一个大型团队,在我们的本地人中有不同的设置,如果有可能以某种方式强制连接字符串在我们的本地人中保持不变。

示例:在配置文件中

<connectionStrings>
    <add name="SomeEntities" 
         connectionString="data source=.\SQLEXPRESS;initial catalog=tests;...rest of it..."/>
</connectionStrings>

就我而言,因为我安装了 SQL DEVELOPER(版本无关),我的本地连接将是 "data source=.\;initial catalog=tests;...rest of it..."

是否可以在 SQL Server 配置管理器中为 &lt;SQLSERVERNAME&gt;\SQLEXPRESS 指向我的本地 &lt;SQLSERVERNAME&gt;\

我不想安装 SQL Server Express,我想设置一个代理 将帮助团队使用SQLEXPRESS 连接字符串处理任何 已安装的 SQL Server 版本。

更新:

根据 cmets 和响应,这是可能的。

先决条件:

  • 必须为实例启用 TCP/IP 协议(​​在我的例子中是端口 1433)
  • 检查 go in CMD => netstat -an |find "1433"

SQL SERVER 配置管理器中的设置:

感谢您的帮助!

【问题讨论】:

  • 这个问题不是很清楚。 .\SQLExpress 是一个命名实例,不是机器或服务器。一台机器可以有多个实例。 SQL Server 别名可通过 SQL Server Browser 服务获得听起来真正的问题是连接字符串管理。
  • 如果我理解正确,您每次都需要指向正确的 SQL 实例。如果是这种情况,您需要将每个 SQL 实例配置为使用不同的端口号,即默认 MS SQL Server 端口为 1433 等。
  • 每个版本和发布配置文件可以有不同的 app.config 或 web.config 文件。您可以使用 Web Config 转换 as shown in this SO question 在每个环境中使用不同的设置。还要检查Scott Hanselman's article on the subject
  • 如果您以 .NET Core 为目标,事情会容易得多,因为您不再需要配置转换来覆盖设置。如果确实需要别名,可以指定别名through each computer's client configuration

标签: sql-server sql-server-express


【解决方案1】:

我不确定它是否是相同的实验案例,但在过去,我们有一个场景,每个开发人员都使用他们自己的 MS SQL Server 实例名称,我们决定在连接字符串中设置一个标准名称,然后大家都在SQL Server配置管理器里面配置了一个别名,步骤是:

  1. 进入 MS SQL Server 配置管理器。
  2. 转到 SQL Native Client XX 配置并单击别名
  3. 创建一个新别名,在这里您应该使用您在连接字符串中注册的标准名称命名它,在协议集 TCP/IP 和稍后的服务器部分中,您应该设置本地实例的当前名称.

之后,您已经完成了上一步,您应该可以通过您在别名中定义的名称连接您的本地实例。

【讨论】:

  • 是的,它就是这样工作的,我会发布一张带有配置的图片。
【解决方案2】:

你在说什么叫alias

Create or Delete a Server Alias for Use by a Client

您可以创建一个名为 SQLSERVERNAME\SQLEXPRESS 的别名,该别名将指向 localhost,反之亦然。别名应在客户端计算机上创建。

【讨论】:

    猜你喜欢
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 2023-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    相关资源
    最近更新 更多