關(guān)于 SQL Server 沒(méi)有 dbo 權限的問(wèn)題

發(fā)布時(shí)間:2008-11-26 10:25:09   瀏覽人數: 368181 次  
  關(guān)鍵字: sqlserver - 本站搜索 - Google搜索 - Baidu搜索 - Yahoo搜索 - sougo搜索
  關(guān)鍵字: sql - 本站搜索 - Google搜索 - Baidu搜索 - Yahoo搜索 - sougo搜索
  關(guān)鍵字: dbo - 本站搜索 - Google搜索 - Baidu搜索 - Yahoo搜索 - sougo搜索

關(guān)于 sql server 數據庫查詢(xún)數據或執行存儲過(guò)程時(shí),出現類(lèi)似 "沒(méi)有dbo權限"、"找不到 dbo.XXX 對象"等的解決方法

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

2. 用戶(hù)在初始化數據的時(shí)候,比如通過(guò)企業(yè)管理器執行導入數據的 SQL ,或通過(guò)某些網(wǎng)站安裝程序初始化的時(shí)候,這些原始的初始化數據中的對象所有者可能是 dbo ,這將會(huì )導致在初始化數據后,數據庫的當前登錄用戶(hù)沒(méi)有權限操作這些對象。

3. 對于以上問(wèn)題,解決方法如下:
  1. 在您對數據庫的結構進(jìn)行了更改后,要注意數據庫對象(如數據表、存儲過(guò)程等)的所有者應該是您的數據庫用戶(hù)名,而不是 dbo ,如果您發(fā)現有某些對象的所有者是 dbo ,這時(shí)您應該登錄我司的數據庫控制面板,然后找到“修復對象所有者”的按鈕,點(diǎn)擊一下就可以將所有對象的所有者設置為您的當前登錄用戶(hù)。
 。ㄗ⒁猓合到y表、系統存儲過(guò)程 等不用處理,只有自己建立的表、存儲過(guò)程、視圖等才要處理)
4. 在您的程序中,要注意以下方面
  在查詢(xún)、更新、刪除數據,執行存儲過(guò)程等一切操作中,不要使用 "dbo.表名"、"dbo.存儲過(guò)程名" 等進(jìn)行操作,
  而改為直接用 "表名"、"存儲過(guò)程"名等進(jìn)行操作,就是不要帶有對象所有者的部分,如:
  select * from dbo.table1 應該改為 select * from table1
  更多請做類(lèi)似修改~



上一篇:美國虛擬主機導購!
下一篇:濫用on error resume next造成的空間被停用
邯鄲鄲企網(wǎng)絡(luò )公司 版權所有 本站程序界面、源代碼受相關(guān)法律保護,未經(jīng)授權,嚴禁使用
Copyright © 2020-2023 www.hddq.net.cn All rights reserved
以下js為測試信息
亚洲香蕉日本久久_久久Aⅴ这里有精品免费看_在线看毛片网站不卡_亚洲美女一级牲交视频