SQL Server不存在或訪問被拒絕問題的解決
更新時間:2008年04月30日 18:37:08 作者:
最近做一個項目(Asp.net+Sql Server 2000),在原來開發(fā)的機(jī)器上運(yùn)行沒有任何問題.但當(dāng)我在另外一臺機(jī)器上調(diào)試程序(本機(jī)調(diào)試)的時候,總出現(xiàn)“SQL Server不存在或訪問被拒絕”。相信在任何一個搜索網(wǎng)站輸入這樣的檢索詞,一定會獲得n多的頁面。
三.提示連接超時
如果遇到第三個錯誤,一般而言表示客戶端已經(jīng)找到了這臺服務(wù)器,并且可以進(jìn)行連接,
不過是由于連接的時間大于允許的時間而導(dǎo)致出錯.
這種情況一般會發(fā)生在當(dāng)用戶在Internet上運(yùn)行企業(yè)管理器來注冊另外一臺同樣在Internet上的服務(wù)器,
并且是慢速連接時,有可能會導(dǎo)致以上的超時錯誤.有些情況下,由于局域網(wǎng)的網(wǎng)絡(luò)問題,也會導(dǎo)致這樣的錯誤.
要解決這樣的錯誤,可以修改客戶端的連接超時設(shè)置.
默認(rèn)情況下,通過企業(yè)管理器注冊另外一臺SQL Server的超時設(shè)置是 4 秒,
而查詢分析器是 15 秒(這也是為什么在企業(yè)管理器里發(fā)生錯誤的可能性比較大的原因).
具體步驟為:
企業(yè)管理器中的設(shè)置:
1.在企業(yè)管理器中,選擇菜單上的"工具",再選擇"選項"
2.在彈出的"SQL Server企業(yè)管理器屬性"窗口中,點(diǎn)擊"高級"選項卡
3.在"連接設(shè)置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數(shù)字,如 20.
查詢分析器中的設(shè)置:
工具 -- 選項 -- 連接 -- 將登錄超時設(shè)置為一個較大的數(shù)字
四.大部分機(jī)都用Tcp/ip才能成功,有次我發(fā)現(xiàn)用Named Pipes才可以?
這是因?yàn)樵赪INDOWS 2000以后的操作系統(tǒng)中,MS為解決SQL SERVER的安全問題將TCP/IP配置
為SQLSERVER的默認(rèn)連接協(xié)議,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE
的順序。
你也可以在:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
看到默認(rèn)的協(xié)議。
2.怎么在程序中更改Named Pipes , Tcp/ip ,其sql語句怎么寫?
你可以在上面提到的注冊表的位置修改:
CLIENT端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
SERVER端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
我的問題應(yīng)該屬于第一類,遺憾的是我按照上面說的方法都不能解決這個問題。我使用:telnet <服務(wù)器IP地址> 1433 顯示不能正確連接。按照說的方法也不能解決這個問題。有網(wǎng)友說出現(xiàn)1433端口不能連接的因?yàn)槭荢ql Server 2000沒有打補(bǔ)丁的緣故,但我打過sp4后仍然不能正確連接1433端口。
我在web.config里的設(shè)置為:
<configuration>
<appSettings>
<!--"data source=SASANK;initial catalog=CODER;persist security info=False;user id=sa;workstation id=SASANK;packet size=4096"-->
<add key="ConnectionString" value="server=localhost;Trusted_Connection=false;user id=sa;password=sa;database=sichuan"/>
</appSettings>
<system.web>
找了好久原因,都不行。
后來試著將數(shù)據(jù)庫連接項改為:
<add key="ConnectionString" value="server=192.168.254.60;Trusted_Connection=false;user id=sa;password=sa;database=sichuan"/>也就是把其中的Server改為我的機(jī)器在局域網(wǎng)中的IP地址(注意我是本機(jī)調(diào)試,我把server改為機(jī)器名也不行),連接運(yùn)行,竟然成功了!問題解決了,但我還是不太明白是什么原因?為什么我使用telnet命令打開1433端口不成功?希望有誰能夠解釋下!
相關(guān)文章
一款高顏值且免費(fèi)的 SQL 開發(fā)工具之Beekeeper Studio詳解
今天給大家推薦一款適用于Windows,Linux和Mac的跨平臺免費(fèi)的開源SQL編輯器和數(shù)據(jù)庫管理應(yīng)用程序 —— beekeeper-studio。對Beekeeper Studio 安裝使用教程感興趣的朋友一起看看吧2021-09-09使用dump transaction with no_log的危險性說明
在命令參考手冊中的dump transaction with no_log條目下,有一條警告信息告訴你,你應(yīng)該把這條命令作為沒有其它辦法時的最后一招才使用它2012-07-07圖文詳解如何在navicat中導(dǎo)入excel表格數(shù)據(jù)
Navicat可以方便的操作各種數(shù)據(jù)庫,也提供了豐富的導(dǎo)入導(dǎo)出功能,下面這篇文章主要給大家介紹了關(guān)于如何在navicat中導(dǎo)入excel表格數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2023-02-02數(shù)據(jù)庫查詢優(yōu)化(主從表的設(shè)計)
寫過許多的數(shù)據(jù)庫查詢語句,面對過許多的問題,也在磕磕碰碰中學(xué)到了很多東西。昨天在看系統(tǒng)數(shù)據(jù)庫設(shè)計與SQL代碼時,突然“發(fā)現(xiàn)”了許多平常不屑看到的問題,于是就萌生了把它提出來思考的念頭2013-08-08sql語句實(shí)現(xiàn)行轉(zhuǎn)列的3種方法實(shí)例
將列值旋轉(zhuǎn)為列名(即行轉(zhuǎn)列)是我們在開發(fā)中經(jīng)常會遇到的一個需要,下面這篇文章主要給大家介紹了關(guān)于sql語句實(shí)現(xiàn)行轉(zhuǎn)列的3種方法,分別給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02基于navicat連接登錄windows10本地wsl數(shù)據(jù)庫
這篇文章主要介紹了基于navicat連接登錄windows10本地wsl數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11使用DataGrip創(chuàng)建數(shù)據(jù)庫并讀取sql文件圖文教程
這篇文章主要給大家介紹了關(guān)于使用DataGrip創(chuàng)建數(shù)據(jù)庫并讀取sql文件的相關(guān)資料,DataGrip是一款數(shù)據(jù)庫管理客戶端工具,方便連接到數(shù)據(jù)庫服務(wù)器,執(zhí)行sql、創(chuàng)建表、創(chuàng)建索引以及導(dǎo)出數(shù)據(jù)等,需要的朋友可以參考下2023-11-11