搭建無人執守安裝伺服器
A. 如何進行無人值守linux操作系統的安裝
1.1 什麼是PXE
PXE(Pre-boot Execution Environment,預啟動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網路模式,支持工作站通過網路從遠端伺服器下載映像,並由此支持通過網路啟動操作系統,在啟動過程中,終端要求伺服器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啟動軟體包到本機內存中執行,由這個啟動軟體包完成終端基本軟體設置,從而引導預先安裝在伺服器中的終端操作系統。
嚴格來說,PXE 並不是一種安裝方式,而是一種引導方式。進行 PXE 安裝的必要條件是在要安裝的計算機中必須包含一個 PXE 支持的網卡(NIC),即網卡中必須要有 PXE Client。PXE 協議可以使計算機通過網路啟動。此協議分為 Client端和 Server 端,而PXE Client則在網卡的 ROM 中。當計算機引導時,BIOS 把 PXE Client 調入內存中執行,然後由 PXE Client 將放置在遠端的文件通過網路下載到本地運行。運行 PXE 協議需要設置 DHCP 伺服器和 TFTP 伺服器。DHCP 伺服器會給 PXE Client(將要安裝系統的主機)分配一個 IP 地址,由於是給 PXE Client 分配 IP 地址,所以在配置 DHCP 伺服器時需要增加相應的 PXE 設置。此外,在 PXE Client 的 ROM 中,已經存在了 TFTP Client,那麼它就可以通過 TFTP 協議到 TFTP Server 上下載所需的文件了。
PXE的工作過程:
1. PXE Client 從自己的PXE網卡啟動,向本網路中的DHCP伺服器索取IP;
2. DHCP 伺服器返回分配給客戶機的IP 以及PXE文件的放置位置(該文件一般是放在一台TFTP伺服器上) ;
3. PXE Client 向本網路中的TFTP伺服器索取pxelinux.0 文件;
4. PXE Client 取得pxelinux.0 文件後之執行該文件;
5. 根據pxelinux.0 的執行結果,通過TFTP伺服器載入內核和文件系統 ;
6. 進入安裝畫面, 此時可以通過選擇HTTP、FTP、NFS 方式之一進行安裝;
B. sql2000無人職守自動安裝配置文件如何設置
現在我們的標准安裝已經完成,讓我們討論一下無人值守安裝。Setupsql.exe程序讓你記錄下一個應答文件,它包括了你在安裝程序對話框中常選的對於各種安裝選項的所有回答。稍後,你能夠通過調用以該應答文件作為參數的setupsql.exe命令來運行一個安裝。這種無需任何用戶干預的安裝類型被稱為無人值守安裝。 要准備應答文件,先啟動安裝程序,在安裝選擇對話框中選擇高級選項,在對話框中選擇選取「記錄無人值守.ISS文件」。安裝程序會指導你完成常規的安裝對話框,其中你可以填入所有你想要記錄的選項。當你完成後,安裝程序在\WINNT文件夾下創建一個名為setup.iss的文件。 要啟動一個無人值守安裝,運行setupsql.exe程序,用-s作為執行安靜安裝的參數、-fl參數指定一個應答文件。例如,要啟動一個安靜的、無人值守的安裝——安裝完成後不通知你,你可以使用以下命令: <path>\setupsql.exe –s –fl <path>\setup.iss 如果你想在安裝完成時得到通知,從命令行執行如下setupsql.exe程序,或者把它寫入一個批處理文件中: start /wait <path>\setupsql.exe -s –fl <path>\setup.iss 直到安裝結束,控制才會傳遞到下一條命令。當你從批處理文件啟動安裝,而這個文件又包括其他依賴於安裝的行為時,使用start /wait選項是特別重要的。例如,假設你要為一個名為INST1的命名實例執行無人值守安裝來創建批處理文件,然後啟動SQL Server服務,再運行一個用來創建資料庫及其對象(如:表、存儲過程)的sql腳本。這個批處理文件看起來可能像這樣: start /wait D:\X86\Setup\setupsql.exe –s –fl C:\WINNT\setup.iss net start MSSQL$INST1 OSQL /E /I 「c:\data\scripts\createappdb.sql」 如果你不使用start /wait選項,控制從安裝一開始就移到了批處理文件的第二條命令,而這條NET START命令試圖啟動一個還不存在的服務。 對一個無人值守安裝進行故障排除要比對待標准安裝的故障排除更需要慎重對待。標准安裝往往在安裝程序遇到問題時通過顯示一個包含出錯信息的對話框(並伴有響亮的警告聲)來通知你。而無人值守安裝只是簡單地終止,且沒有交互的通知。 要了解如何對無人值守安裝進行故障排除,讓我們來看一組我遇到過的問題。假設你已經在伺服器上完成了另一個產品的安裝,然後你試圖執行一個SQL Server的無人值守安裝。安裝程序檢測到在前一個安裝結束後伺服器尚未重啟,於是放棄安裝,同時沒有任何信息提示。如果你保持任務管理器窗口打開,你會注意到setupsql.exe 程序不活動,所以SQL Server沒有被安裝。你也應該檢查日誌文件。一旦安裝成功,\WINNT\setup.log文件應該顯示0作為出錯代碼;然而,在我描述的情景中,他很可能顯示-1,這表示一個基本錯誤。你也應該看一下出錯信息。 當執行無人值守安裝時,我遇到過多次的另一個錯誤是「對話框次序紊亂」。在我調用安裝程序後不久我就意識到這一問題的存在——那是在我打開任務管理器並看到setupsql.exe雖然在運行但是沒有像正常的無人值守安裝那樣調用和釋放進程。同時,安裝程序通常在\Program Files\Microsoft SQL Server下創建的文件夾也沒有被創建。Setupsql.exe程序看來並沒有佔用CPU或者I/O資源,只是在大約10分鍾後消失了。Setup.log文件顯示一個-12的錯誤代碼而sqlstp.log文件顯示沒有錯誤——實際上,它看來還未完成。Sqlstp包含了不完整的注意事項,只是一條消息——Begin Action:DialogShow<dialogname>。BOL顯示了以下有關錯誤代碼-12的信息:「對話框次序紊亂。這是一個常見錯誤,由在安裝初始化文件(Setup.iss)文件中的一個對話框次序紊亂所引起。這是由於Setup.iss文件創建過程中的系統問題所產生。」足以確認,在我重新對Setup.iss文件排序後,無人值守安裝成功完成。 除了完全安裝,你還可以執行SQL Server 2000服務包的無人值守安裝。要把服務包應用到默認實例上,從服務包的安裝目錄調用setupsql.exe程序,指明應答文件為位於服務包安裝目錄根目錄下的sql2kdef.iss。例如:如果服務包安裝文件位於c:\sql2ksq2下,執行入下命令: start /wait c:\sql2ksp2\x86\setup\setupsql.exe –s –fl c:\sql2ksp2\sql2kdef.iss 要把服務包應用到命名實例上,使用sql2knm.iss應答文件,但是首先修改文件中的下列兩行來對應正確的命名實例: InstanceName = INSTANCE_NAME NMPPipeName=\\.\pipe\MSSQL$INSTANCE_NAME\sql\query 另一個高級選項——遠程安裝——讓你在一台遠程的電腦上安裝SQL Server 2000。你可以從一台本地的電腦上手工記錄下一個setup.iss文件,把它復制到遠程電腦上,在激活setupsql.exe程序和在遠程電腦上的setup.iss文件。然而,你可以替自己省些麻煩——通過在本地電腦上運行setupsql.exe程序,在電腦名對話框中選擇遠程電腦,指明你想要安裝到的電腦名。當你點擊下一步時,遠程安裝信息對話框會顯示出來。 首先你要提供帳號細節(用戶、密碼、域),到目標文件夾的UNC路徑和源安裝文件的UNC路徑。接下來,安裝程序將指引你完成常規安裝對話框並根據你的選擇記錄下setup.iss文件。接著,程序復制setup.iss文件到目標電腦的\WINNT文件夾下,再用復制的setup.iss文件來激活setupsql.exe。 如果你在目標電腦上打開任務管理器,你會看到setupsql.exe進程在安裝過程中調用和釋放其他進程。在本地電腦上,安裝程序顯示遠程安裝正在進行中,並且會在完成時通知你。
C. 無人值守安裝的常見系統的靜默安裝
Windows XP要執行無人值守安裝,使用安裝管理器,或者Sysprep,這兩個軟體在Windows安裝光碟的Resource kit中,用該軟體產生一個叫Unattended.txt的文件,然後在安裝時執行命令:
winnt[32] /u:<answer file> /s:<install source>
如果要光碟直接啟動執行無人值守安裝,則要把unattended.txt改名為sysprep.inf,放到光碟根目錄的$OEM$$1sysprepsysprep.inf。
如使用Ghost封裝系統,使用sysprep會自動生成路徑,直接做鏡像即可。 Vista級以上系統要執行無人值守安裝,需要使用Microsoft專門推出的WAIK(Windows Automation Installation Kit)Windows自動安裝工具包。安裝該工具後,使用安裝鏡像管理器,可以生成一個unattended.xml,然後打開Windows Deployment Service,然後在安裝光碟鏡像中點擊Properties,在General選項卡勾選Allow image to install in unattend mode,然後瀏覽到unattended.xml。
D. ubuntu怎樣執行無人值守安裝
在桌面點擊圖標打開軟體中心。 1 在軟體中心右上角的搜索欄輸入wine,搜... 2 找到如圖所示的這個程序,滑鼠點擊進行... 3 選中後會出現install按鈕,點擊這個按... 4 在程序里找到安裝好wine程序,點擊打開。 5 打開wine後,可以看到左側的導航...
E. SQL Server的有效安裝[2]
排序規則
接下來 你需要選擇排序規則設置 SQL Server 中的排序規則(Collation)設置用來管理和語言相關的行為 對象名稱和列的值的唯一性 以及排序規則(sorting rules) 在排序規則設置對話框里 你說明排序規則並在SQL Server排序規則和Windows排序規則兩者之間選擇其一 如果你需要和以前SQL Server版本的向後兼容性 選擇SQL Server排序規則——比如 如果你打算在一個早期版本的SQL Server和SQL Server 之間使用復制 否則 選擇Windows排序規則 SQL Server 的排序規則設置 不管是Windows或是SQL Server 合並了在先前版本中的 個獨立的設置 字元集 排序次序和Unicode排序規則 除了整合舊的 個設置到一起外 SQL Server 在排序規則中還提供了比以前版本更為強大的靈活性
在你安裝SQL Server 時選擇的排序規則決定了系統資料庫的排序規則設置 要在安裝後更該系統資料庫的排序規則設置 你需要腳本化所有你的系統對象(比如 登錄 消息 工作)並且運行rebuildm exe 它用新的排序規則重建了所有的系統資料庫 然而 你不必先導出用戶資料庫中的所有數據再在運行完rebuildm exe後把他們再導入——就像你再SQL Server 中所作的那樣 你只須重新連接用戶資料庫到SQL Server 你可以用不同於默認伺服器的排序規則(這是模板系統資料庫的)的排序規則配置你的用戶資料庫 或者甚至用不同於伺服器設置的排序規則連接或恢復一個資料庫 你可以以後修改用戶資料庫的默認排序規則 對於特定的一列 你可以指定不同於默認的資料庫排序規則的一種排序規則 你甚至可以稍後修改列的排序規則——如果該列上沒有創建索引的話
雖然在排序規則方面SQL Server 是靈活的 不要低估了你在安裝時作的選擇 正如我前面所言 伺服器的排序規則應用到所有的系統資料庫並且決定了記錄在系統資料庫中所有對象(如登錄名 資料庫名)的排序規則 進一步而言 tempdb的排序規則也是你在安裝過程中選擇的伺服器排序規則 當你創建一個臨時表 表的列使用tempdb的排序規則——除非你在每列的定義里指明COLLATE 資料庫默認
網路庫
在說明了排序規則設置後 你來到了網路庫對話框 網路庫是客戶機應用程序用來和SQL Server通訊的協議 客戶機和SQL Server都必須有至少一個匹配的網路庫 通過它兩者可以通訊 在網路庫對話框中 你設置SQL Server將會用來和客戶機通訊的網路庫
在SQL Server 中 只有命名管道和多協議允許Windows身份驗證 所有其他網路庫只允許SQL Server身份驗證 這樣一來 對於SQL Server 來說 你想要支持的登錄類型時你選擇網路庫的一個因素 進一步來說 只有多協議允許數據加密 所以如果你SQL Server 支持數據加密 你就不得不選擇這個網路庫 在SQL Server 中 所有網路庫支持Windows身份驗證 在這個意義上你就更加靈活 但是多協議仍然是唯一允許數據加密的網路庫
在SQL Server 里 你可以通過使用SQL Server 網路工具和SQL Server客戶機網路工具的安全套接字層(Secure Socket Layer SSL)來對所有網路庫強制加密 這樣一來 加密因素不再決定網路庫的選擇 同樣 在SQL Server 里 多協議不支持命名實例方案(伺服器名實例名) 這樣的話 當你使用命名實例時 多協議也不是個好的選擇 SQL Server 中最通用的網路庫大概是TCP/IP套接字吧 它提供了良好的性能 允許Windows身份驗證 而且你可以在需要時對它進行強制SSL加密
大多數使用SQL Server早期版本的用戶知道SQL Server的默認TCP埠是埠 當使用默認埠時 客戶機連接除了伺服器名或者IP地址不需要提供埠號 然而 SQL Server 支持多個實例 這無法統統使用同樣的埠號 所以當你安裝一個命名實例時 安裝程序建議把 作為埠號 埠號為 意味著當SQL Server第一次啟動時 它動態地選擇一個空閑的埠號並且把它永久保留或者直到你稍後手工修改它為止 那麼客戶機連接如何繼續通過僅僅提供伺服器名稱/IP地址+實例名而不用指定埠號找到SQL Server呢?SQL Server 中的一個監聽器服務監聽埠 上的客戶機請求 然後通過檢測請求中的實例名並把它和實例的埠號匹配 再把該請求重定向到適當的實例
無人值守和遠程安裝
現在我們的標准安裝已經完成 讓我們討論一下無人值守安裝 Setupsql exe程序讓你記錄下一個應答文件 它包括了你在安裝程序對話框中常選的對於各種安裝選項的所有回答 稍後 你能夠通過調用以該應答文件作為參數的setupsql exe命令來運行一個安裝 這種無需任何用戶干預的安裝類型被稱為無人值守安裝
要准備應答文件 先啟動安裝程序 在安裝選擇對話框中選擇高級選項 在對話框中選擇選取 記錄無人值守 ISS文件 安裝程序會指導你完成常規的安裝對話框 其中你可以填入所有你想要記錄的選項 當你完成後 安裝程序在WINNT文件夾下創建一個名為setup iss的文件
要啟動一個無人值守安裝 運行setupsql exe程序 用 s作為執行安靜安裝的參數 fl參數指定一個應答文件 例如 要啟動一個安靜的 無人值守的安裝——安裝完成後不通知你 你可以使用以下命令
<path> etupsql exe –s –fl <path> etup iss
如果你想在安裝完成時得到通知 從命令行執行如下setupsql exe程序 或者把它寫入一個批處理文件中
start /wait <path> etupsql exe s –fl <path> etup iss
直到安裝結束 控制才會傳遞到下一條命令 當你從批處理文件啟動安裝 而這個文件又包括其他依賴於安裝的行為時 使用start /wait選項是特別重要的 例如 假設你要為一個名為INST 的命名實例執行無人值守安裝來創建批處理文件 然後啟動SQL Server服務 再運行一個用來創建資料庫及其對象(如 表 存儲過程)的sql腳本 這個批處理文件看起來可能像這樣
start /wait D:X etup etupsql exe –s –fl C:WINNT etup iss
net start MSSQL$INST
OSQL /E /I c:data criptscreateappdb sql
如果你不使用start /wait選項 控制從安裝一開始就移到了批處理文件的第二條命令 而這條NET START命令試圖啟動一個還不存在的服務
對一個無人值守安裝進行故障排除要比對待標准安裝的故障排除更需要慎重對待 標准安裝往往在安裝程序遇到問題時通過顯示一個包含出錯信息的對話框(並伴有響亮的警告聲)來通知你 而無人值守安裝只是簡單地終止 且沒有交互的通知
要了解如何對無人值守安裝進行故障排除 讓我們來看一組我遇到過的問題 假設你已經在伺服器上完成了另一個產品的安裝 然後你試圖執行一個SQL Server的無人值守安裝 安裝程序檢測到在前一個安裝結束後伺服器尚未重啟 於是放棄安裝 同時沒有任何信息提示 如果你保持任務管理器窗口打開 你會注意到setupsql exe 程序不活動 所以SQL Server沒有被安裝 你也應該檢查日誌文件 一旦安裝成功 WINNT etup log文件應該顯示 作為出錯代碼 然而 在我描述的情景中 他很可能顯示 這表示一個基本錯誤 你也應該看一下出錯信息
當執行無人值守安裝時 我遇到過多次的另一個錯誤是 對話框次序紊亂 在我調用安裝程序後不久我就意識到這一問題的存在——那是在我打開任務管理器並看到setupsql exe雖然在運行但是沒有像正常的無人值守安裝那樣調用和釋放進程 同時 安裝程序通常在Program FilesMicrosoft SQL Server下創建的文件夾也沒有被創建 Setupsql exe程序看來並沒有佔用CPU或者I/O資源 只是在大約 分鍾後消失了 Setup log文件顯示一個 的錯誤代碼而sqlstp log文件顯示沒有錯誤——實際上 它看來還未完成 Sqlstp包含了不完整的注意事項 只是一條消息——Begin Action DialogShow<dialogname> BOL顯示了以下有關錯誤代碼 的信息 對話框次序紊亂 這是一個常見錯誤 由在安裝初始化文件(Setup iss)文件中的一個對話框次序紊亂所引起 這是由於Setup iss文件創建過程中的系統問題所產生 足以確認 在我重新對Setup iss文件排序後 無人值守安裝成功完成
除了完全安裝 你還可以執行SQL Server 服務包的無人值守安裝 要把服務包應用到默認實例上 從服務包的安裝目錄調用setupsql exe程序 指明應答文件為位於服務包安裝目錄根目錄下的sql kdef iss 例如 如果服務包安裝文件位於c: ql ksq 下 執行入下命令
start /wait c: ql ksp x etup etupsql exe –s –fl c: ql ksp ql kdef iss
要把服務包應用到命名實例上 使用sql knm iss應答文件 但是首先修改文件中的下列兩行來對應正確的命名實例
InstanceName = INSTANCE_NAME
NMPPipeName=\ pipeMSSQL$INSTANCE_NAME qlquery
另一個高級選項——遠程安裝——讓你在一台遠程的電腦上安裝SQL Server 你可以從一台本地的電腦上手工記錄下一個setup iss文件 把它復制到遠程電腦上 在激活setupsql exe程序和在遠程電腦上的setup iss文件 然而 你可以替自己省些麻煩——通過在本地電腦上運行setupsql exe程序 在電腦名對話框中選擇遠程電腦 指明你想要安裝到的電腦名 當你點擊下一步時 遠程安裝信息對話框會顯示出來
首先你要提供帳號細節(用戶 密碼 域) 到目標文件夾的UNC路徑和源安裝文件的UNC路徑 接下來 安裝程序將指引你完成常規安裝對話框並根據你的選擇記錄下setup iss文件 接著 程序復制setup iss文件到目標電腦的WINNT文件夾下 再用復制的setup iss文件來激活setupsql exe
如果你在目標電腦上打開任務管理器 你會看到setupsql exe進程在安裝過程中調用和釋放其他進程 在本地電腦上 安裝程序顯示遠程安裝正在進行中 並且會在完成時通知你
最後的話
雖然基本安裝看來簡單 你仍需隊與你所選擇的安裝選項給予密切注意 並且完全理解它們 良好的安裝選擇為運行和管理SQL Server提供了一個堅實的基礎 而如果你認為執行無人值守安裝和遠程安裝聽起來復雜的話 我希望這篇文章有助於你對它們加深了解
lishixin/Article/program/SQLServer/201311/22413
F. 無人值守安裝(非光碟的)
我記得有個軟體叫小哨兵,你找找看。那個東西好像就能實現lz說的那種功能
G. SQL無人職守安裝問題
在使用 SQL Server 的過程中,用戶遇到的最多的問題莫過於連接失敗了。一般而言,有以下兩種連接 SQL Server 的方式,一是利用 SQL Server 自帶的客戶端工具,如企業管理器、查詢分析器、事務探查器等;二是利用用戶自己開發的客戶端程序,如ASP 腳本、VB程序等,客戶端程序中又是利用 ODBC 或者 OLE DB 等連接 SQL Server。下面,我們將就這兩種連接方式,具體談談如何來解決連接失敗的問題。
一、客戶端工具連接失敗
在使用 SQL Server 自帶的客戶端工具(以企業管理器為例)連接 SQL Server時,最常見的錯誤有如下一些:
1、SQL Server 不存在或訪問被拒絕
ConnectionOpen (Connect())
2、用戶'sa'登錄失敗。原因:未與信任 SQL Server 連接相關聯。
3、超時已過期。
下面我們依次介紹如何來解決這三個最常見的連接錯誤。
第一個錯誤"SQL Server 不存在或訪問被拒絕"通常是最復雜的,錯誤發生的原因比較多,需要檢查的方面也比較多。一般說來,有以下幾種可能性:
1、SQL Server名稱或IP地址拼寫有誤;
2、伺服器端網路配置有誤;
3、客戶端網路配置有誤。
要解決這個問題,我們一般要遵循以下的步驟來一步步找出導致錯誤的原因。
首先,檢查網路物理連接:
ping <伺服器IP地址>
或者
ping <伺服器名稱>
如果 ping <伺服器IP地址> 失敗,說明物理連接有問題,這時候要檢查硬體設備,如網卡、HUB、路由器等。還有一種可能是由於客戶端和伺服器之間安裝有防火牆軟體造成的,比如 ISA Server。防火牆軟體可能會屏蔽對 ping、telnet 等的響應,因此在檢查連接問題的時候,我們要先把防火牆軟體暫時關閉,或者打開所有被封閉的埠。
如果ping <伺服器IP地址> 成功而 ping <伺服器名稱> 失敗,則說明名字解析有問題,這時候要檢查 DNS 服務是否正常。有時候客戶端和伺服器不在同一個區域網裡面,這時候很可能無法直接使用伺服器名稱來標識該伺服器,這時候我們可以使用HOSTS文件來進行名字解析,具體的方法是:
1、使用記事本打開HOSTS文件(一般情況下位於C:\WINNT\system32\drivers\etc).
2、添加一條IP地址與伺服器名稱的對應記錄,如:
172.168.10.24 myserver
也可以在 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 協議,選擇"屬性",可以檢查客戶端默認連接埠的設置,如下圖所示。
該埠必須與伺服器一致。
單擊"別名"選項卡,還可以為伺服器配置別名。伺服器的別名是用來連接的名稱,連接參數中的伺服器是真正的伺服器名稱,兩者可以相同或不同。如下圖中,我們可以使用myserver來代替真正的伺服器名稱sql2kcn-02,並且使用網路庫 Named Pipes。別名的設置與使用HOSTS文件有相似之處。
通過以上幾個方面的檢查,錯誤 1 發生的原因基本上可以被排除。下面我們再詳細描述如何來解決錯誤 2。
當用戶嘗試在查詢分析器裡面使用sa來連接SQL Server,或者在企業管理器裡面使用sa來新建一個SQL Server注冊時,經常會遇到如圖 2 所示的錯誤信息。該錯誤產生的原因是由於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 失敗,那麼我們將遇到一個兩難的境地:首先,伺服器只允許了 Windows 的身份驗證;其次,即使使用了 Windows 身份驗證仍然無法連接上伺服器。這種情形被形象地稱之為"自己把自己鎖在了門外",因為無論用何種方式,用戶均無法使用進行連接。實際上,我們可以通過修改一個注冊表鍵值來將身份驗證方式改為 SQL Server 和 Windows 混合驗證,步驟如下所示:
1、點擊"開始"-"運行",輸入regedit,回車進入注冊表編輯器;
2、依次展開注冊表項,瀏覽到以下注冊表鍵:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
3、在屏幕右方找到名稱"LoginMode",雙擊編輯雙位元組值;
4、將原值從1改為2,點擊"確定";
5、關閉注冊表編輯器;
6、重新啟動SQL Server服務。
此時,用戶可以成功地使用sa在企業管理器中新建SQL Server注冊,但是仍然無法使用Windows身份驗證模式來連接SQL Server。這是因為在 SQL Server 中有兩個預設的登錄帳戶:BUILTIN\Administrators 以及 <機器名>\Administrator 被刪除。要恢復這兩個帳戶,可以使用以下的方法:
1、打開企業管理器,展開伺服器組,然後展開伺服器;
2、展開"安全性",右擊"登錄",然後單擊"新建登錄";
3、在"名稱"框中,輸入 BUILTIN\Administrators;
4、在"伺服器角色"選項卡中,選擇"System Administrators" ;
5、點擊"確定"退出;
6、使用同樣方法添加 <機器名>\Administrator 登錄。
以下注冊表鍵
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
的值決定了SQL Server將採取何種身份驗證模式。該值為1,表示使用Windows 身份驗證模式;該值為2,表示使用混合模式(Windows 身份驗證和 SQL Server 身份驗證)。
看完如何解決前兩個錯誤的方法之後,讓我們來看一下如圖 3 所示的第三個錯誤。
如果遇到第三個錯誤,一般而言表示客戶端已經找到了這台伺服器,並且可以進行連接,不過是由於連接的時間大於允許的時間而導致出錯。這種情況一般會發生在當用戶在Internet上運行企業管理器來注冊另外一台同樣在Internet上的伺服器,並且是慢速連接時,有可能會導致以上的超時錯誤。有些情況下,由於區域網的網路問題,也會導致這樣的錯誤。
要解決這樣的錯誤,可以修改客戶端的連接超時設置。默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是 4 秒,而查詢分析器是 15 秒(這也是為什麼在企業管理器里發生錯誤的可能性比較大的原因)。