訪問遠程數據庫(SQL SERVER 2000)

怎樣實現訪問遠程數據庫的問題【非局域網內】

樓主leavealone77(出來混,遲早都是要還的)2004-11-24 11:23:40 在 MS-SQL Server / 基礎類 提問

訪問遠程數據庫(SQL   SERVER   2000)  
  說詳細點就是:  
  本機在武漢,要訪問的服務器在廣州(都可聯上INTERNET)  
  現知道廣州服務器所在機子的域名(IP地址)  
  那在本機的SQLSERVER上如何新建SQLSERVER註冊  
  如果在可用服務器中直接輸入IP地址  
  註冊的時候總是提示不存在或拒絕訪問  
   
  是不是還需要在服務端或本機上配置相關服務(如:在IIS中配置SQL   XML服務支持)  
  如果不是,那需要怎麼配置  
  能否告知詳細的配置步驟,謝謝了 問題點數:100、回覆次數:22Top

1 樓leavealone77(出來混,遲早都是要還的)回覆於 2004-11-24 11:29:53 得分 0

UP有分啊,快來啊Top

2 樓zjcxc(鄒建)回覆於 2004-11-24 11:32:13 得分 0

如何通過互聯網聯接到某個連上互聯網的局域網中的一臺計算機上的MSSQL上  
   
   
  ***************   能連接到SQL的幾個要素.   **************************  
   
  1.先保證ping通(有防火牆的先關閉防火牆)  
  2.在命令提示符下執行:telnet   <服務器ip地址>   1433   不會報錯  
  3.查詢分析器中進行連接,時使用用ip連接:  
      文件--連接--SQL   Server輸入對方IP--連接使用,根據對方的SQL配置確定--確定  
   
      確定SQL採用什麼身份驗證方式:  
      企業管理器--右鍵SQL實例--屬性--安全性--身份驗證  
   
   
  4.如果不行  
  SQL   Server服務器--開始--程序--Microsoft   SQL   Server  
  --服務器網絡實用工具  
  --啓用   WinSock代理  
  --代理地址:(sqlserver服務器IP)  
  --代理端口--1433  
  ---確定  
   
  5.如果還不行,在客戶端裝個SQL   Server客戶端配置一下:  
  開始--程序--Microsoft   SQL   Server--客戶端網絡實用工具  
  --別名--添加  
  --網絡庫選擇"tcp/ip"--服務器別名輸入SQL服務器名  
  --連接參數--服務器名稱中輸入SQL服務器ip地址  
  --如果你修改了SQL的端口,取消選擇"動態決定端口",並輸入對應的端口號  
   
  Top

3 樓zjcxc(鄒建)回覆於 2004-11-24 11:32:22 得分 0

 
  *************   連接實戰   ************************************************]  
   
  --如果你的兩臺電腦都有固定的公網IP地址,那就真恭喜你.連接有普通的局域網一樣.  
   
  --如果你的兩臺電腦只可以得到動態的公網的IP地址,用下面的方法:  
   
  到:  
  http://www.comexe.cn/  
   
  註冊免費域名,安裝它的動態域名解析軟件.(當然,還有很多其他軟件可供選擇)  
  就可以了.  
   
  Top

