202

關(guān)于 SQL Server 沒有 dbo 權(quán)限的問題

時間: 2012-05-03 09:26:07   點擊數(shù): 104126   來源: 耐思智慧

關(guān)于 sql server 數(shù)據(jù)庫查詢數(shù)據(jù)或執(zhí)行存儲過程時,出現(xiàn)類似 "沒有dbo權(quán)限"、"找不到 dbo.XXX 對象"等的解決方法

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

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

3. 對于以上問題,解決方法如下:
  1. 在您對數(shù)據(jù)庫的結(jié)構(gòu)進(jìn)行了更改后,要注意數(shù)據(jù)庫對象(如數(shù)據(jù)表、存儲過程等)的所有者應(yīng)該是您的數(shù)據(jù)庫用戶名,而不是 dbo ,如果您發(fā)現(xiàn)有某些對象的所有者是 dbo ,這時您應(yīng)該登錄我司的數(shù)據(jù)庫控制面板,然后找到“修復(fù)對象所有者”的按鈕,點擊一下就可以將所有對象的所有者設(shè)置為您的當(dāng)前登錄用戶。
  (注意:系統(tǒng)表、系統(tǒng)存儲過程 等不用處理,只有自己建立的表、存儲過程、視圖等才要處理)
4. 在您的程序中,要注意以下方面
  在查詢、更新、刪除數(shù)據(jù),執(zhí)行存儲過程等一切操作中,不要使用 "dbo.表名"、"dbo.存儲過程名" 等進(jìn)行操作,
  而改為直接用 "表名"、"存儲過程"名等進(jìn)行操作,就是不要帶有對象所有者的部分,如:
  select * from dbo.table1 應(yīng)該改為 select * from table1
  更多請做類似修改~
上一篇:濫用on error resume next造成的空間被停用 下一篇:為什么我的網(wǎng)站被停用,被停后如何解決
高性能云虛擬主機
免費體驗

旗下網(wǎng)站:耐思智慧 - 淘域網(wǎng) - 我的400電話 - 中文域名:耐思尼克.cn 耐思尼克.top

耐思智慧 © 版權(quán)所有 Copyright © 2000-2024 testsystem.com.cn,Inc. All rights reserved

備案號碼: 粵ICP備09063828號  公安備案號: 公安備案 粵公網(wǎng)安備 44049002000123號  域名注冊服務(wù)機構(gòu)許可:粵D3.1-20240003 CN域名代理自深圳萬維網(wǎng)

聲明:本網(wǎng)站中所使用到的其他各種版權(quán)內(nèi)容,包括但不限于文章、圖片、視頻、音頻、字體等內(nèi)容版權(quán)歸原作者所有,如權(quán)利所有人發(fā)現(xiàn),請及時告知,以便我們刪除版權(quán)內(nèi)容

本站程序界面、源代碼受相關(guān)法律保護(hù), 未經(jīng)授權(quán), 嚴(yán)禁使用; 耐思智慧 © 為我公司注冊商標(biāo), 未經(jīng)授權(quán), 嚴(yán)禁使用

法律顧問:珠海知名律師 廣東篤行律師事務(wù)所 夏天風(fēng) 律師