【问题标题】:ASP.NET Web APP set up with a server with no SQL Server installed使用未安装 SQL Server 的服务器设置 ASP.NET Web APP
【发布时间】:2017-08-15 22:01:03
【问题描述】:

我有一个 ASP.NET 2(非常旧的)Web 应用程序,我正在尝试迁移到新服务器。顺便说一句,我是一个完整的 ASP.NET 菜鸟,但对其他 Web 技术有丰富的经验。

web.config,我可以看到如下连接字符串XML:

<connectionStrings>
    <add name="myCon" 
         connectionString="Data Source=DEVELOP\DEV_SQL2008R2;Initial Catalog=QO2_New;Persist Security Info=True;User ID=sa;Password=q"/>
</connectionStrings>

我对机器名称“DEVELOP”和 RDP 执行“nslookup”到服务器。令我惊讶的是,我没有看到任何 SQL Server 进程正在运行。此外,该服务器上没有安装 SQL Server。我 100% 确信该应用程序正在运行,并且我非常有信心有来自数据库的内容。我还搜索了代码库,似乎正在使用连接字符串。

顺便说一句,我们在不同的机器上确实有一些其他数据库。我的问题如下:

  1. 机器DEVELOP 能否以某种方式将数据库连接重定向到其他地方?如果是,我如何知道它被重定向到哪个 IP?
  2. 如果无法重定向 DB 连接,那么这里到底发生了什么?

不幸的是,我很少有人可以询问这个应用程序的情况。非常感谢您分享的任何提示。

【问题讨论】:

  • 是的。做过某事。没有发现任何有用的东西。
  • 您如何确定DEVELOP 上没有运行 SQL Server 进程??连接字符串使用 SQL Server 的 命名实例 (DEV_SQL2008R2),它可能与标准的默认(未命名)实例不同......

标签: asp.net sql-server iis


【解决方案1】:

Nslookup 使用 DNS,但您的计算机可能有一个主机文件条目,该条目将 DEVELOP 指向其他地方..

但是,如果您使用 RDP 进入 DEVELOP(例如,在连接 RDP 时使用该名称,而不是 nslookup 提供的 IP 地址),那么您应该能够在服务列表中看到 sqlserver 安装。

如果肯定没有安装 sqlserver,那么在您的 RDP 会话中,使用 sysinternals 中的 TCPView 来查看正在侦听端口 1433 的进程。可能是某种 TCP 重定向器,例如 SteelBytes 中的 PortTunnel,将连接反弹到其他地方.记得在服务器上运行 tcpview,而不是在本地机器上运行

也许你可以尝试使用 management studio 连接到 sqlserver,使用 web config 中的凭据,你可以让 sqlserver 本身告诉你更多关于它在哪里运行,例如:

SQL - Query to get server's IP address

Using Environment variables in T-SQL

【讨论】:

  • 感谢您的信息。我已经尝试过了。但是,我绝对没有在该服务器上看到任何与 SQL 相关的内容。我对正在发生的事情有了一些新的线索。我要测试一下。很快就会更新这个问题。
【解决方案2】:

我真的很惭愧地告诉大家,网络配置中的数据库从未被使用过。因此,即使它指向一个不存在的数据库,它仍然可以工作。旧数据库中的数据已转换为静态文件。

我应该在遇到它的第一件事就检查它。再次感谢所有帮助。

【讨论】:

    猜你喜欢
    • 2011-10-28
    • 2023-02-09
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多