蚌埠约友环保科技有限公司

用戶登陸

網站相關幫助

網站制作
系統管理
常見問題

幫助文檔

關于 SQL Server 沒有 dbo 權限的問題

關于 sql server 數據庫查詢數據或執行存儲過程時,出現類似 "沒有dbo權限"、"找不到 dbo.XXX 對象"等的解決方法

1. 出現這個問題的原因是因為當前連接數據庫的登錄用戶不是 dbo 權限,所以此用戶不能操作所有者為 dbo 的對象。為什么不開放 dbo 權限:因為如果客戶的程序有問題(比如有注入漏洞)、或數據庫密碼泄漏等,如果當前用戶有 dbo 權限的話,會給數據庫服務器帶來安全隱患,所以我司的數據庫都不開放 dbo 權限,而我們給用戶開放了datareader、datawriter、ddladmin 等權限,這些權限一般情況下是足夠的。

2. 用戶在初始化數據的時候,比如通過企業管理器執行導入數據的 SQL ,或通過某些網站安裝程序初始化的時候,這些原始的初始化數據中的對象所有者可能是 dbo ,這將會導致在初始化數據后,數據庫的當前登錄用戶沒有權限操作這些對象。

3. 對于以上問題,解決方法如下:
  1. 在您對數據庫的結構進行了更改后,要注意數據庫對象(如數據表、存儲過程等)的所有者應該是您的數據庫用戶名,而不是 dbo ,如果您發現有某些對象的所有者是 dbo ,這時您應該登錄我司的數據庫控制面板,然后找到“修復對象所有者”的按鈕,點擊一下就可以將所有對象的所有者設置為您的當前登錄用戶。
 。ㄗ⒁猓合到y表、系統存儲過程 等不用處理,只有自己建立的表、存儲過程、視圖等才要處理)
4. 在您的程序中,要注意以下方面
  在查詢、更新、刪除數據,執行存儲過程等一切操作中,不要使用 "dbo.表名"、"dbo.存儲過程名" 等進行操作,
  而改為直接用 "表名"、"存儲過程"名等進行操作,就是不要帶有對象所有者的部分,如:
  select * from dbo.table1 應該改為 select * from table1
  更多請做類似修改~
上一篇:空間不夠用,能否升級,如何升級?       下一篇:濫用on error resume next造成的空間被停用

備案系統認證 舉報不良網站 我們的支付方式 AAA級信用
廣州萬戶網絡信息科技有限公司 旗下網站建設品牌:中外商貿 www.axap.cn 版權所有 ©2000-2019 All Rights Reserved
網站備案編號:粵ICP備15049595號 地址:廣州市番禺區大石街北聯圍仔工業路2號E座305
電話:020-85421558   傳真:020-88140140   郵編:510515
交換PR>=4的友情鏈接合作站,歡迎同行聯系鏈接QQ: