Sql server 是否仅使用IP连接到SQL Server 2008而不使用实例名称?

Sql server 是否仅使用IP连接到SQL Server 2008而不使用实例名称?,sql-server,database,sql-server-2008,Sql Server,Database,Sql Server 2008,我与数据库维护任务无关。我是应用程序开发人员。我在计算机上安装了SQL Server 2008 Express edition作为实例localhost\sqlexpress 如何仅使用IP地址连接到此服务器,而不使用IP\sqlexpress 如果可能有多个实例,并且我正在使用IP连接,那么如何选择服务器的任何实例?您可以使用IP地址引用该实例。它类似于xxx.xxx.xxx.xxx\sqlexpress 如果只使用IP地址(或主机名),则必须在计算机上安装一个默认实例。如果未安装默认实例,则

我与数据库维护任务无关。我是应用程序开发人员。我在计算机上安装了SQL Server 2008 Express edition作为实例
localhost\sqlexpress

如何仅使用IP地址连接到此服务器,而不使用
IP\sqlexpress


如果可能有多个实例,并且我正在使用IP连接,那么如何选择服务器的任何实例?

您可以使用IP地址引用该实例。它类似于
xxx.xxx.xxx.xxx\sqlexpress

如果只使用IP地址(或主机名),则必须在计算机上安装一个默认实例。如果未安装默认实例,则不会连接,并返回一个错误

默认情况下,SQL Server Express是命名实例,需要命名实例数据源引用(ip/主机名后跟实例名)。您需要将Express作为默认实例安装,以便仅通过ip引用


换句话说,不,除非您已将Express安装为默认实例,否则无法仅使用IP连接到SQL Server Express实例。

是的,安装SQL Server Express时,只需在安装过程中选择“安装为默认实例”选项。完成后,请启用端口1433,打开windows防火墙,启用要使用的用户帐户,然后继续

然后,您可以在端口1433上连接到127.1。JDBC url将非常简单,如下所示:

jdbc:sqlserver://localhost


如果要查找实例运行的端口号(也适用于Std Sql server):

使用Management studio连接到您的实例:

运行:

这将返回端口号:

因此,任何连接的服务器都将是您的IP地址,您可以通过ipconfig和端口获得该地址

对于在应用程序中使用大多数SQL Server的.NET托管提供程序的连接字符串,可以使用以下内容:


“Server=xxx.xxx.xxx.xxxx,portNumber;Database=dbName;User Id=User;Password=jklhjh”

您需要在服务器名称中添加实例名称的原因是,这将允许SQL Server Browser服务帮助您根据实例名称查找相应的TCP/IP端口。对于默认实例(MSSQLSERVER),仅使用IP地址或主机名就足够了

如果只想使用IP地址,还需要添加TCP/IP端口,例如192.168.0.1144。如果不允许使用TCP/IP端口,客户端将尝试改用TCP/IP 1433端口。在这种情况下,如果实例未侦听1433端口,则连接将失败


希望这有帮助。

不,SQL Server Express肯定会允许您安装默认实例。@djangofan您完全正确。感谢您的更正,我已编辑以反映更正。谢谢。没问题。。。我不得不借此机会尝试获得分数,因为我看到其中一个是完全开放的。我刚刚成功连接到SQL server Express 2008,没有实例名称,通过DNS/TCPIP地址和端口号。完全同意,只是今晚用两个不同的域/TCPIP地址和端口完成了连接。EXPRESS实例的名称是不同的,但当我切换服务器地址时,我忘了更改它,它们都工作了。所以我尝试删除实例名-效果很好。只是好奇,为什么要在同一台计算机上安装多个SQL server实例?您可以在单个实例中运行“无限”SQL数据库。@BerggreenDK的人正在使用旧的数据库实例。我不能在没有twik的情况下,在同一个CPU上将2005数据库交换到2008。@Kitix-我有一台同时运行SQL 2000和SQL 2008 Express的服务器。我通过端口号+TCPIP与他们连接。不需要实例名。@Kitix不需要,端口就是区别所在,我不需要实例的原因。自从上次发表评论以来,我已经对它进行了多次测试。如果我通过DNS/IP连接,我将使用不同的自定义端口连接到每个实例。这可以在SQL Server网络设置中配置。我相信如果你想在同一个端口上同时连接到这两个端口,你仍然需要实例名。@BerggreenDK-Hmm。我明白了。通过改变端口,这也是一个很酷的解决方案。好的,谢谢
jdbc:sqlserver://127.0.0.1
DECLARE @tcp_port nvarchar(5)
EXEC xp_regread
@rootkey    =    'HKEY_LOCAL_MACHINE',
@key        =    'SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP',
@value_name    =    'TcpPort',
@value        =    @tcp_port OUTPUT
Select @tcp_port;