2011-01-11 61 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名稱和實例名稱之間的\\