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

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

    返回一個(gè)包含位圖的值,表明當(dāng)前用戶的語句、對象或列權(quán)限。



    語法


    PERMISSIONS ( [ objectid [ , 'column' ] ] )



    參數(shù)


    objectid



    對象的 ID。如果未指定 objectid,則位圖值包含當(dāng)前用戶的語法權(quán)限;否則,位圖包含當(dāng)前用戶在該對象 ID 上的對象權(quán)限。指定的對象必須在當(dāng)前數(shù)據(jù)庫中。將 OBJECT_ID 函數(shù)用于對象名以確定 objectid 值。



    column



    返回其權(quán)限信息的列的可選名。該列必須是 objectid 所指定表中的有效列名。



    返回類型


    int



    注釋


    可使用 PERMISSIONS 確定當(dāng)前用戶是否有執(zhí)行某個(gè)語句所需的權(quán)限,或者是否有將某個(gè)對象上的權(quán)限授予另一用戶所需的權(quán)限。



    所返回的權(quán)限信息是 32 位位圖。



    低 16 位反映對當(dāng)前用戶的安全帳戶所授予的權(quán)限,以及應(yīng)用于當(dāng)前用戶所在的 Microsoft® Windows NT® 組或 Microsoft SQL Server™ 角色的權(quán)限。例如,當(dāng)沒有指定 objectid 時(shí),將返回值 66(十六進(jìn)制值 0x42),表示當(dāng)前用戶有執(zhí)行 CREATE TABLE(十進(jìn)制值 2)和 BACKUP DATABASE(十進(jìn)制值 64)語句的權(quán)限。



    高 16 位反映當(dāng)前用戶可以授予其他用戶的權(quán)限。除左移 16 位(與 65536 相乘)之外,高 16 位的解釋方式與下表中所介紹的低 16 位的解釋方式完全相同。例如,位 0x8(十進(jìn)制值 8)說明當(dāng)指定 objectid 時(shí)的 INSERT 權(quán)限。而 0x80000(十進(jìn)制值 524288)說明 GRANT INSERT 權(quán)限的能力,這是因?yàn)?524288 = 8 x 65536。由于角色中的成員資格,該用戶可能沒有執(zhí)行語句的權(quán)限,但仍然能夠?qū)⒃摍?quán)限授予他人。



    下表顯示語句權(quán)限所使用的位(未指定 objectid)。
































































    位(十進(jìn)制)位(十六進(jìn)制)語句權(quán)限
    10x1CREATE DATABASE(僅限于 master 數(shù)據(jù)庫)
    20x2CREATE TABLE
    40x4CREATE PROCEDURE
    80x8CREATE VIEW
    160x10CREATE RULE
    320x20CREATE DEFAULT
    640x40BACKUP DATABASE
    1280x80BACKUP LOG
    2560x100保留



    下表顯示當(dāng)僅指定 objectid 時(shí),返回的對象權(quán)限所使用的位。
































































    位(十進(jìn)制)位(十六進(jìn)制)語句權(quán)限
    10x1SELECT ALL
    20x2UPDATE ALL
    40x4REFERENCES ALL
    80x8INSERT
    160x10DELETE
    320x20EXECUTE(僅限于過程)
    40960x1000SELECT ANY(至少一列)
    81920x2000UPDATE ANY
    163840x4000REFERENCES ANY



    下表顯示當(dāng)同時(shí)指定 objectidcolumn 時(shí),返回的列級(jí)對象權(quán)限所使用的位。




























    位(十進(jìn)制)位(十六進(jìn)制)語句權(quán)限
    10x1SELECT
    20x2UPDATE
    40x4REFERENCES



    如果指定的參數(shù)為 NULL 值或無效(例如,objectidcolumn 不存在),則返回 NULL 值。沒有定義不適用的權(quán)限所使用的位值(例如,表的 EXECUTE 權(quán)限、位 0x20)。



    使用按位 AND (&) 運(yùn)算符確定 PERMISSIONS 函數(shù)返回的位圖中的每個(gè)位集。



    還可使用 sp_helprotect 系統(tǒng)存儲(chǔ)過程返回某位用戶在當(dāng)前數(shù)據(jù)庫中的對象權(quán)限列表。



    示例


    A. 對語句權(quán)限使用 PERMISSIONS 函數(shù)


    本示例確定當(dāng)前用戶是否能夠執(zhí)行 CREATE TABLE 語句。



    IF PERMISSIONS()&2=2
      CREATE TABLE test_table (col1 INT)
    ELSE
      PRINT 'ERROR: The current user cannot create a table.'


    B. 對對象權(quán)限使用 PERMISSIONS 函數(shù)


    本示例確定當(dāng)前用戶是否能夠在 authors 表中插入數(shù)據(jù)行。



    IF PERMISSIONS(OBJECT_ID('authors'))&8=8 
      PRINT 'The current user can insert data into authors.'
    ELSE
      PRINT 'ERROR: The current user cannot insert data into authors.'


    C. 對可授予的權(quán)限使用 PERMISSIONS 函數(shù)


    本示例確定當(dāng)前用戶是否能夠?qū)?authors 表中的 INSERT 權(quán)限授予另一用戶。



    IF PERMISSIONS(OBJECT_ID('authors'))&0x80000=0x80000
      PRINT 'INSERT on authors is grantable.'
    ELSE
      PRINT 'You may not GRANT INSERT permissions on authors.'
    相關(guān)文章
    本頁查看次數(shù):