我与数据库维护任务无关。我是应用程序开发人员我在我的计算机上安装了SQL Server 2008 Express Edition作为实例localhost\sqlexpress
。
如何仅使用IP地址连接到此服务器而不是ip\sqlexpress
?
如果可能有多个实例且我正在连接IP,那么我该如何选择任何服务器实例?
答案 0 :(得分:2)
您可以使用IP地址来引用该实例。它就像xxx.xxx.xxx.xxx\sqlexpress
。
如果您只是使用IP地址(或主机名),则必须在计算机上安装默认实例。如果您没有安装默认实例,那么您将无法连接,并且您将返回错误。
默认情况下,SQL Server Express是一个命名实例,需要命名实例数据源引用(ip / hostname后跟实例名称)。您需要安装Express作为默认实例才能通过ip进行引用。
换句话说,除非您已将Express安装为默认实例,否则不能仅使用IP连接到SQL Server Express实例。
答案 1 :(得分:2)
您需要在服务器名称中添加实例名称的原因是,这将允许SQL Server Browser Service根据您的实例名称帮助您查找相应的TCP / IP端口。对于默认实例(MSSQLSERVER),仅使用IP地址或主机名就足够了。
如果您只想使用IP地址,您还需要添加TCP / IP端口,例如192.168.0.1,1434。如果不允许TCP / IP端口,客户端将尝试使用TCP / IP而是1433端口。在这种情况下,如果实例未在1433端口上侦听,则连接将失败。
希望这有帮助。
答案 2 :(得分:1)
是的,在安装SQL Server Express时,只需在安装过程中选择“安装为默认实例”选项。完成后,启用端口1433,打开Windows防火墙,启用您要使用的用户帐户,以及您的好处。
然后,您可以在端口1433上连接到127.1。 JDBC url就像:
一样简单jdbc:sqlserver://localhost
或
jdbc:sqlserver://127.0.0.1
答案 3 :(得分:0)
如果要查找运行实例的端口号(也适用于Std Sql服务器):
使用Management studio连接到您的实例:
执行命令
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;
这将返回端口号:
因此,任何连接的服务器都将是您使用ipconfig和端口获得的IP地址。
对于在应用程序中使用大多数针对SQL Server的.NET托管提供程序的连接字符串,您可以使用以下内容:
“Server = xxx.xxx.xxx.xxxx,portNumber; Database = dbName; User Id = user; Password = jklhkljh”