【问题标题】:HeidiSql connection to MS SQL Server LocalDBHeidiSql 连接到 MS SQL Server LocalDB
【发布时间】:2017-05-07 02:05:36
【问题描述】:

我一直在尝试使用 HeidiSql 和 Windows 身份验证连接到我的 SQL Server 数据库,该数据库附加到 LocalDB 实例 (localdb)\v11.0。

我的测试表明HeidiSql可以连接到永久安装的MSSQLSERVER和SQLEXPRESS实例如下:

MSSQLSERVER:

  • SQL Server:(命名管道)
  • 主机名/IP:.
  • 使用 Windows 身份验证

SQLEXPRESS:

  • SQL Server:(命名管道)
  • 主机名/IP .\SQLEXPRESS
  • 使用 Windows 身份验证

LocalDB 连接被证明是难以捉摸的。

我对这种情况的解读表明,LocalDB 实例是 Visual Studio 和 SQL Server Management Studio 在需要时创建的幻象。当这些程序不运行时,它们不会持续存在或存在。当它们运行时,访问权限隐藏在这些程序中,其他应用程序无法使用。

我知道我可以切换到 MSSQLSERVER 或 SQLEXPRESS 作为我的 Visual Studio 应用程序的标准数据库服务器,但我想知道是否有连接到 HeidiSql LocalDB 实例的途径。

【问题讨论】:

  • LocalDB 是 SQL Server Express 的一个变体,当应用程序需要它时按需加载。所以是的 - 这可能有点“难以捉摸” - 但是,有一个 sqllocaldb 实用程序允许您根据需要启动 LocalDB 实例,然后它们保持活动状态,直到您再次关闭它们。 Google for sqllocaldb 并阅读如何使用它!
  • 一个旧的,但一个很好的。在尝试了各种主机名/IP 变体之后,一个简单的点就起作用了。

标签: sql-server


【解决方案1】:

它可以工作,但很棘手。您需要使用 LocalDB 命名管道作为 Heidi 主机名。以 LocalDB V12 为例:

sqllocaldb info
sqllocaldb start MSSQLLocalDB
sqllocaldb info MSSQLLocalDB

“信息”参数显示:

\\.\pipe\LOCALDB#12345678\tsql\query

请注意,该数字是随机散列,这会使事情变得复杂,因为您需要不断检查它。可以使用 Heidi 的command line options 对上述内容进行批处理/编写脚本。

我的命令行:

heidisql -d=LocalDB -h=%pipename% -n=3 -d=LocalDB

-d 参数故意使用了两次。

【讨论】:

    【解决方案2】:

    对于普通 SQL Server 实例而不是 LocalDB 实例:

    我意识到这个问题是关于本地数据库的;但是,当我环顾四周时,这个结果出现了,这个答案会对我有所帮助。

    在windows搜索(按回车键搜索)输入“sql server configuration manager”。打开它,但确保您没有打开不正确的“sql server master data servervices configuration manager”。对我来说,我第一次不得不在“应用程序”下的结果中看起来很低。

    然后点击“SQL Server 网络配置”。

    如果没有出现,您可以手动打开文件。见:https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-configuration-manager

    对我来说,它位于“C:\Windows\SysWOW64\SQLServerManager13.msc”

    双击“[您的实例在此处]的协议”

    要使用 SSMS 以外的方式访问连接,您需要选择启用命名管道或 TCP/IP。

    TCP/IP

    右键单击“TCP/IP”并单击属性

    将“启用”更改为 true

    更改 IP4(或 IP 地址为 127.0.0.1 的那个)启用。

    点击“确定”。

    跳转到重启

    命名管道

    右键单击“命名管道”并单击“属性”

    将“启用”更改为 true

    复制“管道名称”并稍后在您的数据库客户端中使用它

    跳转到重启

    重启

    如你所见,需要重启服务,所以点击左侧的“SQL Server Services”

    右键单击“SQL Server([您的实例名称])”并单击“重新启动”

    您现在可以使用您的数据库客户端来浏览您的 sql server 实例。在 heidi 中,您只需选择与您的设置匹配的网络类型 - 选择“使用 Windows 身份验证”并填写相应的主机名/IP(管道名称或 IP,取决于您选择使用的方法)

    【讨论】:

    • 我试图搜索....那个 SQL Server 配置但没有找到...任何线索?我确定我已经正确安装了 SQL Server,s23.postimg.org/cd4dq5iyz/sql_server_program.png@csga5000
    • @gumuruh 请参阅我即将进行的编辑以获取答案。
    【解决方案3】:

    仅供参考,我通过分步说明回答了这个问题in another SO question as well。特别感谢@GravityWellpipe name suggestion!

    【讨论】:

    • 您是否介意将说明放在此处,而不是指向可能会在没有通知和痕迹的情况下消失的外部来源?
    • SQB 你是对的,但是链接指向 SO 中的答案,而不是外部来源。
    • 啊,我错过了。适用于两个问题的相同答案表明这些问题可能重复。所以我们可能应该关闭一个以支持另一个。但是,重点仍然存在:可能会删除另一个答案甚至整个问题,从而使此链接成为死链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2015-09-22
    • 2021-10-25
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    相关资源
    最近更新 更多