Permissions issue in SSMS: “The SELECT permission was denied on the object 'extended_properties', database 'mssqlsystem_resource', … Error 229)”

前端 未结 5 1195
-上瘾入骨i
-上瘾入骨i 2020-12-18 18:41

Here’s the simplest repro case possible.

  1. Create a brand new database. (I\'m using SQL 2005.)
  2. Create a login, a SQL user, and a table in the new databa
5条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-18 19:10

    SSMS tries to get the extended properties of the table using fn_listextendedproperty. According to MSDN the required permisions to view a table's extended properties is

    ALTER on table OBJECT

    Your login test should have this permsision as owner of the test table (it is the owner, right?). But even if you don't have permissions on the table, the query for extended properties should return emtpy result set, not access denied. The fact that you get an access denied error on a sys object in the resource database indicates that the code signing of the system resource database (mssqlsystemresource) is broken. Did you drop any of the '##' certificates from master? did you manually altered any object in the resource database?

    Anyway, you have a what looks like a corrupted instance at this moment and I'd recommend you contact product support on how to get it back into a coherent state.

提交回复
热议问题