我正在尝试从本地计算机上的SQL Server Management Studio访问我的VPS上的SQL Server实例。它不起作用(我得到的错误是:
发生与网络相关或特定于实例的错误 建立与SQL Server的连接。找不到服务器或 无法访问。验证实例名称是否正确 SQL Server配置为允许远程连接。
我认为这是因为我需要配置数据库引擎以允许远程连接(如果我错了,请纠正我!)。所以我找到了这个循序渐进的指南来帮助我做到这一点:http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/我必须在指南中指出10,我现在卡住了!我的VPS上没有安装SQL Server Management Studio。无论如何,这给我留下了两个选择:
我尝试使用Web平台安装程序在我的VPS上安装SSMS但它仍然失败。我不知道它为什么失败,因为它似乎没有给出原因。有谁知道我怎么能以不同的方式允许远程连接?
我的VPS上安装的SQL Server版本是SQL Server 2008 R2 Express。
更新:
我曾尝试在我的笔记本电脑和VPS上禁用防火墙,看看它是否是防火墙问题。这对错误消息没有任何影响。
另一个更新:
现在已经能够安装SSMS(我直接从网站安装而不是使用WPI),我已经能够检查服务器是否配置为允许远程连接(我去了SSMS,连接到SQL Server实例,右键单击连接,单击属性,转到Connections选项卡。“已允许远程连接到此服务器”。
解
感谢大家帮助我解决这个问题!我终于设法让它上班了!我按照Filip De Vos的建议,在我的VPS上打开防火墙端口,然后收到了不同的错误消息。这导致我进一步调查,我发现我使用了错误的凭据登录!所以我为sa用户设置了密码,我已经设法使用它进行登录!再次感谢!
答案 0 :(得分:47)
要启用混合身份验证,您可以更改以下注册表项:
HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode
将值更新为2并重新启动Sql Server服务以允许混合身份验证。 请注意,可能需要更新MSSQL.1以反映您尝试更改的SQL Server实例的数量。
连接错误的原因可能是服务器上安装的阻止sqlserver.exe
的病毒扫描程序。
另一个原因可能是SQL Server Browser服务未运行。如果此服务未运行,则无法在命名实例上连接(当它们使用动态端口时)。
也可能没有设置Sql Server来侦听TCP连接,只允许命名管道。
最后但并非最不重要的是,Windows防火墙需要允许连接到SQL Server
更多信息:
作为最后一点,SqlLocalDB仅支持命名管道,因此您无法通过网络连接到它。
答案 1 :(得分:8)
除了将Services.msc中的SQL Server Browser服务配置为Automatic,并启动该服务之外,我还必须启用TCP / IP:SQL Server Configuration Manager SQL Server网络配置| [实例名称]的协议| TCP / IP
答案 2 :(得分:5)
在您的VPS上启动SQL Server配置管理器。
查看SQL Server网络配置。确保TCP / IP 启用。
接下来看一下SQL Server服务。确保SQL Server Browser正在运行。
重新启动SQL Server实例的服务。
答案 3 :(得分:2)
打开SQL Server配置管理器.... 2.检查TCP和UDP是否正在运行.... 3.如果没有运行,请启用它们并检查SQL Server Browser是否正在运行。如果没有运行,请将其打开.....
接下来,您必须检查TCP和UDP正在使用哪些端口。您必须从Windows防火墙打开这些端口.....
5。Click here to see the steps to open a specific port in windows firewall ....
现在SQL Server已准备好通过LAN访问.......
如果您想远程访问(通过互联网),您必须完成另一项“端口转发”工作。您已在路由器上的SQL Server中打开TCP和UDP正在使用的端口。现在路由器的配置是不同的。如果您向我提供路由器的详细信息(即公司名称和版本),我可以向您展示如何转发特定端口的步骤。
答案 4 :(得分:1)
禁用防火墙并尝试连接。
如果可以,请启用防火墙并
Windows Defender防火墙->高级设置->入站规则(右键单击)->新规则->端口->允许端口1433(公共和专用)->添加
对出站规则执行相同的操作。
然后重试。
答案 5 :(得分:0)
我最近从SQL 2008 R2升级到SQL 2012,并遇到了类似的问题。问题是防火墙,但更具体地说是SQL SERVER的防火墙规则。自定义规则指向SQL Server的早期版本。试试这个,打开Windows防火墙>高级设置。找到SQL Server规则(它可能具有自定义名称)。右键单击并转到属性,然后单击“程序和服务”选项卡。如果选择了程序 - 此程序,则应浏览正确版本的sqlserver.exe。
答案 6 :(得分:0)
我遇到了同样的问题,我的防火墙配置正确,在SQL Server配置管理器中启用了TCP / IP但我仍然无法从托管它的计算机外部访问我的SQL数据库。我发现解决方案是SQL Server Browser在服务中默认禁用(并且没有选项可用于在SQL Server配置管理器中启用它)。
我通过控制面板启用了它>管理工具>然后,服务双击SQL Server Browser。在“常规”选项卡中,使用下拉列表将启动类型设置为“自动”。然后返回SQL Server配置管理器并检查是否已启用SQL Server Browser。希望这可以帮助。
答案 7 :(得分:0)
打开mysql服务器配置管理器。 单击SQL Server服务,在右侧选择您在安装过程中创建的服务器(默认情况下,其状态为停止),单击一次,然后在工具栏上出现一个播放按钮,然后单击此播放按钮,等待直到其状态变为“ 正在运行”。现在好了。切换回sql server management studio;将“ 服务器类型”切换为“ 数据库引擎”,将“ 身份验证”切换为“ SQL Server身份验证”,默认登录名是“ sa ”,密码是您在创建服务器时选择的密码。现在您工作顺利。
答案 8 :(得分:0)
我知道这个孩子已经快1.5岁了,但是我希望我可以帮助别人找到我所找到的东西。
我已经构建了一个控制台应用程序和一个UWP应用程序,并且我的控制台连接良好,但不是我的UWP。经过数小时的讨论,如果是托管SQL数据库的Intranet服务器,则必须启用“专用网络(客户端和服务器)”。它位于Package.appxmanifest和“功能”标签下。Screenshot
答案 9 :(得分:0)
如果您有多个实例...那么请确保所有实例的端口号都是唯一的,并且除了默认的一个之外,没有人的端口号是 1433...