2011-01-11 86 views
2

我们目前正在迁移服务器(2005年至2008年),我们的主机备份了SQL数据库并将其转移到新服务器。SQL Server不存在或访问被拒绝

我已经转移了网站文件并更改了连接字符串和global.asa文件中的IP地址。

从技术上讲,我们在新服务器上有镜像,但是当我尝试启动连接到SQL的页面时,出现以下错误。

SQL_Server_does_not_exist_or_access_denied

任何帮助,将不胜感激。

回答

3

这种情况下的错误消息很可能是正确的。首先,验证从您到新服务器的网络路径是否正常工作,您可以使用指定的userid/pwd进行连接。

1)打开Management Studio并尝试通过IP地址连接到SQL Server实例。 (顺便说一下,如果你还没有上网,那么你可能需要使用SQL Server userid/pwd,并且很可能没有用于Windows身份验证的AD上下文。)

2)如果您确实可以使用Management Studio连接到实例和数据库,那么您可能在某处丢失了连接字符串。尝试仅为所述连接字符串保留1个位置,通常在配置文件中。检查详细报告的错误行,以发现正在使用哪个连接字符串并验证它是否反映新的服务器IP。

+0

#1为我工作。必须使用IP地址。 – 2017-09-05 00:03:26

0

我在新计算机上设置安装时遇到此问题。

我遇到的连接问题是由于在承载MSSQL的服务器上设置了防火墙。该设置提供了单独的IP地址访问权限,在我们的环境中“有效”,因为我们的管理员将IP地址描述为“粘性”。一旦将防火墙访问权限授予了我的新机器的IP地址,我在当地WAMP设置中运行的PHP odbc_connect(...)声明立即完成。

与许多问题一样,可能遇到不止一种方法,但我希望尽可能明确地说明我是如何体验它的。

这可能会更清楚一点,如果我在我的电脑上安装了MSSQL管理工作室,但我没有。

在MSSQL服务器上的入站规则中,我发现了一条引用MSSQL实例的规则,并且足够肯定地发现我的旧计算机的IP地址在属性选项卡“作用域”下作为“远程IP地址”。希望每当我拿到我的下一台机器时,我都会记住这一点! (已取消电脑的IP已被删除)

@Darren,如果您可以根据您接受的答案留下评论,可能很高兴知道@ Tahbaza的哪些建议会引导您解决问题。

0

当在SQL配置 - > TCP/IP连接中克隆的服务器的IP配置不正确时,也会发生同样的错误。

随着SQL TCP/IP配置错误配置的IP不会让你:

  1. 从客户机使用服务器名称中使用ODBC连接来连接
  2. 使用telnet的1433端口号与服务器名称连接

当从另一个SQL服务器克隆服务器时,会发生这种情况,该服务器将来自主服务器的SQL IP配置作为余项进行克隆。

但客户端应用程序失败,虽然使用的服务器名称与以下信息使用连接字符串来连接:

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied 

执行以下操作来验证SQL Server上:

  1. 注意的IP服务器本身(可能管理员在克隆框后更新机器的IP)通过IPCONFIG
  2. 打开SQL Server配置管理器
  3. 展开SQL Server网络配置
  4. 选择MSSQLSERVER的协议
  5. 双击TCP/IP右侧
  6. 切换到IP地址选项卡
  7. 向下滚动到IPv4部分,以验证它是否是一样的IP机器本身的地址。修复IP,如果不是的话。如果这是正确的,这不是问题。
0

数据库的凭据是否配置为使用SQL用户和登录名而不是Windows用户和登录名?

如果是这样,您可能需要将数据库中的SQL用户重新映射到服务器上的SQL登录名。要扫描以查看是否有此问题,可以使用EXEC sp_change_users_login 'Report''Auto_Fix'选项将自动更正系统找到的问题。您也可以运行ALTER USER $User WITH LOGIN $Login以分别手动更正每个映射。

http://technet.microsoft.com/en-us/library/ms174378.aspx

因为的SID SQL用户在旧服务器上的数据库不匹配新的数据库上的SQL登录的SID生成的问题造成的。存储过程纠正了差异。

0

从Qt连接到运行在我的计算机上的Microsoft SQL Server 2014时,我遇到了这个问题...

我用下面的QODBC连接字符串:

db.setDatabaseName("Driver={SQL Server};Server=DESKTOP-F6T7JPD\\sql_Instance_Name;Database=master;Uid=sa;Pwd=your_pwd;"); 

我只遭受了2个问题:

  1. 确定使用什么服务器,这必须是服务器名称为SQL服务器上配置实例,这可以通过打开“MicrosoftSql2014 management Studio”找到,然后通过查看属性找到名称(DESKTOP-F6T7JPD\sql_Instance_Name

  2. 第二个问题实际上是该名称必须通过在我的PC名称和实例名称 之间添加另一个反斜杠\进行修改,因此管理工作室中的名称将如下所示:PC_Name\Sql_Instance。 注意“\”,...这必须作为Pc_Name\\Sql_Instance
    注意PC名称和实例名称之间的\\