Sql远程连接超时

时间:2012-07-17 05:54:10

标签: c# sql sql-server winforms

当我尝试通过服务器管理工​​作室连接我的远程sql服务器时,没关系。但是,当我通过程序连接字符串与它们连接时,它会显示“Timeout Expires”

connectionString="Data Source=SERVERNAME;Initial Catalog=DB;Persist Security Info=True;User ID=sa;Password=pass"

当我尝试使用IP连接时。它显示“用户'sa登录失败'。用户未与受信任的SQL Server连接关联。”

connectionString="Data Source=192.168.2.6,1433;Initial Catalog=DB;Persist Security Info=True;User ID=sa;Password=pass"

但我可以通过SSMS看到它们。和管理。任何人都遇到过这个问题......

3 个答案:

答案 0 :(得分:0)

您是否检查过SQL Server配置管理器中是否有Shared Memory, TCP/IP, Named Pipes enabled

然后为该数据库创建一个纯用户登录名,并将该用户分配给您的连接字符串 也允许该用户在该数据库上connect, create, select, update, delete

也可以尝试使用Data Source=(local)127.0.0.1作为您的服务器名称

答案 1 :(得分:0)

如果您的数据库不在本地计算机上,请使用 SQL Server配置管理器检查SQL Server计算机,如果共享内存,TCP / IP,命名管道已启用

TCP端口为1433

答案 2 :(得分:0)

在SQL配置管理器中进行必要的更改后,请按照以下步骤操作,如许多其他帖子中所述。

  • 使用服务器名称从cmd ping服务器。
  • 如果不起作用,请尝试使用IP进行ping操作。
  • 如果您无法使用DNS进行ping操作但能够使用IP进行ping操作,请转到hosts文件并在hosts文件中添加DNS条目,然后立即尝试使用DNS进行ping操作。它应该工作。发生这种情况是因为当您在网络上时,计算机无法解析主机。
  • 现在在cmd - sqlcmd -S servername \ -U -P上尝试此命令。用户名和密码是用于sql server身份验证的用户名和密码。如果您使用的是Windows身份验证,则不需要用户名和密码选项。
  • 如果您的所有设置都正确且主机可以访问,那么您应该能够使用上述命令连接到数据库,并且已正确配置计算机以远程连接到数据库。