sp_tableoption sp_tableoption - 北京怡康軟件科技有限公司 資源網(wǎng) "/>

亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >sp_tableoption 創(chuàng)建者:webmaster 更新時間:2006-02-16 15:51

    為用戶定義表設(shè)置選項值。sp_tableoption 可以用來在具有 text、ntext image 列的表上啟用 text in row 功能。



    語法


    sp_tableoption [ @TableNamePattern = ] 'table'

        , [ @OptionName = ] 'option_name'

        , [ @OptionValue = ] 'value'



    參數(shù)


    [@TableNamePattern =] 'table'



    是限定的或非限定的用戶定義數(shù)據(jù)庫表的名稱。如果提供了一個完全限定的表名,包括數(shù)據(jù)庫名,那么該數(shù)據(jù)庫名必須是當(dāng)前數(shù)據(jù)庫的名稱。多個表的表選項的設(shè)置不能一次完成。table_pattern 的數(shù)據(jù)類型為 nvarchar(776),沒有默認(rèn)設(shè)置。



    [@OptionName =] 'option_name'



    是表選項名。option_name 的數(shù)據(jù)類型為 varchar(35),默認(rèn)設(shè)置不是 NULL。option_name 可以有下列值。





























    描述
    pintable當(dāng)禁用時(默認(rèn)值),它將表標(biāo)記為不再駐留內(nèi)存。啟用時,將表標(biāo)記為駐留內(nèi)存。
    table lock on bulk load禁用時(默認(rèn)值),用戶定義表的大容量處理獲得行鎖。啟用時,用戶定義表的大容量處理獲得大容量更新鎖。
    insert row lockMicrosoft® SQL Server™ 2000 中不支持該值。

    對于 SQL Server 6.5 版而言,在指定表上啟用或禁用插入行鎖定 (IRL) 操作。在 SQL Server 7.0 中,行級鎖定默認(rèn)為啟用。SQL Server 的鎖定策略為行鎖定,并可能提升為頁或表鎖定。這個選項并不改變 SQL Server 的加鎖行為(它沒有影響),包含它只是為了與現(xiàn)有腳本和過程兼容。


    text in row當(dāng)為 OFF0(禁用,默認(rèn)值)時,它不更改當(dāng)前行為,且在行中不存在 BLOB。

    指定該值且 @OptionValueON(已啟用)或從 247000 的整數(shù)值時,直接在數(shù)據(jù)行中存儲新的 textntextimage 字符串。更新 BLOB 值時,所有現(xiàn)有的 BLOB(text、ntextimage 數(shù)據(jù))都將更改成 text in row 格式。有關(guān)更多信息,請參見注釋部分。





    [ , [ @OptionValue = ] 'value' ]



    表示是啟用 option_nametrue、on 1)還是禁用 option_namefalse、off0)。value 的數(shù)據(jù)類型為 varchar(12),沒有默認(rèn)設(shè)置。value 不區(qū)分大小寫。



    對于 text in row 選項,有效選項值是 0、on、off,或從 24 到 7000 的整數(shù)。當(dāng) valueon 時,默認(rèn)的限制為 256 字節(jié)。



    返回代碼值


    0(成功)或錯誤號(失敗)



    注釋


    sp_tableoption 僅可用于設(shè)置用戶定義表的選項值。若要顯示表屬性,請使用 OBJECTPROPERTY。



    sp_tableoptiontext in row 選項只能在含有文本列的表中啟用或禁用。若表不含文本列,SQL Server 將產(chǎn)生錯誤。



    當(dāng)啟用 text in row 選項時,@OptionValue 參數(shù)使用戶得以指定存儲在行中的 BLOB(二進(jìn)制大對象:text、ntextimage 數(shù)據(jù))的最大值。默認(rèn)設(shè)置是 256 字節(jié),但是行中的值可以在 24 到 7000 字節(jié)范圍內(nèi)變化。



    如果應(yīng)用下列條件,則將 textntextimage 字符串存儲在數(shù)據(jù)行中:


    1. 啟用 text in row。



    2. 字符串的長度比 @OptionValue 所指定的限制短



    3. 數(shù)據(jù)行中有足夠的可用空間。



    當(dāng) BLOB 字符串存儲在數(shù)據(jù)行中時,讀取和寫入 textntextimage 字符串可以與讀取或?qū)懭胱址投M(jìn)制字符串一樣快。SQL Server 不必訪問單獨的頁以讀取或?qū)懭?BLOB 字符串。



    如果 text、ntextimage 字符串比行中所指定的限制或可用空間大,則將指針存儲在該行中。在行中存儲 BLOB 字符串的條件仍然適用,但是:數(shù)據(jù)行中必須有足夠的空間容納指針。



    將存儲在表行中的 BLOB 字符串和指針視為類似于可變長度的字符串。SQL Server 僅使用存儲字符串或指針?biāo)璧淖止?jié)數(shù)。



    首先啟用 text in row 時,不立即轉(zhuǎn)換現(xiàn)有的 BLOB 字符串。僅當(dāng)更新字符串時才轉(zhuǎn)換它們。同樣,text in row 選項限制增加時,將不轉(zhuǎn)換已在數(shù)據(jù)行中的 text、ntextimage 字符串以遵從新限制,直到更新它們。



    說明  禁用 text in row 選項或減小該選項的限制將需要轉(zhuǎn)換所有的 BLOB,因此進(jìn)程可能較長,這取決于必須轉(zhuǎn)換的 BLOB 字符串?dāng)?shù)。在執(zhí)行轉(zhuǎn)換進(jìn)程的過程中鎖定表。



    一個 table 變量,包括返回 table 變量的函數(shù),自動啟用 text in row 選項,并具備 256 字節(jié)的 inline limit 默認(rèn)值。這一選項不可更改。



    text in row 支持 TEXTPTRWRITETEXT、UPDATETEXT READTEXT 函數(shù)。用戶可以使用 SUBSTRING() 函數(shù)讀取 BLOB 的部分,但是必須記住,行內(nèi)文本指針與其它文本指針相比有不同的有效期和個數(shù)限制。有關(guān)更多信息,請參見管理 ntext、text 和 image 數(shù)據(jù)。



    權(quán)限


    只有 sysadmin 固定服務(wù)器角色的成員可以修改表選項 pintable



    sysadmin 固定服務(wù)器角色成員,db_ownerdb_ddladmin 固定數(shù)據(jù)庫角色成員以及表所有者,都可以修改任何用戶定義表的 table lock on bulk loadtext in row 選項。其他用戶只能修改自己擁有的表的選項。



    示例


    A. 啟用 Northwind 數(shù)據(jù)庫中表 'orders' 的 'text in row' 選項。


    EXEC sp_tableoption 'orders', 'text in row', 'ON'


    B. 啟用 Northwind 數(shù)據(jù)庫中表 'orders' 的 'text in row' 選項,并將 inline limit 設(shè)置為 1000。


    EXEC sp_tableoption 'orders', 'text in row', '1000'


    C. 啟用 Northwind 數(shù)據(jù)庫中表 'orders' 的 'text in row' 選項,并將 inline limit 設(shè)置為 23,這已超出允許范圍。


    sp_tableoption 'orders', 'text in row', '23'


    會產(chǎn)生錯誤信息,提示參數(shù)超出范圍。



    D. 禁用 Northwind 數(shù)據(jù)庫中表 'orders' 的 'text in row' 選項。


    EXEC sp_tableoption 'orders', 'text in row', 'off'


    -或-



    EXEC sp_tableoption 'orders', 'text in row', '0'
    相關(guān)文章
    本頁查看次數(shù):