很久筆者沒有來這里寫東西了,因為真的很忙。
最近筆者一直在使用Win2008系統(tǒng),不過發(fā)現(xiàn)一個很奇怪的問題,那就是在該系統(tǒng)上安裝了SQL2005后,再在其他計算機(jī)訪問該主機(jī)顯示不能訪問。

其他主機(jī)上也安裝了SQL2005,可是連接Win2008系統(tǒng)上的SQL時就出現(xiàn)了這樣的報錯信息。
當(dāng)時筆者很困惑,是為什么?
因為Win2003系統(tǒng)中,從來不會有這樣的問題發(fā)生。
筆者錯誤的任務(wù),是Win2008系統(tǒng)和SQL2005系統(tǒng)的不兼容,或者有不匹配的問題導(dǎo)致了這樣的問題發(fā)生。
經(jīng)過很長時間的想法,筆者出了很多解決方案。
其中一個就是,在Win2008系統(tǒng)上安裝SQL2008。
這樣屬于同一時代的系統(tǒng),就不應(yīng)該出現(xiàn)這樣的問題。
以下是其它網(wǎng)友的補(bǔ)充:
vs2008連接sql2005的問題(provider:命名管道提供程序,error:40-無法打開到 SQL Server 的連接)
未找到或無法訪問服務(wù)器。請驗證實例名稱是否正確并且 SQL Server 已配置為允許遠(yuǎn)程連接。 (provider: Named Pipes Provider, error: 40 - 無法打開到 SQL Server 的連接)
主要過程:
1.在 Visual Web Developer 中,切換到“設(shè)計”視圖中。
2.從“工具箱”的“數(shù)據(jù)”文件夾中,將 GridView 控件拖動到頁面上。
3.如果未顯示“GridView 任務(wù)”快捷菜單,則右擊 GridView 控件,然后單擊“顯示智能標(biāo)記”。
4.在“GridView 任務(wù)”菜單上的“選擇數(shù)據(jù)源”列表中,單擊“新建數(shù)據(jù)源>”。
出現(xiàn)“數(shù)據(jù)源配置”對話框。
5.單擊“數(shù)據(jù)庫”。
這將指定您要從支持 SQL 語句的數(shù)據(jù)庫中獲取數(shù)據(jù)。此類數(shù)據(jù)庫包括 SQL Server 和其他與 OLE-DB 兼容的數(shù)據(jù)庫。
在“為數(shù)據(jù)源指定 ID”框中,將顯示默認(rèn)的數(shù)據(jù)源控件名稱(“SqlDataSource1”)??梢员A舸嗣Q。
6.單擊“確定”。
7.隨即會顯示“配置數(shù)據(jù)源”向?qū)В渲酗@示了一個可在其中選擇連接的頁面。
單擊“新建連接”。
8.在“選擇數(shù)據(jù)源”對話框的“數(shù)據(jù)源”下,單擊“Microsoft SQL Server”,然后單擊“繼續(xù)”。
即出現(xiàn)“添加連接”對話框。
9.在“服務(wù)器名”框中,輸入要使用的 SQL Server 的名稱。
10.在登錄憑據(jù)中,選擇可用于訪問 SQL Server 數(shù)據(jù)庫的選項(集成安全性或特定的 ID 和密碼),并在需要時輸入一個用戶名和密碼。
11.單擊“選擇或輸入數(shù)據(jù)庫名”,然后輸入“Northwind”。
12.單擊“測試連接”,并在確定該連接生效后單擊“確定”。
隨即會顯示“配置數(shù)據(jù)源 - DataSourceName>”向?qū)?,其中填充了連接信息。
……
就是第12步單擊“測試連接”出了問題,提示錯誤:
在建立與服務(wù)器的連接時出錯。在連接到 SQL Server 2005 時,在默認(rèn)的設(shè)置下 SQL Server 不允許進(jìn)行遠(yuǎn)程連接可能會導(dǎo)致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接)
這個問題以前也遇到過,解決了,可是不知道為什么又出來。解決方法如下:
1.服務(wù)器如果開了防火墻,把它關(guān)閉
2. 開啟sql2005遠(yuǎn)程連接功能,開啟辦法如下,
配置工具->sql server外圍應(yīng)用配置器->服務(wù)和連接的外圍應(yīng)用配置器->打開MSSQLSERVER節(jié)點下的Database Engine 節(jié)點,先擇"遠(yuǎn)程連接",接下建議選擇"同時使用TCP/IP和named pipes",確定后,重啟數(shù)據(jù)庫服務(wù)就可以了.
3.登陸設(shè)置改為,Sql server and windows Authentication方式同時選中,具體設(shè)置如下:
Management Studio管理器->windows Authentication(第一次用windows方式進(jìn)去),->對象資源管理器中選擇你的數(shù)據(jù)服務(wù)器--右鍵>屬性>security>Sql server and windows Authentication方式同時選中.
4.設(shè)置一個Sql server方式的用戶名和密碼,具體設(shè)置如下:
Management Studio管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
這樣就設(shè)置了一個用戶名為sa ,密碼為:sa123456的用戶,下次在登陸時,可以用Sql server方式,
用戶名為sa ,密碼為:sa123456的用戶進(jìn)數(shù)據(jù)庫了.
5.做完上面三步后,這樣寫連接字符串就可以順利進(jìn)入數(shù)據(jù)庫了,
(server=.\\sqlexpress;uid=sa;pwd=sa123456;database=master");
后來用這個管理器才發(fā)現(xiàn),正確的Server名是這樣的,機(jī)器名\SQLEXPRESS而不是LOCALHOST,127.0.0.1,FANCYBOY(機(jī)器名)比如我的是這樣的
Server:FANCYBOY\SQLEXPRESS
原來的是:Server=localhost;database=user;uid=sa;pwd=''
現(xiàn)在的是:Server=.\\SQLEXPRESS;database=user;uid=sa;pwd='' //我就是這出現(xiàn)了問題
還找到了另外一個可能的解決方法:
1.打開IIS屬性-》虛擬目錄屬性-》選Net 2.0-》點‘編輯配置'-》刪除所有連接SQlexpress的項
當(dāng)然,最好連全局的配置也刪除,
2.打開IIS屬性-》站點屬性-》選Net 2.0-》點‘編輯全局配置'
-》刪除所有連接SQlexpress的項.
經(jīng)過以上設(shè)置,還是有錯誤:
SQL SERVER 2005使用sa 登錄失敗-提示該用戶與可信 SQL Server 連接無關(guān)聯(lián)
錯誤提示:
sa 登錄失敗,提示該用戶與可信 SQL Server 連接無關(guān)聯(lián)
解決方法:
1. 打開SQL Server Management Studio Express,右鍵點擊服務(wù)器,選擇Properties(屬性),在彈出窗口中點擊Security(安全)切換到安全面板,將server authentication服務(wù)器認(rèn)證從windows authentication mode(windows用戶認(rèn)證模式)修改為Sql Server and Windows Authentication mode(Sql server和windows認(rèn)證模式),ok。
2. 打開security(安全性) -- logins(登錄名) ,右鍵選中sa,選擇properties(屬性),點擊Status(狀態(tài))切換到狀態(tài)面板,將Login(登錄)設(shè)置為Enabled(啟用)。
(注意:弄完之后要重啟數(shù)據(jù)庫??!)
通過以上設(shè)置即可搞定。如果還不行請檢查其他原因,譬如防火墻等因素