4 樓zjcxc(鄒建)回覆於 2004-11-24 11:32:32 得分 80

 
  ***************   如果你的電腦是通過代理上網的.就要用端口映射.   *****************  
  轉帖:  
   
   
    由於公網IP地址有限,不少ISP都採用多個內網用戶通過代理和網關路由共用一個公網IP上INTERNET的方法,  
  這樣就限制了這些用戶在自己計算機上架設個人網站,要實現在這些用戶端架設網站,最關鍵的一點是,  
  怎樣把多用戶的內網IP和一個他們唯一共享上網的IP進行映射!就象在局域網或網吧內一樣,  
  雖然你可以架設多臺服務器和網站,但是對外網來說,你還是隻有一個外部的IP地址,  
  怎麼樣把外網的IP映射成相應的內網IP地址,這應該是內網的那臺代理服務器或網關路由器該做的事,  
  對我們用私有IP地址的用戶也就是說這是我們的接入ISP服務商(中國電信、聯通、網通、鐵通等)應該提供的服務,  
  因爲這種技術的實現對他們來說是舉手之勞,而對我們來說是比較困難的,首先得得到系統管理員的支持才能夠實現。  
  因爲這一切的設置必須在代理服務器上做的。    
   
  要實現這一點,可以用Windows   2000   Server   的端口映射功能,除此之外Winroute   Pro也具有這樣的功能,還有各種企業級的防火牆。而對於我們這些普通用戶,恐怕還是用Windows   2000   Server最爲方便。    
   
  先來介紹一下NAT,NAT(網絡地址轉換)是一種將一個IP地址域映射到另一個IP地址域技術,從而爲終端主機提供透明路由。NAT包括靜態網絡地址轉換、動態網絡地址轉換、網絡地址及端口轉換、動態網絡地址及端口轉換、端口映射等。NAT常用於私有地址域與公用地址域的轉換以解決IP地址匱乏問題。在防火牆上實現NAT後,可以隱藏受保護網絡的內部拓撲結構,在一定程度上提高網絡的安全性。如果反向NAT提供動態網絡地址及端口轉換功能,還可以實現負載均衡等功能    
  端口映射功能可以讓內部網絡中某臺機器對外部提供WWW服務,這不是將真IP地址直接轉到內部提供WWW服務的主機,如果這樣的話,有二個蔽端,一是內部機器不安全,因爲除了WWW之外,外部網絡可以通過地址轉換功能訪問到這臺機器的所有功能;二是當有多臺機器需要提供這種服務時,必須有同樣多的IP地址進行轉換,從而達不到節省IP地址的目的。端口映射功能是將一臺主機的假IP地址映射成一個真IP地址,當用戶訪問提供映射端口主機的某個端口時,服務器將請求轉到內部一主機的提供這種特定服務的主機;利用端口映射功能還可以將一臺真IP地址機器的多個端口映射成內部不同機器上的不同端口。   端口映射功能還可以完成一些特定代理功能,比如代理POP,SMTP,TELNET等協議。理論上可以提供六萬多個端口的映射,恐怕我們永遠都用不完的。    
   
  一、下面來介紹一下通過NAT共享上網和利用NAT來實現端口映射。    
   
  1、在Windows   2000   Server上,從管理工具中進入“路由和遠程訪問”(Routing   and   Remote   Access)服務,在服務器上鼠標右擊,-》“配置並啓用路由和遠程訪問”    
  2、點“下一步”    
  3、選“Internet連接服務器”,讓內網主機可以通過這臺服務器訪問Internet.(最好先配置好NAT共享,讓內網主機可以正常上網,不然的話,配好端口映射後再來配置NAT共享就有點麻煩了,弄的不好NAT還共享不了。)    
  4、選“設置有網絡地址轉換(NAT)路由協議的路由器”,不要選“設置Internet連接共享(ICS)”.(ICS與NAT的區別在於使用的容易程度上,爲了啓用ICS,只需要選擇一個複選框就可以了,而爲了啓用NAT,則需要更多的配置任務,此外,ICS用於小型網絡上的原因還在於:針對內部主機,它需要有一個固定的IP地址範圍;針對與外部網絡的通信,它被限制在單個公共IP地址上;它只允許單個內部網絡接口。)    
  5、先在此說一下我的網絡情況:Internet連接192.200.200.3(也是個內部地址,沒辦法,鐵通的網絡不太好,網速不快,價錢又貴,我的命真苦啊)宿舍內連接192.168.0.1(宿舍裏連有局域網,共4臺電腦,其中一臺上裝了Sambar   5.1b5做的Web服務器,Web端口是80,待會就從外網(用192.200.200.55來替代)來訪問這個192.168.0.2:80上的網頁)這臺NAT主機上開通了IIS5.0,端口是80,用端口映射的辦法把8081端口映射到內部主機192.168.0.2的80端口上。    
  6、在“路由和遠程訪問服務器安裝嚮導”中選“Internet連接”(就是連向Internet的那個連接),點“下一步”。    
  7、選“完成”    
   
  到此爲止,NAT共享設置也就完成了,內部的主機也能上網了。內部主機的網絡設置如下:    
  IP地址範圍是912.168.0.2~192.168.0.254,子網掩碼爲255.255.255.0,網關爲192.168.0.1,DNS爲ISP給的地址,我們的是211.98.xxx.xxx    
   
  二、利用NAT來映射端口    
   
  1、添加NAT協議。右擊“常規”,-》“新路由選擇協議”    
  2、在“新路由選擇協議”中選擇“網絡地址轉換(NAT)”,點擊“確定”    
  3、這樣在“IP路由選擇”中就多了一項“網絡地址轉換(NAT)”    
  4、右擊“網絡地址轉換(NAT)”,添加“新接口”    
  5、在“網絡地址轉換(NAT)的新接口”中選擇“Internet連接”(也就是連向Internet的那個連接,可不要選錯咯)    
  6、在“網絡地址轉換-Internet連接屬性”中選中“公用接口連接到Internet”,複選“轉換TCP/UDP頭(推薦)”    
  7、在"地址池"選項表裏添加你需要提供端口重定向的起始地址與結束地址.(也就是你要拿出來搞端口映射的所有IP地址,一般情況下我們就一個IP地址,所以可以不用“地址池”不同之處後面再講。    
  8、在"特殊端口"選項表裏提供了你需要定向的數據連接協議(是TCP還是UDP協議,如Web和FTP就是TCP協議的),選準後“添加”    
  9、“添加特殊端口”,這裏就是設置端口映射的核心了,把NAT主機的哪個端口映射到內網主機的哪個端口就在這裏設置,由於設有“地址池”,所以可以在“公網地址”中添上“地址池”中的任一地址,這裏添的是“192.200.200.3”,也就是我的地址,如果你在前面沒有設置“地址池”,那麼在這個選項頁中“在此地址池項”爲灰色不可選,你只能選“在此接口”,也就是你只有一個公網IP地址,這比較適合只有一個IP的朋友,可以不用“地址池”,何必做多餘的設置呢?假如有問題的話,還不是自找麻煩。    
  “傳入端口”就是別人從網外訪問有公網IP的NAT服務器的端口,這裏設的爲8080。    
  “專用地址和傳出地址”就是內部主機的IP地址和提供特殊服務的端口,這裏是把192.200.200.3上的8080端口映射到192.168.0.2上的80端口。    
  這就是TCP協議端口的重定向,至於UDP的定向頁差不多,下圖就是添加端口映射後的情況。  
   
  四、測試結果    
  在192.200.200.55出測試了一下NAT主機上的Web服務器和內網中192.168.0.2上建的Web服務器,得出結果如下:(不好意思,中間改過一下端口號,192.200.200.3上的8081端口映射到192.168.0.2的80端口)    
  Top

5 樓solidpanther(╃╄╃我愛機器貓╄╃╄)回覆於 2004-11-24 11:33:04 得分 2

upTop

6 樓leavealone77(出來混,遲早都是要還的)回覆於 2004-11-24 11:34:39 得分 0

謝謝,我先試試Top

7 樓friendwei(友威)回覆於 2004-11-24 11:35:13 得分 2

來晚了,想掙幾個分,二樓的太快了...Top

8 樓leavealone77(出來混,遲早都是要還的)回覆於 2004-11-24 11:45:56 得分 0

to   zjcxc(鄒建)  
  ***************   能連接到SQL的幾個要素.   **************************  
   
  1.先保證ping通(有防火牆的先關閉防火牆)  
  2.在命令提示符下執行:telnet   <服務器ip地址>   1433   不會報錯  
  -->  
  第二條報錯:無法打開主機的連接   在端口   1433   出錯Top

9 樓zjcxc(鄒建)回覆於 2004-11-24 11:49:39 得分 0

說明你的SQL服務器沒有開放1433端口,或者你的網絡提供商封掉了1433端口Top

10 樓leavealone77(出來混,遲早都是要還的)回覆於 2004-11-24 12:09:39 得分 0

那我該怎麼設置啊Top

11 樓liangjinliang()回覆於 2004-11-24 12:11:56 得分 2

upTop

12 樓zjcxc(鄒建)回覆於 2004-11-24 12:43:28 得分 0

1.如果是防火牆中的限制,則找你的系統管理員,每種防火牆的設置方法不同,不能逐一而論  
   
  2.對於SQL自身的配置,在SQL服務器上做如下檢查:  
      SQL   Server服務器--開始--程序--Microsoft   SQL   Server  
  --服務器網絡實用工具  
  --看看啓用的協議中,有沒有"TCP/IP"  
  --如果沒有的話,要啓用"TCP/IP"協議  
  --點"TCP/IP"協議的屬性,看看端口是多少,如果不是1433,設置爲1433(這是默認的端口)  
   
  3.如果是網絡服務提供商限制,則應該要求你的網絡服務提供商開放此端口  
   
  4.如果你的sql是沒有打補丁的,則補丁一定要先裝上  
    檢查你的SQL有沒有打補丁的方法是在查詢分析器中運行:  
    select   @@version  
    如果出來的版本號是8.00.760以下,則表明你未安裝sp3的補丁,要裝上.  
   
  SQL補丁下載:  
  全部補丁的位置  
  http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766  
  應該安裝的是  
  http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe  
   
  注意下載後,執行的時候是解壓,要在解壓後的目錄中執行setup.bat纔是真正的安裝  
  Top

13 樓zjcxc(鄒建)回覆於 2004-11-24 12:45:05 得分 0

對於第三點,你也可以嘗試按第二點的方法設置sql的端口爲另一個端口,比如:123  
  然後在客戶端用下面的命令看看是否能通  
  telnet   <服務器IP>   123Top

14 樓davorsuker39(大狐狸)回覆於 2004-11-24 13:02:10 得分 2

up  
  Top

15 樓davorsuker39(大狐狸)回覆於 2004-11-24 13:02:16 得分 2

up  
  Top

16 樓davorsuker39(大狐狸)回覆於 2004-11-24 13:03:11 得分 0

一."SQL   Server   不存在或訪問被拒絕"  
   
  這個是最複雜的,錯誤發生的原因比較多,需要檢查的方面也比較多.  
   
  一般說來,有以下幾種可能性:  
   
  1,SQL   Server名稱或IP地址拼寫有誤  
  2,服務器端網絡配置有誤  
  3,客戶端網絡配置有誤  
   
  要解決這個問題,我們一般要遵循以下的步驟來一步步找出導致錯誤的原因.  
   
   
  =============   首先,檢查網絡物理連接   =============  
  ping   <服務器IP地址/服務器名稱>  
   
  如果   ping   <服務器IP地址>   不成功,說明物理連接有問題,這時候要檢查硬件設備,如網卡,HUB,路由器等.  
  還有一種可能是由於客戶端和服務器之間安裝有防火牆軟件造成的,比如   ISA   Server.防火牆軟件可能會屏蔽對   ping,telnet   等的響應  
  因此在檢查連接問題的時候,我們要先把防火牆軟件暫時關閉,或者打開所有被封閉的端口.  
   
  如果ping   <服務器IP地址>   成功而,ping   <服務器名稱>   失敗  
  則說明名字解析有問題,這時候要檢查   DNS   服務是否正常.  
  有時候客戶端和服務器不在同一個局域網裏面,這時候很可能無法直接使用服務器名稱來標識該服務器,這時候我們可以使用HOSTS文件來進行名字解析,  
  具體的方法是:  
   
  1.使用記事本打開HOSTS文件(一般情況下位於C:/WINNT/system32/drivers/etc).  
  添加一條IP地址與服務器名稱的對應記錄,如:  
  172.168.10.24   myserver  
   
  2.或在   SQL   Server   的客戶端網絡實用工具裏面進行配置,後面會有詳細說明.  
   
   
  =============   其次,使用   telnet   命令檢查SQL   Server服務器工作狀態   =============  
  telnet   <服務器IP地址>   1433  
   
  如果命令執行成功,可以看到屏幕一閃之後光標在左上角不停閃動,這說明   SQL   Server   服務器工作正常,並且正在監聽1433端口的   TCP/IP   連接  
  如果命令返回"無法打開連接"的錯誤信息,則說明服務器端沒有啓動   SQL   Server   服務,  
  也可能服務器端沒啓用   TCP/IP   協議,或者服務器端沒有在   SQL   Server   默認的端口1433上監聽.  
   
   
  =============接着,我們要到服務器上檢查服務器端的網絡配置,檢查是否啓用了命名管道.是否啓用了   TCP/IP   協議等等   =============  
  可以利用   SQL   Server   自帶的服務器網絡使用工具來進行檢查.  
   
  點擊:程序   --   Microsoft   SQL   Server   --   服務器網絡使用工具  
   
  打開該工具後,在"常規"中可以看到服務器啓用了哪些協議.  
  一般而言,我們啓用命名管道以及   TCP/IP   協議.  
  點中   TCP/IP   協議,選擇"屬性",我們可以來檢查   SQK   Server   服務默認端口的設置  
  一般而言,我們使用   SQL   Server   默認的1433端口.如果選中"隱藏服務器",則意味着客戶端無法通過枚舉服務器來看到這臺服務器,起到了保護的作用,但不影響連接.  
   
   
  =============   接下來我們要到客戶端檢查客戶端的網絡配置   =============  
  我們同樣可以利用   SQL   Server   自帶的客戶端網絡使用工具來進行檢查,  
  所不同的是這次是在客戶端來運行這個工具.  
   
  點擊:程序   --   Microsoft   SQL   Server   --   客戶端網絡使用工具  
   
  打開該工具後,在"常規"項中,可以看到客戶端啓用了哪些協議.  
  一般而言,我們同樣需要啓用命名管道以及   TCP/IP   協議.  
  點擊   TCP/IP   協議,選擇"屬性",可以檢查客戶端默認連接端口的設置,該端口必須與服務器一致.  
   
  單擊"別名"選項卡,還可以爲服務器配置別名.服務器的別名是用來連接的名稱,  
  連接參數中的服務器是真正的服務器名稱,兩者可以相同或不同.別名的設置與使用HOSTS文件有相似之處.  
   
   
  通過以上幾個方面的檢查,基本上可以排除第一種錯誤.Top

17 樓aliren(阿里人)回覆於 2004-11-24 13:10:38 得分 2

up  
  學習收藏,以後留着用Top

18 樓lzy6204(爲了忘卻的記憶)回覆於 2004-11-24 17:34:38 得分 6

up  
  Top

19 樓skyboy0720(曲終人散)回覆於 2004-11-24 17:37:39 得分 2

又有好東東了!Top

20 樓leavealone77(出來混,遲早都是要還的)回覆於 2004-11-24 17:39:46 得分 0

解決了,謝謝   zjcxc(鄒建)   大哥  
  除了上述原因,還有一個就是補丁沒打  
  呵呵  
  結帖  
  UP的人都有分Top

21 樓Aimar168(跟着微軟走,牽着太陽的手)回覆於 2004-11-25 20:59:13 得分 0

收藏zj老大的Top

22 樓freebirdwjy(自由鳥)回覆於 2004-12-03 11:18:29 得分 0

study....Top

相關問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章