胡國祥
摘 要:近些年在我國圖書館中開始廣泛的應(yīng)用SQL Server和Windows服務(wù)器,使其二者進(jìn)行有效的結(jié)合,形成一種新的數(shù)據(jù)庫服務(wù)器軟件。針對數(shù)據(jù)庫的管理,系統(tǒng)維護(hù)是非常重要的。系統(tǒng)得到良好的運(yùn)行的關(guān)鍵就是全面的維護(hù)。但是在維護(hù)過程中,經(jīng)常會(huì)遇到連接失敗等問題。該文主要針對圖書館SQL服務(wù)器的連接問題,提出具體的解決方式,幫助圖書館數(shù)據(jù)庫管理員和維護(hù)人員進(jìn)行工作。
關(guān)鍵詞:圖書館 SQL 連接問題
中圖分類號(hào):G250.7 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2016)06(a)-0074-02
當(dāng)今計(jì)算機(jī)科學(xué)技術(shù)當(dāng)中發(fā)展最快的就是數(shù)據(jù)庫,也是應(yīng)用最為廣泛的,數(shù)據(jù)庫是信息系統(tǒng)建設(shè)的基礎(chǔ)和支柱。針對數(shù)據(jù)庫的應(yīng)用領(lǐng)域,SQL的價(jià)位比較低,功能又比較豐富,用戶界面比較友好,并且實(shí)現(xiàn)了和Windows系統(tǒng)的繼承,從而在各行各業(yè)當(dāng)中能夠有所涉及,圖書館信息系統(tǒng)的主要數(shù)據(jù)平臺(tái)就是SQL Server,這是非常普遍的。
1 SQL Server連接的通信基礎(chǔ)
1.1 服務(wù)和客戶程序之間的通信方式
SQL服務(wù)和客戶端之間,具有豐富的通信方式,如果客戶端的實(shí)際應(yīng)用程序和SQL Server服務(wù)在同一個(gè)計(jì)算機(jī)中,那么Microsoft Windows中的通信部件,主要就是在通信過程中被應(yīng)用。如果二者屬于不同的計(jì)算機(jī),那么網(wǎng)絡(luò)IPC就會(huì)在通信中被應(yīng)用。
1.2 服務(wù)和客戶程序間的通信協(xié)議
SQL Server通信主要依靠網(wǎng)絡(luò)庫和特定的網(wǎng)絡(luò)協(xié)議,需要在客戶端計(jì)算機(jī)上有效地激活一對匹配的網(wǎng)絡(luò)庫,除此還要在支持待用網(wǎng)絡(luò)協(xié)議的服務(wù)器計(jì)算機(jī)上進(jìn)行激活。如果啟用一個(gè)具體的客戶端的應(yīng)用程序,就要利用特定的SQL Server服務(wù)通信,需要連接到客戶端計(jì)算機(jī)的服務(wù)器當(dāng)中。服務(wù)器TCP需要對服務(wù)器計(jì)算機(jī)進(jìn)行偵聽。在這個(gè)方案當(dāng)中,需要在客戶端計(jì)算機(jī)和服務(wù)器計(jì)算機(jī)中同時(shí)安裝TCO/IP協(xié)議。主要利用客戶端網(wǎng)絡(luò)應(yīng)用程序,對客戶端網(wǎng)絡(luò)庫進(jìn)行有效地配置??梢猿浞掷梅?wù)器網(wǎng)絡(luò)實(shí)用程序有效地配置服務(wù)器網(wǎng)絡(luò)庫。SQL中的服務(wù)器工具在得到安裝的過程中,也需同時(shí)安裝服務(wù)器的網(wǎng)絡(luò)庫。一些服務(wù)器的網(wǎng)絡(luò)庫不能被有效地激活,在默認(rèn)情況下,SQL可以有效地啟用TCP,并且實(shí)行偵聽,對于內(nèi)存可以實(shí)現(xiàn)共享。綜上所述,如果客戶端連接的是一個(gè)服務(wù)器計(jì)算機(jī),那么就需要利用一個(gè)具體的客戶端網(wǎng)絡(luò)庫,而這個(gè)使用的網(wǎng)絡(luò)庫需要匹配到正在使用的服務(wù)器網(wǎng)絡(luò)庫。
2 SQL Server連接問題和解決方式
2.1 SQL Server不存在或者訪問被拒絕
SQL Server在維護(hù)和管理的過程中,普遍都是利用SQL Server自身的客戶端工具,在連接的過程中,經(jīng)常會(huì)出現(xiàn)不存在或者拒絕訪問的問題。發(fā)生這種故障的原因比較多,也比較復(fù)雜,需要在多個(gè)方面進(jìn)行檢查。其中比較常見的原因:SQL Server的名稱或者IP地址出現(xiàn)錯(cuò)誤,或者服務(wù)器端和客戶端在網(wǎng)絡(luò)配置方面存在錯(cuò)誤。
2.1.1 檢查網(wǎng)絡(luò)的物理連接
如果服務(wù)器地址和服務(wù)器名稱被執(zhí)行失敗,那么就說明物理連接存在著問題,需要對網(wǎng)卡、路由器等硬件設(shè)備進(jìn)行檢查,查看連接器和插頭是否存在松動(dòng)的情況??蛻舳撕头?wù)器之間普遍都安裝防火墻,對于ping、talnet的響應(yīng)造成屏蔽,在實(shí)際檢查連接問題的過程中,需要首先暫時(shí)關(guān)閉防火墻軟件,或者將通信所需要的端口進(jìn)行打開。
2.1.2 利用talnet命令檢查SQL Server服務(wù)器的工作狀態(tài)
對talnet進(jìn)行執(zhí)行,如果成功執(zhí)行了命令,那么當(dāng)屏幕一閃之后,在左上角的光標(biāo)就會(huì)一直不停地閃動(dòng),通過這些現(xiàn)象就可以說明SQL Server服務(wù)器正在正常的工作。如果命令出現(xiàn)錯(cuò)誤信息,例如顯示出無法打開連接,這就說明SQL Server服務(wù)器并沒有得到啟動(dòng),還有一種可能就是服務(wù)器并沒有將TCP/IP進(jìn)行啟動(dòng)。在某些時(shí)候,SQL Server默認(rèn)的端口1433上并沒有特定的服務(wù)器進(jìn)行綁定。在命令提示符的影響下,使命令NETSTAT-an得到有效地運(yùn)行,這樣才會(huì)獲得端口的信息,將portqrt命令進(jìn)行有效地執(zhí)行,正在應(yīng)用的端口的更加豐富的信息也會(huì)獲取到。
2.2 身份驗(yàn)證失敗問題
用戶在查詢分析器當(dāng)中,利用sa對SQL Server進(jìn)行連接,或者可以在企業(yè)的管理器當(dāng)中,利用sa重新構(gòu)建一個(gè)SQL Server,在注冊的過程中,有時(shí)就會(huì)出現(xiàn)登錄失敗的情況。主要是因?yàn)椴]有有效地連接SQL Server,出現(xiàn)這樣錯(cuò)誤的信息,主要是因?yàn)镾QL Server采用僅Windows身份認(rèn)證的方式,這樣一來,用戶就無法利用SQL Server進(jìn)行連接。
這里所說的身份認(rèn)證,就是有效地連接SQL Server的實(shí)際用戶,SQL Server主要有兩種有關(guān)身份認(rèn)證的機(jī)制,對服務(wù)器的訪問安全進(jìn)行保護(hù):一種是Windows身份認(rèn)證機(jī)制和混合機(jī)制。如果客戶無法利用標(biāo)準(zhǔn)的Windows進(jìn)行登錄,那么SQL Server就要提供具體的用戶名和密碼,和進(jìn)行存儲(chǔ)的用戶名和密碼進(jìn)行比較。要想將這種連接故障進(jìn)行解決,需要利用Windows身份認(rèn)證進(jìn)行更改,使其變?yōu)榛旌险J(rèn)證。
在服務(wù)器端使用企業(yè)的管理器,利用鼠標(biāo)右鍵對SQL Server服務(wù)器進(jìn)行點(diǎn)擊。對“屬性”進(jìn)行選擇,再選擇“安全性”,在身份認(rèn)證之下,選擇SQL Server或者Windows,對SQL Server進(jìn)行重新啟動(dòng)。也可以對注冊表鍵值進(jìn)行修改,這樣就可以更改身份認(rèn)證成為SQL Server和Windows混合驗(yàn)證的方法。
2.3 超時(shí)已過期
如果出現(xiàn)有關(guān)超時(shí)的錯(cuò)誤,在普通情況下這個(gè)時(shí)候客戶端已經(jīng)找到了具體的服務(wù)器,也可以進(jìn)行有效地連接,但是連接時(shí)間和允許時(shí)間進(jìn)行比較,比較大的時(shí)候,這樣就會(huì)出現(xiàn)錯(cuò)誤。當(dāng)用戶在Internet上的服務(wù)器進(jìn)行注冊的過程中,進(jìn)行慢速連接,也會(huì)發(fā)生類似這樣的錯(cuò)誤??赡苁且?yàn)榫钟蚓W(wǎng)出現(xiàn)問題,在SQL Server將數(shù)據(jù)庫進(jìn)行恢復(fù)的過程中,很有可能不會(huì)接受連接。在這個(gè)時(shí)間段當(dāng)中,SQL Server客戶端也會(huì)收到有關(guān)超時(shí)的錯(cuò)誤信息。
要想將這樣的問題進(jìn)行解決,可以將客戶端的連接超時(shí)的設(shè)置進(jìn)行有效地修改,在默認(rèn)的情況下,充分利用企業(yè)的管理器,對另外的SQL Server超時(shí)進(jìn)行重新設(shè)置,普遍是4s。將企業(yè)管理器打開后,選擇“工具”,再選擇“選項(xiàng)”,隨后就會(huì)彈出現(xiàn)實(shí)“SQL Server企業(yè)管理其屬性”的窗口,點(diǎn)擊“高級(jí)”,最后在登錄超時(shí)的字樣的框中輸入比較大的數(shù)字。在對分析其進(jìn)行查詢的過程中,可以在同樣的位置進(jìn)行有效地設(shè)置。
3 結(jié)語
通過以上綜合的論述,對SQL Server在使用過程中比較常見的連接失敗的錯(cuò)誤進(jìn)行有效地分析,并且提出解決問題的方法,可以將SQL中的連接故障進(jìn)行有效地解決,促進(jìn)圖書館SQL Server數(shù)據(jù)庫的相關(guān)維護(hù)人員的工作提供有效的借鑒作用,在他們?nèi)粘9ぷ鳟?dāng)中,遇到SQL Server連接失敗的問題也會(huì)明確怎樣去解決。
參考文獻(xiàn)
[1] 周彩陽.電子閱覽室保護(hù)SQL Server數(shù)據(jù)庫安全的配置方法[J].現(xiàn)代情報(bào),2016(7):103-105.
[2] 王敬東.面向大數(shù)據(jù)的數(shù)字圖書館數(shù)據(jù)庫緩存模型設(shè)計(jì)[J].圖書情報(bào)工作,2014(22):95-99,148.
[3] 丁夷,金永賢.基于Struts+Spring+Hibernate框架的手機(jī)圖書館服務(wù)系統(tǒng)[J].大學(xué)圖書館學(xué)報(bào),2011(1):77-82.
[4] 孫宇,應(yīng)峻,徐一新.數(shù)字圖書館與虛擬學(xué)習(xí)環(huán)境的整合研究與實(shí)現(xiàn)[J].圖書館雜志,2010(8):22-25,35.
[5] 劉榮發(fā).服務(wù)器虛擬化技術(shù)在圖書館數(shù)字化服務(wù)中的應(yīng)用[J].現(xiàn)代圖書情報(bào)技術(shù),2012(4):79-82.
[6] 王政軍,俞小怡,金玉玲.利用開源軟件FreeRADIUS構(gòu)建圖書館統(tǒng)一認(rèn)證平臺(tái)的研究與實(shí)現(xiàn)[J].現(xiàn)代情報(bào),2016(5):104-109,127.