關于 SQL Server 沒有 dbo 權限的問題
關于 sql server 數據庫查詢數據或執行存儲過程時,出現類似 "沒有dbo權限"、"找不到 dbo.XXX 對象"等的解決方法
1. 出現這個問題的原因是因為當前連接數據庫的登錄用戶不是 dbo 權限,所以此用戶不能操作所有者為 dbo 的對象。為什么不開放 dbo 權限:因為如果客戶的程序有問題(比如有注入漏洞)、或數據庫密碼泄漏等,如果當前用戶有 dbo 權限的話,會給數據庫服務器帶來安全隱患,所以我司的數據庫都不開放 dbo 權限,而我們給用戶開放了datareader、datawriter、ddladmin 等權限,這些權限一般情況下是足夠的。
2. 用戶在初始化數據的時候,比如通過企業管理器執行導入數據的 SQL ,或通過某些網站安裝程序初始化的時候,這些原始的初始化數據中的對象所有者可能是 dbo ,這將會導致在初始化數據后,數據庫的當前登錄用戶沒有權限操作這些對象。
1. 在您對數據庫的結構進行了更改后,要注意數據庫對象(如數據表、存儲過程等)的所有者應該是您的數據庫用戶名,而不是 dbo ,如果您發現有某些對象的所有者是 dbo ,這時您應該登錄我司的數據庫控制面板,然后找到“修復對象所有者”的按鈕,點擊一下就可以將所有對象的所有者設置為您的當前登錄用戶。
(注意:系統表、系統存儲過程 等不用處理,只有自己建立的表、存儲過程、視圖等才要處理)
在查詢、更新、刪除數據,執行存儲過程等一切操作中,不要使用 "dbo.表名"、"dbo.存儲過程名" 等進行操作,
而改為直接用 "表名"、"存儲過程"名等進行操作,就是不要帶有對象所有者的部分,如:
select * from dbo.table1 應該改為 select * from table1



- 闂佽皫鍕姢閻庣娅曠粋宥夋晸閿燂拷(闂佸憡鐗楅妵鐐哄触閿燂拷)1闂佸搫绋勯幏锟� 2GB 1Mbps
闂備緡鍋勯崐鎼佸箖鎼粹埗瑙勭瑹閳ь剟宕冲ú顏呯劵闁稿本鐟ㄩ崢顒勬煟閵娿儱顏紓宥咁槺缁晛鈻庤箛鏇炵暔闂佹眹鍩勯悡澶屾濠靛绠i柡宥庡亞閺嗗棝鏌涘Δ浣圭缂佽鲸鍨垮畷锝夊箣閻樿尙鐣炬繝鈷€鍐ㄦ殧闁逞屽厸濡炴帡宕鍕剺濞达絿枪娴滃爼鎮楀☉娅亞鑺辨潏鈺冮┏闁跨噦鎷�
闂佽法鍣﹂幏锟�110/闂佸搫鐗嗛悧鎰板箲閿燂拷缂備焦鏌ㄩ鍛暤閸℃瑦瀚绘い鎾寸箖鐎氾拷 - 闂傚倸鍟ḿ锟犲闯闁垮顩查柨鐕傛嫹(缂傚倸娲ゆ绋棵归敓锟�)1闂佸搫绋勯幏锟� 2GB 1Mbps
闁荤姳绶ょ槐鏇㈡偩婵犳碍鍤勯柦妯侯槸椤梹绻濇繛鎰╁€曢崰鏇㈡偨椤栨碍鎲搁柡浣靛€栫粋宥夊箣閿濆骸鎮佺紓浣哄У閵囩偞绻涢崶顒佸仺闁靛ǹ鍔夐崑鎾诲川鐎涙ü绮┑顔炬嚀閸嬪﹦妲愬┑瀣劵闁稿本纰嶉崐銈吤归梻瀛橆樂缂佹鍠愬ḿ濠氬箛椤栨稑鍓﹀┑鐐跺蔼椤曆勬叏閳哄懎违濞达絾鐡曠€氭瑩鎮跺☉妯肩劮妞ゆ挸鎽滅划璇参旈埀顒傝姳閺屻儲鍋ㄩ柕濠忕岛閸嬫挻鎷呯憴鍕蒋闂備緡鍋呯喊宥夊汲閻旂厧绠叉い鏃傗拡濡查亶鏌i悙鍙夘棡婵犫偓閸ヮ剙绀夐柨娑樺閹硷拷
闂佽法鍣﹂幏锟�150/闂佸搫鐗嗛悧鎰板箲閿燂拷缂備焦鏌ㄩ鍛暤閸℃瑦瀚绘い鎾寸箖鐎氾拷 - 闂佺厧鐏氬畷姗€顢欓崱妯碱洸闁跨噦鎷�(闂佺懓鐡ㄩ崝娆撳礂閿燂拷)1闂佸搫绋勯幏锟� 1GB 1Mbps
婵炲瓨绮嶉崹宕団偓闈涚焸瀵灚銈﹀▎鎯ф倎缂備胶濮甸〃澶愬礂濮椻偓瀹曟繂鈽夊鍗炵9闂佸憡鍨圭亸銊ф濠靛鍗抽柟缁㈠枤瑜邦垶鏌℃担鍝ュ鐎殿啫鍛儱闁告劕妯婂Ο瀣磼婢跺﹦小缂併劋鍗抽幊鏇㈠籍閸屾粎效闁圭厧鐡ㄥ濠氬极閵堝顥嗛柍褜鍓欐晥闁稿矉濡囬獮銏ゆ煙缂佹ê濮冪紒鍓佹暬瀹曟顓奸崼婵堚偓顓㈢叓閸ヨ泛浜為柛娆忓瀵板嫰宕堕敃鈧弫婊堟煛閸繄孝濠殿喚鍠栭弫宥呯暆閸曘劌浜炬慨姗嗗墰閸╂鏌¢崘顏勨枅婵炴捁鍩栭敍鎰攽閸♀晜鈻庨梺纭呭煐濞叉牠宕i崱妯虹窞闁搞儻绠戦弫婊堟偣閹邦剚璐¢柡渚婃嫹
闂佽法鍣﹂幏锟�95/闂佸搫鐗嗛悧鎰板箲閿燂拷缂備焦鏌ㄩ鍛暤閸℃瑦瀚绘い鎾寸箖鐎氾拷 - 闂佽皫鍕姢閻庣娅曠粋宥夋晸閿燂拷(濡ょ姷鍋涢悘婵堢玻閿燂拷)2闂佸搫绋勯幏锟� 4GB 1Mbps
闂備緡鍋勯崐鎼佸箖鎼粹埗瑙勭瑹閳ь剟宕冲ú顏呯劵闁稿本鐟ㄩ崢顒勬煟閵娿儱顏紓宥咁槺缁晛鈻庤箛鏇炵暔闂佹眹鍩勯悡澶屾濠靛绠i柡宥庡墻濞煎矂鏌涢幒鎾寸凡缂佽鲸鍨垮畷锝夊箣閻樿尙鐣炬繝鈷€鍐ㄦ殧闁逞屽厸濡炴帡宕鍕剺濞达絿枪娴滃爼鎮楀☉娅亞鑺辨潏鈺冮┏闁跨噦鎷�
闂佽法鍣﹂幏锟�217/闂佸搫鐗嗛悧鎰板箲閿燂拷缂備焦鏌ㄩ鍛暤閸℃瑦瀚绘い鎾寸箖鐎氾拷