天天看點

拒絕了對對象 table (資料庫 '**db',架構 'dbo')的 SELECT 權限

@[TOC](拒絕了對對象 ‘table’ (資料庫 ‘thedb’,架構 ‘dbo’)的 SELECT 權限。)

一、問題

sqlserver資料庫連接配接成功,但執行SELECT語句出現bug

com.microsoft.sqlserver.jdbc.SQLServerException: 拒絕了對對象 ‘table’ (資料庫 ‘thedb’,架構 ‘dbo’)的 SELECT 權限。

1.如圖

![控制台報錯]](https://img-blog.csdnimg.cn/20190503122548468.png#pic_center)

2.狀态

(1)版本——sql server2017

(2)使用者——“root”

我連接配接資料庫所用的使用者名是自己建立的——user:“root”,有些權限需要賦予,可以通過"sa"或則系統驗證進入管理器(Microsoft SQL Server Management Studio)對其進行賦予如(3)。

(3)權限

此前已經使用sa使用者對其進行了一些權限授予,部分如下:

拒絕了對對象 table (資料庫 '**db',架構 'dbo')的 SELECT 權限

二、分析

很有可能是權限範圍給的不夠,如下

拒絕了對對象 table (資料庫 '**db',架構 'dbo')的 SELECT 權限

以上是預設範圍

三、改動

将最後一項打鈎,權限如下

拒絕了對對象 table (資料庫 '**db',架構 'dbo')的 SELECT 權限

四、結果(成功)

1.成功

控制台(Consol)輸如下所示:

拒絕了對對象 table (資料庫 '**db',架構 'dbo')的 SELECT 權限

未報權限錯誤,以上bug與權限無關成功解決。

2.找出範圍方法

(1)周遊

一個個單獨打鈎試

(2)二分法

分兩份,一份全打鈎,如下圖所示

拒絕了對對象 table (資料庫 '**db',架構 'dbo')的 SELECT 權限

倘若不報錯,則對應權限再此份中,繼續去二分法嘗試。