指定默认端口时“用户登录失败”

时间:2014-08-05 19:18:12

标签: c# sql-server-2008

尝试在尝试指定SQL Server端口时调试客户的连接问题。

在本地重现问题我检查过,我的服务器在默认的1433端口下运行。使用以下命令指定该端口:

SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = "servername,1433";
builder.InitialCatalog = databaseName;
builder.IntegratedSecurity = false;
builder.UserID = userName;
builder.Password = UserPsw;

这失败了"用户登录失败"。如果我删除端口号,它连接正常。为什么会这样?

顺便说一句,Windows Integrated Security也是如此。

还有一条信息:我在同一个盒子上也运行了一个SQL Server 2005 express SQL服务器。

1 个答案:

答案 0 :(得分:3)

如果您使用的是SQL Server Express和命名实例,那么该端口将不是1433,而是一个动态分配的端口。

请参阅此文章,向下滚动到SQL Server使用的端口'并在默认配置中查找SQL Server命名实例'。

http://msdn.microsoft.com/en-us/library/cc646023.aspx

我不知道您是否可以为SQL Server Express实例分配特定端口。如果是这样,那就是您需要做的,并在连接字符串中指定该端口。如果无法将特定端口分配给SQL Server Express命名实例,那么您必须坚持指定实例名称,而不是端口。