日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁西西教程數(shù)據(jù)庫教程 → 修改 SQLSERVER 中對象的所屬架構 為 dbo 的方法

      修改 SQLSERVER 中對象的所屬架構 為 dbo 的方法

      相關軟件相關文章發(fā)表評論 來源:百度搜索時間:2011/6/27 9:29:51字體大。A-A+

      作者:西西點擊:1103次評論:1次標簽: SQLSERVER

      • 類型:數(shù)據(jù)庫類大小:594KB語言:中文 評分:7.7
      • 標簽:
      立即下載

       SQL2005使用起來真是比SQL2000難于上手,登陸名,用戶,架構,角色,權限,反反復復的,沒弄清這個關系.       以前在服務器上的數(shù)據(jù)庫使用遠程連接SQL2000創(chuàng)建的存儲過程,現(xiàn)在下載到本地,所有當時的存儲過程所有者都不是dbo,而安全用戶里有dbo,默認架構也是dbo,登陸名是sa,dbo具有dbowner的權限,原以為這樣以sa創(chuàng)建adodb連接對象的話,是可以操作數(shù)據(jù)庫的所有對象的,沒想到在執(zhí)行到以前的存儲過程時提示:


            Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e14'       [Microsoft][ODBC SQL Server Driver][SQL Server]找不到存儲過程 'Proc_WebCount'。      
            一下子胡涂了一陣,默認sa就是dbowner權限的,怎么會沒有執(zhí)行權限呢,反復設置dbo權限,架構,還有原來的所有者架構,權限帳號,怎么也不能把現(xiàn)在的所有者與dbo聯(lián)系起來.       最后查了點資料,終于找到修改數(shù)據(jù)庫中各個對象所有者的方法,修改了一下,直接執(zhí)行就可以用,挺方便..      
            以SA登陸,USE要選擇的數(shù)據(jù)庫,再執(zhí)行下面的SQL語句:
            --創(chuàng)建游標,查詢所有者為NiunvDB的記錄
            declare csr1 cursor
            for
            select 'Name' = name
            from sysobjects
            where user_name(uid)='NiunvDB'
            order by name
            open csr1       --循環(huán)讀取游標記錄,執(zhí)行系統(tǒng)存儲過程SP_ChangeObjectOwner修改對象所有者
            FETCH NEXT FROM csr1 INTO @name
            while (@@FETCH_STATUS=0)
            BEGIN
            SET @name='NiunvDB.'+@name
            EXEC SP_ChangeObjectOwner @name, 'dbo'
            fetch next from csr1 into @name
            END
            CLOSE csr1
            DEALLOCATE csr1       執(zhí)行以后可以看到
            告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            警告: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
            ......       就是符合查詢條件的全部對象的所有者被改了希望的所有者名稱了.然后刷新數(shù)據(jù)庫對象,可以看到,原來的NiunvDB.開頭的存儲過程全部變成了dbo.存儲過程名了.....        sysobjects表里存儲了對應數(shù)據(jù)庫的對象數(shù)據(jù),包括表,默認值,主鍵,存儲過程,其中的type字段就表示對象類型,大概意思如下:
            P:存儲過程
            U:用戶表
            K:主鍵
            D:默認值
            還有幾個類型,想不出來是什么意思,不過這幾個應該夠用了,要查表的信息,還可以使用
            select * from INFORMATION_SCHEMA.TABLES
            查詢出所有對應數(shù)據(jù)庫中的表數(shù)據(jù),
            INFORMATION_SCHEMA.columns可查全部表的列數(shù)據(jù)
            INFORMATION_SCHEMA.VIEWS可查全部視圖數(shù)據(jù)      
            sp_changedbowner 'sa'
            可直接更改當前數(shù)據(jù)庫的所有者

        相關評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(1)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)