㈠ sql 2005網路實用工具問題
可以通過上面的界面配置TCP/IP的網路配置
㈡ 什麼是 SQL Server 客戶端網路實用工具
在你安裝sql
server的時候,必須指定安裝一個或者多個網路鏈接庫。這個組件用於在sql
server和客戶端軟體之間建立一個網路連接。雖然在sql
server上可以安裝並運行多於一個的網路鏈接庫,但是在同一時刻客戶端只能裝載並激活一個網路鏈接庫文件。為了使客戶端能夠通過網路和sql
server進行通信,sql
server和客戶端雙方必須運行相同的網路鏈接庫,否則,它們之間就不能進行通信。
預設情況下,會為客戶端工具安裝命名管道網路鏈接庫。假設sql
server上也使用命名管道,那麼客戶端不加任何改變就可以和sql
server進行通信了。如果為了某種原因,你決定不在sql
server上運行命名管道,那麼你就必須為客戶端選擇一個和sql
server上運行的網路鏈接庫相匹配的網路鏈接庫。
如果你使用的客戶端操作系統並不是windows
nt或者windows
95/98,就有可能必須要選擇另外的網路鏈接庫,例如banyan
vines或者nwlink
ipx/spx網路鏈接庫。如果是這種情況,你同時必須保證sql
server上運行著同樣的網路鏈接庫。
選擇正確的網路鏈接庫對很多資料庫管理員來講可能都比較困惑。選擇的標准在於客戶端如何通過網路與sql
server通信,這個問題比較復雜,因為有很多種在客戶端和伺服器端應用程序之間進行通信的方法。選擇正確的網路鏈接庫的最重要的一點在於要向開發你的sql
server
客戶端/伺服器應用程序的人咨詢。很有可能開發程序的人編寫的應用是在特定的網路鏈接庫上運行的。如果是這種情況,就應該使用運行該應用所需要的網路鏈接庫。
4.
高級配置
很少需要用到客戶端配置工具中的高級配置表單。在這個表單中,你可以設置客戶端軟體在試圖與sql
server進行連接時向sql
server發送特定的配置字元串。
㈢ C#與SQL2005如何連接
資料庫連接你用vs點擊鏈接就行了
using System;
using System.Collections.Generic;
using System.Text;
using Model;
using System.Data;
using System.Data.SqlClient;
1.返回一個結果集
public static DataSet GetDataSet2(string sql)
{
DataSet ds = new DataSet();
string strConn = "server=.;uid=sa;pwd=;database=ShopManegerDB";
SqlConnection conn = new SqlConnection(strConn);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(ds, "Shop");
return ds;
}
2.返回一個影響的行數
public static int update(string sql)
{
string strConn = "server=.;uid=sa;pwd=;database=ShopManegerDB";
SqlConnection conn = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand(sql,conn);
conn.Open();
int i = cmd.ExecuteNonQuery();
conn.Close();
return i;
}
3.其他
Sql Server
· ODBC
o 標准連接(Standard Security):
"Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"
1)當伺服器為本地時Server可以使用(local);
"Driver={SQL Server};Server=(local);Database=pubs;Uid=sa;Pwd=asdasd;"
2)當連接遠程伺服器時,需指定地址、埠號和網路庫
"Driver={SQL Server};Server=130.120.110.001;Address=130.120.110.001,1052;Network=dbmssocn;Database=pubs;Uid=sa;Pwd=asdasd;"
註:Address參數必須為IP地址,而且必須包括埠號
o 信任連接(Trusted connection): (Microsoft Windows NT 集成了安全性)
"Driver={SQL Server};Server=Aron1;Database=pubs;Trusted_Connection=yes;"
或者
"Driver={SQL Server};Server=Aron1;Database=pubs; Uid=;Pwd=;"
o 連接時彈出輸入用戶名和口令對話框:
Conn.Properties("Prompt") = adPromptAlways
Conn.Open "Driver={SQL Server};Server=Aron1;DataBase=pubs;"
· OLE DB, OleDbConnection (.NET)
o 標准連接(Standard Security):
"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
o 信任連接(Trusted connection):
"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"
(如果連接一個具體的已命名SQLServer實例,使用Data Source=Servere Name\Instance Name;但僅適用於 SQLServer2000)例如:」Provider=sqloledb;Data Source=MyServerName\MyInstanceName;Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;」
o 連接時彈出輸入用戶名和口令對話框:
Conn.Provider = "sqloledb"
Conn.Properties("Prompt") = adPromptAlways
Conn.Open "Data Source=Aron1;Initial Catalog=pubs;"
o 通過IP地址連接:
"Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
(DBMSSOCN=TCP/IP代替Named Pipes, Data Source的末尾是需要使用的埠號(預設為1433))
· SqlConnection (.NET)
o 標准連接(Standard Security):
"Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
或者
"Server=Aron1;Database=pubs;User ID=sa;Password=asdasd;Trusted_Connection=False"
(這兩個連接串的結果相同)
o 信任連接(Trusted connection):
"Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"
或者
"Server=Aron1;Database=pubs;Trusted_Connection=True;"
(這兩個連接串的結果相同)
(可以用serverName\instanceName代替Data Source,取值為一個具體的SQLServer實例,但僅適用於 SQLServer2000)
o 通過IP地址連接:
"Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
(DBMSSOCN=TCP/IP代替Named Pipes, Data Source的末尾是需要使用的埠號(預設為1433))
o SqlConnection連接的聲明:
C#:
using System.Data.SqlClient;
SqlConnection SQLConn = new SqlConnection();
SQLConn.ConnectionString="my connectionstring";
SQLConn.Open();
VB.NET:
Imports System.Data.SqlClient
Dim SQLConn As SqlConnection = New SqlConnection()
SQLConn.ConnectionString="my connectionstring"
SQLConn.Open()
· Data Shape
o MS Data Shape
"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=Aron1;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
· 更多
o 如何定義使用哪個協議
§ 舉例:
"Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
名稱 網路協議庫
dbnmpntw Win32 Named Pipes
dbmssocn Win32 Winsock TCP/IP
dbmsspxn Win32 SPX/IPX
dbmsvinn Win32 Banyan Vines
dbmsrpcn Win32 Multi-Protocol (Windows RPC)
§ 重要提示
當通過SQLOLEDB提供者進行連接時使用以下語法:
Network Library=dbmssocn
但通過MSDASQL提供者進行連接時使用以下語法:
Network=dbmssocn
o 所有SqlConnection連接串屬性
§ 下表顯示了ADO.NET SqlConnection對象的所有連接串屬性. 其中大多數的屬性也在ADO中使用.所有屬性和描述來自於msdn.
名稱 預設值 描述
Application Name 應用程序名稱或者當沒有提供應用程序時為.Net SqlClient數據提供者
AttachDBFilename或者extended properties或者Initial File Name 主要文件的名字,包括相關聯資料庫的全路徑。資料庫名字必須通過關鍵字'database'來指定。
Connect Timeout或者Connection Timeout 15 在中止連接請求,產生錯誤之前等待伺服器連接的時間(以秒為單位)
Connection Lifetime 0 當一個連接返回到連接池,當前時間與連接創建時間的差值,如果時間段超過了指定的連接生存時間,此連接就被破壞。它用於聚集設置中在運行伺服器和准備上線的伺服器之間強制負載平衡。
Connection Reset 'true' 當連接從連接池移走時決定是否重置資料庫連接。當設置為'false'時用於避免獲得連接時的額外伺服器往復代價。
Current Language SQL Server語言記錄名稱
Data Source或Server或Address或Addr或Network Address 要連接的SQL Server實例的名字或者網路地址
Enlist 'true' 為真時,連接池自動列出創建線程的當前事務上下文中的連接。
Initial Catalog或Database 資料庫名
Integrated Security或者Trusted_Connection 'false' 連接是否為信任連接。其取值為'true', 'false'和'sspi'(等於'true').
Max Pool Size 100 連接池中允許的最大連接數
Min Pool Size 0 連接池中允許的最小連接數
Network Library或Net 'dbmssocn' 網路庫用於建立與一個 SQL Server實例的連接。值包括dbnmpntw (命名管道), dbmsrpcn (多協議), dbmsadsn (Apple Talk), dbmsgnet (VIA), dbmsipcn (共享內存) 和 dbmsspxn (IPX/SPX), 和 dbmssocn (TCP/IP). 所連接的系統必須安裝相應的動態鏈接庫。如果你沒有指定網路,當你使用一個局部的伺服器 (例如, "." 或者 "(local)"),將使用共享內存
Packet Size 8192 與 SQL Server的一個實例通訊的網路包位元組大小
Password-或Pwd SQL Server帳戶登錄口令
Persist Security Info 'false' 設置為'false',當連接已經打開或者一直處於打開狀態時,敏感性的安全信息 (如口令)不會返回作為連接的一部分信息。
Pooling 'true' 為真時,從合適的連接池中取出SQLConnection對象,或者必要時創建SQLConnection對象並把它增加到合適的連接池中。
User ID SQL Server登錄用戶
Workstation ID the local computer name 連接到SQL Server的工作站名稱
§ 注意:
使用分號分隔每個屬性
如果一個名字出現多於兩次,在連接串中的最後一次出現的值將被使用。
如果你通過在應用中由用戶輸入欄位的值來構建連接串,你必須保證用戶不會通過用戶值里的另一個值插入到一個額外的屬性來改變連接串。
Access
· ODBC
o 標准連接(Standard Security):
"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;"
o 組(系統資料庫)連接 (Workgroup):
兩種方法分別為:在連接串或在打開數據集中指定用戶名和口令
"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;SystemDB=C:\mydatabase.mdw;","admin", ""
或
if(pDB.Open("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;SystemDB=C:\mydatabase.mdw;", "", "DatabaseUser", "DatabasePass"))
{DoSomething();
pDB.Close();
}
o 獨占方式(Exclusive):
"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Exclusive=1;Uid=admin;Pwd="
· OLE DB, OleDbConnection (.NET)
o 標准連接(Standard Security):
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;"
o 組連接 (系統資料庫)
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:System Database=system.mdw;","admin", ""
o 帶口令的連接:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:Database Password=MyDbPassword;","admin", ""
· Oracle
· ODBC
o 新版本:
"Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;"
o 舊版本:
"Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;"
· OLE DB, OleDbConnection (.NET)
o 標准連接(Standard Security):
"Provider=msra;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;"
這是Microsoft的格式, 下面是Oracle的格式(提供者不同)
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd;"
注意:"Data Source=" 必須根據相應的命名方法設置為Net8名稱。例如對於局部命名,它是tnsnames.ora中的別名,對於Oracle命名,它是Net8網路服務名
o 信任連接(Trusted Connection):
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;"
或者設置user ID為 "/"
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=/;Password=;"
· OracleConnection (.NET)
o 標准連接:
"Data Source=Oracle8i;Integrated Security=yes";
這只對Oracle 8i release 3或更高版本有效
o OracleConnection聲明:
C#:
using System.Data.OracleClient;
OracleConnection OracleConn = new OracleConnection();
OracleConn.ConnectionString = "my connectionstring";
OracleConn.Open();
VB.NET:
Imports System.Data.OracleClient
Dim OracleConn As OracleConnection = New OracleConnection()
OracleConn.ConnectionString = "my connectionstring"
OracleConn.Open()
· Data Shape
o MS Data Shape:
"Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;user id=username;password=mypw"
· MySQL
· ODBC
㈣ sql server 2005 提供了哪些實用工具
查詢分析器?
㈤ 怎麼設置sql server 2005網路配置
SQL Server 2005 服務:
第一個選項要啟動;
1、開始->程序-->Microsoft SQL Server 2005>配置工具->SQL Server Configuration Manager->SQL Server 2005 網路配置 ->「xxx(您的資料庫)」的協議,
將「Named Pipes」和「TCP/IP」的狀態調成「啟用」,方法是在「Named Pipes」和「TCP/IP」上右鍵查看其屬性,在其「協議選項卡」中將「已啟用」調成「是」。
2 . (TCP/IP 屬性選項卡)
在「TCP/IP 」屬性選項卡的「IP 地址」選項卡進行如下設置
將「IP1」模塊下的「IP」地址填寫為您本機的IP地址
將「TCP 動態埠」設為空(默認為0,改為空)
將「TCP 埠」填寫為「1433」(如果您伺服器上有共存資料庫,請賦給他們不同的TCP埠,寫連接字元串是為其帶上各自的埠號)
將「活動」項和「已啟用」項設為「是」
* 如果用ip連接,IPAL1 的TCP埠也要設置為同樣的埠;
點擊「確定」將以上設置保存就可以用IP來訪問SQL Server 2005資料庫了。
3、Microsoft SQL server 2005————配置工具——SQL server 2005 外圍應用配置器
選擇服務和連接的外圍應用配置器
如圖所示,選擇同時使用TCP/IP和named pipes,應用,確定。然後再重啟一次服務,一般就可以了。
4。如果還不行,可以先用計算機名登陸到資料庫,單擊右鍵,選擇屬性。
安全性選項中 選擇SQL server和windows身份驗證模式;
連接中選擇允許遠程連接到此伺服器。
5、把本機的SQL資料庫設置為伺服器:
要把防火牆關閉,如果還不行就把來賓用戶打開;
如果不想關閉防火牆,就在例外裡面加上埠1433;
㈥ sql2005 怎麼添加伺服器
連接伺服器吧?
1 伺服器名稱默認是你的計算機名稱
一、為 SQL 啟用遠程連接
1. 單擊「開始」,依次指向「程序」、「Microsoft SQL Server 2005」和「配置工具」,然後單擊「SQL Server 外圍應用配置器」。
2. 在「SQL Server 2005 外圍應用配置器」頁上,單擊「服務和連接的外圍應用配置器」。
3. 在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「遠程連接」和「本地連接和遠程連接」,單擊適用於您的環境的相應協議,然後單擊「應用」。
注意:請在接收到以下消息時單擊「確定」:
直到重新啟動資料庫引擎服務後,對連接設置所做的更改才會生效。
4. 在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「服務」和「停止」,等待 MSSQLSERVER 服務停止,然後單擊「啟動」以重新啟動 MSSQLSERVER 服務。
二、啟用 SQL Server Browser 服務
1. 單擊「開始」,依次指向「程序」、「Microsoft SQL Server 2005」和「配置工具」,然後單擊「SQL Server 外圍應用配置器」。
2. 在「SQL Server 2005 外圍應用配置器」頁上,單擊「服務和連接的外圍應用配置器」。
3. 在「服務和連接的外圍應用配置器」頁上,單擊「SQL Server Browser」,在「啟動類型」中單擊「自動」選項,然後單擊「應用」。
注意:在單擊「自動」選項後,每次啟動 Microsoft Windows 時將自動啟動 SQL Server Browser 服務。
4. 單擊「啟動」,然後單擊「確定」。
三、在 Windows 防火牆中為SQL Server 2005 創建例外
1. 在 Windows 防火牆中,單擊「例外」選項卡,然後單擊「添加程序」。
2. 在「添加程序」窗口中,單擊「瀏覽」。
3. 單擊 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe 可執行程序,單擊「打開」,然後單擊「確定」。
注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。
四、在 Windows 防火牆中為 SQL Server Browser 服務創建例外
1. 在 Windows 防火牆中,單擊「例外」選項卡,然後單擊「添加程序」。
2. 在「添加程序」窗口中,單擊「瀏覽」。
3. 單擊 C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 可執行程序,單擊「打開」,然後單擊「確定」。
注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。
五、遠程連接埠設置(很關鍵的一步,很多方法只講了一到四步,卻沒有講到第五步)
1、在伺服器上打開SQL Server Configuration Manager。選擇SQL Server配置治理器->SQL Server 2005網路配置->MSSQLSERVER的協議->TCP/IP,在彈出對話框中選擇IP地址->IPALL->TCP埠,設置為可用埠。(如果默認的1433埠老是連接不上,你就設置為你確認已經打開的埠試試,如21埠等)
2、在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「服務」和「停止」,等待 MSSQLSERVER 服務停止,然後單擊「啟動」以重新啟動 MSSQLSERVER 服務。
六、測試連接
1、打開SQL2005登陸界面,輸入伺服器IP和用戶名及密碼。
如:
伺服器名稱:192.168.1.200,21
用戶名:sa
密碼:sa
點連接,結果連接成功。
PS:上面的伺服器名稱中的,21中的21第五步中第1步中設置的IPALL中的TCP埠
遠程連接SQL SERVER 2000伺服器方法
遠程連接SQL Server 2000的解決方案:
需求如下:需要遠程連接外地的SQL Server 2000伺服器。
測試條件:一個公網IP,兩個靜態IP。
具體步驟:
一、ping伺服器IP能否ping通
觀察遠程SQL Server 2000伺服器的物理連接是否存在。如果不行,請檢查,查看配置,當然得確保遠程sql server 2000伺服器的IP拼寫正確。
二 在Dos或命令行下輸入telnet 伺服器IP 埠,看能否連通
如telnet 202.114.100.100 1433
通常埠值是1433,因為1433是SQL Server 2000的對於Tcp/IP的默認偵聽埠。如果有問題,通常這一步會出問題。通常的提示是「……無法打開連接,連接失敗"。
如果這一步有問題,應該檢查以下選項。
1.檢查遠程伺服器是否啟動了sql server 2000服務。如果沒有,則啟動。
2.檢查伺服器端有沒啟用Tcp/IP協議,因為遠程連接(通過網際網路)需要靠這個協議。檢查方法是,在伺服器上打開 開始菜單->程序->Microsoft SQL Server->伺服器網路實用工具,看啟用的協議里是否有tcp/ip協議,如果沒有,則啟用它。
3.檢查伺服器的tcp/ip埠是否配置為1433埠。仍然在伺服器網路實用工具里查看啟用協議裡面的tcp/ip的屬性,確保默認埠為1433,並且隱藏伺服器復選框沒有勾上。
事實上,如果默認埠被修改,也是可以的,但是在客戶端做telnet測試時,寫伺服器埠號時必須與伺服器配置的埠號保持一致。如果隱藏伺服器復選框被勾選,則意味著客戶端無法通過枚舉伺服器來看到這台伺服器,起到了保護的作用,但不影響連接,但是Tcp/ip協議的默認埠將被隱式修改為2433,在客戶端連接時必須作相應的改變。
4.如果伺服器端打過sp2補丁,則要對windows作一定的配置,要對它開放1433埠,通常在測試時可以直接關掉windows防火牆(其他的防火牆也關掉最好)。
5.檢查伺服器是否在1433埠偵聽。如果伺服器沒有在tcp連接的1433埠偵聽,則是連接不上的。檢查方法是在伺服器的dos或命令行下面輸入netstat -a -n 或者是netstat -an,在結果列表裡看是否有類似 tcp 127.0.0.1 1433 listening 的項。如果沒有,則通常需要給sql server 2000打上至少sp3的補丁。其實在伺服器端啟動查詢分析器,輸入 select @@version 執行後可以看到版本號,版本號在8.0.2039以下的都需要打補丁。
如果以上都沒問題,這時你再做telnet 伺服器ip 1433 測試,將會看到屏幕一閃之後游標在左上角不停閃動。恭喜你,你馬上可以開始在企業管理器或查詢分析器連接了。
三、檢查客戶端設置
程序->Microsoft SQL Server -> 客戶端網路使用工具。像在伺服器網路實用工具里一樣,確保客戶端tcp/ip協議啟用,並且默認埠為1433(或其他埠,與伺服器端保持一致就行)。
四、在企業管理器里或查詢那分析器連接測試
企業管理器->右鍵SQlserver組->新建sqlserver注冊->下一步->寫入遠程IP->下一步->選Sqlserver登陸->下一步->寫入登陸名與密碼(sa,password)->下一步->下一步->完成
查詢分析器->文件->連接->寫入遠程IP->寫入登錄名和密碼(sa,password)->確定
通常建議在查詢分析器里做,因為默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是4秒,而查詢分析器是15秒。
修改默認連接超時的方法:
企業管理器->工具->選項->在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡->連接設置->在 登錄超時(秒) 後面的框里輸入一個較大的數字
查詢分析器->工具->選項->連接->在 登錄超時(秒) 後面的框里輸入一個較大的數字
通常就可以連通了,如果提示錯誤,則進入下一步。
五、錯誤產生的原因通常是由於SQL Server使用了"僅 Windows"的身份驗證方式,因此用戶無法使用SQL Server的登錄帳戶(如 sa )進行連接。解決方法如下所示:
1.在伺服器端使用企業管理器,並且選擇"使用 Windows 身份驗證"連接上 SQL Server。
2.展開"SQL Server組",右鍵點擊SQL Server伺服器的名稱,選擇"屬性",再選擇"安全性"選項卡。
3.在"身份驗證"下,選擇"SQL Server和 Windows "。
4.重新啟動SQL Server服務。(在dos或命令行下面net stop mssqlserver停止服務,net start mssqlserver啟動服務,也是一種快捷的方法)。
注釋:在連接本地伺服器時,通常使用的是命名管道協議(在伺服器網路實用工具里可以看到啟用的協議有這個),默認埠是445,因此在本地能連通是不能說明什麼問題的,連接遠程伺服器是完全不同的協議),再次連接,顯示連接成功.
㈦ SQL 2005配置工具里 SQL native client 新建別名 無法輸入
步驟1.
打開SQL Server Configuration Manager,查看裡面的SQL Native Client 配置,判斷裡面的別名是否配置。
注意:如果遠程連接異地資料庫,可以使用此種方法進行別名配置,連接異地資料庫。
步驟2.
徹底解決SQL SERVER 2005無法遠程連接的問題
一、為 SQL 啟用遠程連接
1. 單擊「開始」,依次指向「程序」、「Microsoft SQL Server 2005」和「配置工具」,然後單擊「SQL Server 外圍應用配置器」。
2. 在「SQL Server 2005 外圍應用配置器」頁上,單擊「服務和連接的外圍應用配置器」。
3. 在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「遠程連接」和「本地連接和遠程連接」,單擊適用於您的環境的相應協議,然後單擊「應用」。
注意:請在接收到以下消息時單擊「確定」:
直到重新啟動資料庫引擎服務後,對連接設置所做的更改才會生效。
4. 在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「服務」和「停止」,等待 MSSQLSERVER 服務停止,然後單擊「啟動」以重新啟動 MSSQLSERVER 服務。
二、啟用 SQL Server Browser 服務
1. 單擊「開始」,依次指向「程序」、「Microsoft SQL Server 2005」和「配置工具」,然後單擊「SQL Server 外圍應用配置器」。
2. 在「SQL Server 2005 外圍應用配置器」頁上,單擊「服務和連接的外圍應用配置器」。
3. 在「服務和連接的外圍應用配置器」頁上,單擊「SQL Server Browser」,在「啟動類型」中單擊「自動」選項,然後單擊「應用」。
注意:在單擊「自動」選項後,每次啟動 Microsoft Windows 時將自動啟動 SQL Server Browser 服務。
4. 單擊「啟動」,然後單擊「確定」。
三、在 Windows 防火牆中為SQL Server 2005 創建例外
1. 在 Windows 防火牆中,單擊「例外」選項卡,然後單擊「添加程序」。
2. 在「添加程序」窗口中,單擊「瀏覽」。
3. 單擊 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe 可執行程序,單擊「打開」,然後單擊「確定」。
注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。
四、在 Windows 防火牆中為 SQL Server Browser 服務創建例外
1. 在 Windows 防火牆中,單擊「例外」選項卡,然後單擊「添加程序」。
2. 在「添加程序」窗口中,單擊「瀏覽」。
3. 單擊 C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 可執行程序,單擊「打開」,然後單擊「確定」。
注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。
五、遠程連接埠設置(很關鍵的一步,很多方法只講了一到四步,卻沒有講到第五步)
1、在伺服器上打開SQL Server Configuration Manager。選擇SQL Server配置治理器->SQL Server 2005網路配置->MSSQLSERVER的協議->TCP/IP,在彈出對話框中選擇IP地址->IPALL->TCP埠,設置為可用埠。(如果默認的1433埠老是連接不上,你就設置為你確認已經打開的埠試試,如21埠等)
2、在「服務和連接的外圍應用配置器」頁上,展開「資料庫引擎」,依次單擊「服務」和「停止」,等待 MSSQLSERVER 服務停止,然後單擊「啟動」以重新啟動 MSSQLSERVER 服務。
六、測試連接(客戶端和伺服器端均為windows7)
案例1、打開SQL2005登陸界面,輸入伺服器IP和用戶名及密碼。
如:
伺服器名稱:192.168.1.200,21
用戶名:sa
密碼:sa
點連接,結果連接成功。
PS:上面的伺服器名稱中的,21中的21第五步中第1步中設置的IPALL中的TCP埠
案例2.在客戶端打開SQLserver2005 management studio,輸入伺服器名和用戶名及密碼。
伺服器名稱:伺服器IP地址,可用埠號\[伺服器實例名]
如:118.229.***.***,1433\SQLSERVER2005 (如果不寫伺服器實例名,則使用默認實例名,即如果只有一個實例名的話可以不用寫伺服器實例名)
用戶名:sa
密碼:123
點連接,可以連接成功
PS:上面的伺服器名稱中可用埠號是第五步中第1步中設置的IPALL中的TCP埠,如設置1433,21這些已打開埠均可。
步驟3.
SQL Server 2005 遠程連接
配置TCP/IP屬性.
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT
SQL Server 外圍應用配置器—服務和連接外圍配置—database englie—遠程連接—啟用(遠程連接的TCP/IP和named pipes)
SQL Server Configuration Manager—SQL2005網路配置—啟用TCP/IP和named pipes
-----------------------------------------------------------------------------------------
一般按如上即可.
其他說明見下:
sqlserver2005(Express版),為了便於管理,你還需要去下一個manage管理器,微軟的官方網站有
下,安裝好manage管理器後,在程序中連接sqlserver2005,下面幾點是要注意的。
1. 開啟sql2005遠程連接功能,開啟辦法如下,
配置工具->sql
server外圍應用配置器->服務和連接的外圍應用配置器->打開MSSQLSERVER節點下的Database Engine
節點,先擇"遠程連接",接下建議選擇"同時使用TCP/IP和named pipes",確定後,重啟資料庫服務就可以了.
2.登陸設置改為,Sql server and windows Authentication方式同時選中,具體設置如下:
manage管理器->windows
Authentication(第一次用windows方式進去),->對象資源管理器中選擇你的數據伺服器--右鍵>屬
性>security>Sql server and windows Authentication方式同時選中.
3:設置一個Sql server方式的用戶名和密碼,具體設置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
這樣就設置了一個用戶名為sa ,密碼為:sa123456的用戶,下次在登陸時,可以用Sql server方式,
用戶名為sa ,密碼為:sa123456的用戶進資料庫了.
4: 做完上面三步後,這樣寫連接字元串就可以順利進入資料庫了,
(server=.\\sqlexpress;uid=sa;pwd=sa123456;database=master";
其它版本,做如下設置
程序—Microsoft SQL Server 2005—配置工具—SQL Server 外圍應用配置器—服務和連接的外圍應用配置器—
1、MSSQLserver(實例名)—DataBase Engine—遠程連接—(設置選項)
在下方選項
2、SQL Server Browser—服務(停止時只本機訪問)
3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—網路連接協議-選擇實例對應協議—啟用(shard memory、Named Pipes、TCP\IP)
注: SQL Server 瀏覽器程序以服務的形式在伺服器上運行。SQL Server 瀏覽器偵聽對 Microsoft SQL Server 資源的傳入請求,
並提供計算機上安裝的 SQL Server 實例的相關信息。
SQL Server 瀏覽器可用於執行下列三種操作:
瀏覽可用伺服器
連接到正確的伺服器實例
連接到專用管理員連接 (DAC) 端點
SQL Server Browser 服務 (sqlbrowser) 為資料庫引擎 和 SSAS 的每個實例提供實例名稱和版本號。
SQL Server 瀏覽器隨 Microsoft SQL Server 2005 一起安裝,
為該計算機上運行的早期版本的 SQL Server(從 Microsoft SQL Server 7.0 開始)提供此服務。
-----------------------------------------------------------------------------------------------------
步驟4.
打開sql server 2000的1433埠和進行遠程連接設置.
SQL code遠程連接sql server 2000伺服器的解決方案
一 看ping 伺服器IP能否ping通。
這個實際上是看和遠程sql server 2000伺服器的物理連接是否存在。如果不行,請檢查網路,查看配置,當然得確保遠程
sql server 2000伺服器的IP拼寫正確。
二 在Dos或命令行下輸入telnet 伺服器IP 埠,看能否連通。
如telnet 202.114.100.100 1433
通常埠值是1433,因為1433是sql server 2000的對於Tcp/IP的默認偵聽埠。如果有問題,通常這一步會出問題。通常的提示
是「……無法打開連接,連接失敗"。
如果這一步有問題,應該檢查以下選項。
1 檢查遠程伺服器是否啟動了sql server 2000服務。如果沒有,則啟動。
2 檢查伺服器端有沒啟用Tcp/IP協議,因為遠程連接(通過網際網路)需要靠這個協議。檢查方法是,在伺服器上打開 開始菜單->
程序-> Microsoft SQL Server-> 伺服器網路實用工具,看啟用的協議里是否有tcp/ip協議,如果沒有,則啟用它。
3 檢查伺服器的tcp/ip埠是否配置為1433埠。仍然在伺服器網路實用工具里查看啟用協議裡面的tcp/ip的屬性,確保默認
埠為1433,並且隱藏伺服器復選框沒有勾上。
事實上,如果默認埠被修改,也是可以的,但是在客戶端做telnet測試時,寫伺服器埠號時必須與伺服器配置的埠號
保持一致。如果隱藏伺服器復選框被勾選,則意味著客戶端無法通過枚舉伺服器來看到這台伺服器,起到了保護的作用,但不
影響連接,但是Tcp/ip協議的默認埠將被隱式修改為2433,在客戶端連接時必須作相應的改變。
4 如果伺服器端操作系統打過sp2補丁,則要對windows防火牆作一定的配置,要對它開放1433埠,通常在測試時可以直接關掉
windows防火牆(其他的防火牆也關掉最好)。
5 檢查伺服器是否在1433埠偵聽。如果伺服器沒有在tcp連接的1433埠偵聽,則是連接不上的。檢查方法是在伺服器的dos或命令行下面輸入
netstat -a -n 或者是netstat -an,在結果列表裡看是否有類似 tcp 127.0.0.1 1433 listening 的項。如果沒有,則通常需要給
sql server 2000打上至少sp3的補丁。其實在伺服器端啟動查詢分析器,輸入 select @@version 執行後可以看到版本號,版本號
在8.0.2039以下的都需要打補丁。
如果以上都沒問題,這時你再做telnet 伺服器ip 1433 測試,將會看到屏幕一閃之後游標在左上角不停閃動。恭喜你,
你馬上可以開始在企業管理器或查詢分析器連接了。
三 檢查客戶端設置
程序-> Microsoft SQL Server -> 客戶端網路使用工具。像在伺服器網路實用工具里一樣,確保客戶端tcp/ip協議啟用,並且
默認埠為1433(或其他埠,與伺服器端保持一致就行)。
四 在企業管理器里或查詢那分析器連接測試
企業管理器-> 右鍵SQlserver組-> 新建sqlserver注冊-> 下一步-> 寫入遠程IP-> 下一步-> 選Sqlserver登陸-> 下一步-> 寫入
登陸名與密碼(sa,password)-> 下一步-> 下一步-> 完成
查詢分析器-> 文件-> 連接-> 寫入遠程IP-> 寫入登錄名和密碼(sa,password)-> 確定
通常建議在查詢分析器里做,因為默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是4秒,而查詢分析器是
15秒。
修改默認連接超時的方法:
企業管理器-> 工具-> 選項-> 在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡-> 連接設置-> 在 登錄超時
(秒) 後面的框里輸入一個較大的數字
查詢分析器-> 工具-> 選項-> 連接-> 在 登錄超時(秒) 後面的框里輸入一個較大的數字
通常就可以連通了,如果提示錯誤,則進入下一步。
五 錯誤產生的原因通常是由於SQL Server使用了"僅 Windows"的身份驗證方式,因此用戶無法使用SQL Server的登錄帳戶
(如 sa )進行連接。解決方法如下所示:
1 在伺服器端使用企業管理器,並且選擇"使用 Windows 身份驗證"連接上 SQL Server。
2 展開"SQL Server組",滑鼠右鍵點擊SQL Server伺服器的名稱,選擇"屬性",再選擇"安全性"選項卡。
3 在"身份驗證"下,選擇"SQL Server和 Windows "。
4 重新啟動SQL Server服務。(在dos或命令行下面net stop mssqlserver停止服務,net start mssqlserver啟動服務,也是一種快捷的方法)。
步驟5.
SQL Server 2005 不允許遠程連接解決方法
做課程設計時,很多學生都遇到這個問題。把解決方法寫在這兒,供參考。
剛剛安裝的資料庫系統,按照默認安裝的話,很可能在進行遠程連接時報錯,通常是錯誤:"在連接到 SQL Server 2005 時,在默認的設置下 SQL Server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接) "搜MSDN,上面有一片機器翻譯的文章,是在讓人難以明白,現在總結如下:明白了SQL Server是個網路資料庫就可迎刃而解了,簡單的分為下面的集中情況。
1. 資料庫引擎沒有啟動。
有兩種啟動方式:
(1)開始->程序->Microsoft SQL Server 2005->SQL Server 2005外圍應用配置器,在打開的界面單擊"服務的連接的外圍應用配置器",在打開的界面中找到Database Engine,單擊"服務",在右側查看是否已啟動,如果沒有啟動可單擊"啟動",並確保"啟動類型"為自動,不要為手動,否則下次開機時又要手動啟動;
(2)可打開:開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,選中SQL Server 2005服務中SQL Server(MSSQLSERVER) ,並單擊工具欄中的"啟動服務"按鈕把服務狀態改為啟動;
使用上面兩種方式時,有時候在啟動的時候可能會出現錯誤,不能啟動,這時就要查看"SQL Server 2005配置管理器"中的SQL Server 2005網路配置->MSSQLSERVER協議中的VIA是否已啟用,如果已啟用,則把它禁止.然後再執行上述一種方式操作就可以了.
2. 是否已經允許遠程連接。
這個部分可以簡單的分為4個方面,分別是在 SQL Server上啟用遠程連接、啟用SQL Server 瀏覽服務、在Windows 防火牆中為SQL Server 2005 創建例外和在Windows 防火牆中為「SQLBrowser」創建例外。下面是幾個具體的操作方式,摘自MSDN,個人覺得文章的黑體部分應當特別的一起我們的注意。
在SQLServer 實例上啟用遠程連接
1.指向「開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外圍應用配置器」
2.在「SQL Server 2005 外圍應用配置器」頁, 單擊「服務和連接的外圍應用配置器」
3.然後單擊展開「資料庫引擎」, 選中「遠程連接」,在右邊選中「本地連接和遠程連接」,
再選擇要使用的協議,( 這個地方應當啟用TCP/IP 和命名管道服務!)單擊「應用」,您會看到下消息:
「直到重新啟動資料庫引擎服務後,對連接設置所做的更改才會生效。」,單擊「確定」按鈕返回
4.展開「資料庫引擎」, 選中「服務」,在右邊單擊「停止」,等到 MSSQLSERVER 服務停止,
然後單擊「啟動」,重新啟動MSSQLSERVER 服務。
啟用 SQLServer 瀏覽器服務
1.指向「開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外圍應用配置器」
2.在「SQL Server 2005 外圍應用配置器」頁, 單擊「服務和連接的外圍應用配置器」
3.然後單擊展開「SQL Server Browser」, 選中「服務」,在右邊「啟動類型」選擇「自動」,
再單擊「啟動」,單擊「確定」按鈕返回
在Windows 防火牆中為「SQL Server 2005」創建例外
1.在 Windows 防火牆設置界面中,選擇「 例外」 選項卡,然後單擊「添加程序」
2.在「添加程序窗口」中單擊「瀏覽」
3.然後找到「C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\ MSSQL.1 \MSSQL\Binn\sqlservr.exe」,
單擊「確定」返回
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。 MSSQL.1 是佔位符,對應資料庫實例ID。
4.對每個需要打開遠程訪問的SQL Server 2005 實例,重復步驟 1 至 3。
在Windows 防火牆中為「SQLBrowser」創建例外
1.在 Windows 防火牆設置界面中,選擇「 例外」 選項卡,然後單擊「添加程序」
2.在「添加程序窗口」中單擊「瀏覽」
3.然後找到「C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe」,
單擊「確定」返回
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。
㈧ 連接 SQL Server 2005時的問題,看下能解決的幫下我!謝謝
看看下面的對你有幫助么?
在我們剛剛安裝sql2005時經常遇到無法連接的問題,一般可歸結為以下幾類:
一."SQL Server 不存在或訪問被拒絕"
這個是最復雜的,錯誤發生的原因比較多,需要檢查的方面也比較多.
一般說來,有以下幾種可能性:
1.SQL Server名稱或IP地址拼寫有誤
2.伺服器端網路配置有誤
3.客戶端網路配置有誤
要解決這個問題,我們一般要遵循以下的步驟來一步步找出導致錯誤的原因.
首先,檢查網路物理連接
ping
如果 ping 不成功,說明物理連接有問題,這時候要檢查硬體設備,如網卡,HUB,路由器等.
還有一種可能是由於客戶端和伺服器之間安裝有防火牆軟體造成的,比如 ISA Server.防火牆軟體可能會屏蔽對 ping,telnet 等的響應,因此在檢查連接問題的時候,我們要先把防火牆軟體暫時關閉,或者打開所有被封閉的埠.
如果ping 成功而,ping 失敗,則說明名字解析有問題,這時候要檢查 DNS 服務是否正常.
有時候客戶端和伺服器不在同一個區域網裡面,這時候很可能無法直接使用伺服器名稱來標識該伺服器,這時候我們可以使用HOSTS文件來進行名字解析,具體的方法是:
1.使用記事本打開HOSTS文件(一般情況下位於C:WINNTsystem32driversetc).
添加一條IP地址與伺服器名稱的對應記錄,如:
172.168.10.24 myserver
2.或在 SQL Server 的客戶端網路實用工具裡面進行配置,後面會有詳細說明.
其次,使用 telnet 命令檢查SQL Server伺服器工作狀態
telnet 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文件有相似之處.
通過以上幾個方面的檢查,基本上可以排除第一種錯誤.
二."無法連接到伺服器,用戶xxx登陸失敗"
該錯誤產生的原因是由於SQL Server使用了"僅 Windows"的身份驗證方式,因此用戶無法使用SQL Server的登錄帳戶(如 sa )進行連接.解決方法如下所示:
1.在伺服器端使用企業管理器,並且選擇"使用 Windows 身份驗證"連接上 SQL Server
2.展開"SQL Server組",滑鼠右鍵點擊SQL Server伺服器的名稱,選擇"屬性",再選擇"安全性"選項卡
3.在"身份驗證"下,選擇"SQL Server和 Windows ".
4.重新啟動SQL Server服務.
在以上解決方法中,如果在第 1 步中使用"使用 Windows 身份驗證"連接 SQL Server 失敗,那就通過修改注冊表來解決此問題:
1.點擊"開始" "運行",輸入regedit,回車進入注冊表編輯器
2.依次展開注冊表項,瀏覽到以下注冊表鍵:
[HKEY_LOCAL_MACHINESOFTWARE Microsoft MSSQLServer MSSQLServer]
3.在屏幕右方找到名稱"LoginMode",雙擊編輯雙位元組值
4.將原值從1改為2,點擊"確定"
5.關閉注冊表編輯器
6.重新啟動SQL Server服務.
此時,用戶可以成功地使用sa在企業管理器中新建SQL Server注冊,
但是仍然無法使用Windows身份驗證模式來連接SQL Server.
這是因為在 SQL Server 中有兩個預設的登錄帳戶:
BUILTINAdministrators
Administrator 被刪除.
要恢復這兩個帳戶,可以使用以下的方法:
1.打開企業管理器,展開伺服器組,然後展開伺服器
2.展開"安全性",右擊"登錄",然後單擊"新建登錄"
3.在"名稱"框中,輸入 BUILTINAdministrators
4.在"伺服器角色"選項卡中,選擇"System Administrators"
5.點擊"確定"退出
6.使用同樣方法添加 Administrator 登錄.
說明:
以下注冊表鍵:
HKEY_LOCAL_MACHINESOFTWAREMicrosoft MSSQLServer MSSQLServerLoginMode
的值決定了SQL Server將採取何種身份驗證模式.
1.表示使用"Windows 身份驗證"模式
2.表示使用混合模式(Windows 身份驗證和 SQL Server 身份驗證).
三.提示連接超時
如果遇到第三個錯誤,一般而言表示客戶端已經找到了這台伺服器,並且可以進行連接,不過是由於連接的時間大於允許的時間而導致出錯.
這種情況一般會發生在當用戶在Internet上運行企業管理器來注冊另外一台同樣在Internet上的伺服器,並且是慢速連接時,有可能會導致以上的超時錯誤.有些情況下,由於區域網的網路問題,也會導致這樣的錯誤.
要解決這樣的錯誤,可以修改客戶端的連接超時設置.
默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是 4 秒,而查詢分析器是 15 秒(這也是為什麼在企業管理器里發生錯誤的可能性比較大的原因).
具體步驟為:
企業管理器中的設置:
1.在企業管理器中,選擇菜單上的"工具",再選擇"選項"
2.在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡
3.在"連接設置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數字,如 20.
查詢分析器中的設置:
工具 選項 連接 將登錄超時設置為一個較大的數字
連接超時改為0
1、先保證ping通
2、在dos下寫入telnet ip 1433不會報錯
3、用ip連如企業管理器:
企業管理器>右鍵SQlserver組>新建sqlserver注冊>下一步>寫入遠程實例名(IP,機器名)>下一步>選Sqlserver登陸>下一步>寫入登陸名與密碼(sa,pass)>下一步>下一步>完成
4、如果還不行:
sqlserver伺服器>開始菜單>SQLserver>伺服器網路實用工具>啟用 WinSock代理>代理地址:(sqlserver伺服器IP)>代理埠>1433>OK了
5、如果還不行:
sqlserver客戶端>開始菜單>SQLserver>客戶端網路實用工具>別名>添加>寫入別名如"大力">"網路庫"選tcp/ip>伺服器名稱寫入遠程ip或實例名>OK了