>  通常情況下,利用客戶端連接到SQLServer數(shù)據(jù)庫的時候,其默認是采用服務(wù)器的相關(guān)配置來初始化客戶端的連接。但是在某些情況下,數(shù)據(jù)庫管理員希望客戶端能夠管理自己的設(shè)置。而且往往這些客戶">
巧用set選項設(shè)置sql server客戶端配置--

巧用set選項設(shè)置sql server客戶端配置--

ID:20250261

大?。?2.00 KB

頁數(shù):4頁

時間:2018-10-09

巧用set選項設(shè)置sql server客戶端配置--_第1頁
巧用set選項設(shè)置sql server客戶端配置--_第2頁
巧用set選項設(shè)置sql server客戶端配置--_第3頁
巧用set選項設(shè)置sql server客戶端配置--_第4頁
資源描述:

《巧用set選項設(shè)置sql server客戶端配置--》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、巧用SET選項設(shè)置SQLServer客戶端配置>>  通常情況下,利用客戶端連接到SQLServer數(shù)據(jù)庫的時候,其默認是采用服務(wù)器的相關(guān)配置來初始化客戶端的連接。但是在某些情況下,數(shù)據(jù)庫管理員希望客戶端能夠管理自己的設(shè)置。而且往往這些客戶端的設(shè)置跟服務(wù)器的設(shè)置不一樣,甚至相反。此時客戶端要能夠在不修改服務(wù)器設(shè)置的情況下,連接到數(shù)據(jù)庫服務(wù)器中。  要實現(xiàn)類似的功能,就需要用到SQLServer數(shù)據(jù)庫中的SET選項。如要實現(xiàn)上述的需求,數(shù)據(jù)庫管理員可以把SETANSI_DEFAULTSON,然后再通過SQL_COPT_SS_PRESER

2、VE_CURSORS來設(shè)置客戶端的配置。如此的話,就可以實現(xiàn)客戶端與服務(wù)器配置的不同,提高客戶端配置的靈活性。  不過需要注意的是,使用這些SET選項會導致客戶端與服務(wù)器配置的不同,即一些連接參數(shù)、運行環(huán)境等等可能會出現(xiàn)混亂。為此在使用SET選項時還必須考慮這個一致性的問題。也就是說,使用SET選項時要注意如下細節(jié),  一、SET選項的生效時間?! ±肧ET選項來設(shè)置相關(guān)的運行參數(shù)與環(huán)境的時候,要注意其生效時間。這與服務(wù)器默認參數(shù)不同。默認參數(shù)其是始終生效的,除非后來數(shù)據(jù)庫管理員改變了其設(shè)置。但是使用SET選項來設(shè)置相關(guān)參數(shù)時,其生

3、效時間就尤其特殊性。一般來說,SET選項可以分為分析時SET選項與執(zhí)行時SET選項。隨著他們的分類不同,這個選項的生效時間也是不同的。如分析時選項在分析期間分析出文本中的選項時生效,而不管是否受流語句的控制。而執(zhí)行選型則在指定這些選項的代碼執(zhí)行期間生效。如在一個批處理程序中,可以設(shè)置一個SET選項。如果在執(zhí)行這個SET語句之前,批處理程序已經(jīng)因為某些原因執(zhí)行失敗,則這個選項就不會生效,即數(shù)據(jù)庫系統(tǒng)沒有設(shè)置這個選項。如果在執(zhí)行SET語句后執(zhí)行失敗,則這這個選項就已經(jīng)生效了?! ∷哉f如果SET選項跟一些批處理程序一起使用時,就需要特別注

4、意這個SET選項的位置。因為這個SET選型是否生效直接跟批處理程序中其他語句的執(zhí)行情況相關(guān)。如現(xiàn)在一個批處理程序中有8條語句,而SET選型就是其中的一條如在第五條。如果在執(zhí)行這個批處理程序的時候,在第三條語句的時候卡住了,那么這個第五條的SET選項語句就根本不起作用。為此筆者建議數(shù)據(jù)庫管理員,像這些SET選項語句通常情況下最好放置在批處理程序的前面部分,以初始化批處理程序的相關(guān)運行環(huán)境。除非有特別的需要,否則的話不要放置在中間?! 《?、要注意SET選項的作用范圍?! ∑鋵峉ET選項設(shè)置的參數(shù)與數(shù)據(jù)庫服務(wù)器的默認參數(shù)就好像是一個局部變量

5、與全局變量的關(guān)系。前者設(shè)置的參數(shù)就是一個局部變量,其只有在一個特定的范圍內(nèi)有效;離開了這個范圍的話,就會失效。而全局變量的話通常情況下都是有效的,除非在某個領(lǐng)域內(nèi)又對其重新賦值了。所以說,數(shù)據(jù)庫管理員必須要了解SET選型的作用范圍,為后續(xù)引用這些參數(shù)做好準備。具體來說,這些SET選項,往往跟不同的功能結(jié)合使用。如跟批處理程序、跟觸發(fā)器等等結(jié)合使用。而隨著這個使用范圍的不同,其作用范圍也是不同的?! ?、在會話過程中有效。有些SET選項是專門針對客戶端連接的。如筆者剛開始提起過的那個SET選型,其就是專么用來設(shè)置客戶端的連接參數(shù)的。這些

6、參數(shù)可能跟服務(wù)器的默認參數(shù)之間存在著比較大的差異。那么這些參數(shù)的作用范圍是多少呢?通常情況下,針對專門會話所這支的SET選項,其在重置或者服務(wù)器中用戶的會話終止之前有效。也就是說,在客戶端連接的初始化過程中SET選項生效。只要用戶的這個會話沒有終止,這些選項都是生效的。除非用戶終止了當前的會話或者服務(wù)器強制重置相關(guān)參數(shù),否則的話這個SET選項隨著會話啟用而生效,隨著會話終止而失效。另外需要注意的是,針對某個用戶設(shè)置的SET選項,其只對這個用戶的會話有效,而不會影響到其他用戶跟數(shù)據(jù)庫之間的通信?! ?、支持MARS的連接維護一組默認的S

7、ET選項值。在該連接下執(zhí)行批處理時,將把默認的SET選項值復制到請求的環(huán)境。批處理結(jié)束后,該環(huán)境將復制回會話的默認設(shè)置。通過這種方法,在同一連接下同時執(zhí)行的多個批處理將在獨立的SET選項環(huán)境下運行。這是一個官方的說明,他是什么意思呢?也就是說,在同一個連接的過程中,可能會執(zhí)行多個批處理作業(yè)。如果在這些批處理作業(yè)中,沒有設(shè)置SET選項的話,則其默認會采用服務(wù)器的默認設(shè)置。但是如果在第一個批處理程序中采用了SET選項更改這個默認設(shè)置,那么在第一個批處理程序運行環(huán)境中就會采用這個SET選項的設(shè)置。從而可以根據(jù)企業(yè)實際的需求,在同一個連接下為

8、每個批處理程序設(shè)置相對獨立的運行環(huán)境。在支持MARS的連接下,如果同時執(zhí)行多個批處理且它們會修改批處理執(zhí)行環(huán)境,則得到的默認連接環(huán)境取決于最后執(zhí)行完的批處理。也就是說,最后這個連接的參數(shù)取決于最后運行的皮處理程序中的SE

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。