Contents
What does it mean to have limited access to metadata?
Limited metadata accessibility means the following: Applications that assume public metadata access will break. Queries on system views might only return a subset of rows, or sometimes an empty result set. Metadata-emitting, built-in functions such as OBJECTPROPERTYEX may return NULL.
How to limit the visibility of metadata in error messages?
You can mitigate this risk by limiting the information returned in error messages. To further restrict the visibility of metadata in this way, you can start the server with trace flag 3625. This trace flag limits the amount of information shown in error messages. In turn, this helps to prevent forced disclosures.
Is it possible to force the emission of metadata in error messages?
We recommend that you deploy metadata permissions as one of many defenses-in-depth. It is theoretically possible to force the emission of metadata in error messages by manipulating the order of predicate evaluation in queries. The possibility of such trial-and-error attacks is not specific to SQL Server.
What happens when SQL Server tries to access metadata?
For example, in the following code, when the stored procedure tries to access metadata for the table myTable on which the caller has no rights, an empty result set is returned. In earlier releases of SQL Server, a row is returned.
How is metadata visibility defined in SQL Server?
The visibility of metadata is limited to securables that a user either owns or on which the user has been granted some permission. For example, the following query returns a row if the user has been granted a permission such as SELECT or INSERT on the table myTable.
By enabling ABE on a shared folder, you can ensure that different users see a different list of folders and files in the same network share based on the user’s individual access permissions (ACL). How does the interaction between the client and the server occurs when accessing a shared folder over the SMB?