{"id":4475,"date":"2018-10-31T10:52:37","date_gmt":"2018-10-31T10:52:37","guid":{"rendered":"https:\/\/dbtut.com\/?p=4475"},"modified":"2018-11-28T07:40:22","modified_gmt":"2018-11-28T07:40:22","slug":"how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/","title":{"rendered":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>In the article &#8220;<a href=\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-authorize-non-admin-logins-to-read-dmws-and-dmfs\/\" target=\"_blank\" rel=\"noopener\">How To Authorize non-admin Logins To Read DMWs and DMFs<\/a>&#8220;, I explained how to give dmw and dmf read privileges to logins.<\/p>\n<p>However, with the authorization given in the related article, they can see queries from all databases in instance.<\/p>\n<p>This is a security vulnerability if you have more than one database on the instance. In this article we will learn how to give enough authority to each application developer to see the queries requested from his own database.<\/p>\n<p>First of all, let&#8217;s create a database named Test and create a login named TestLogin which is authorized in this database. The following articles will help if you don&#8217;t know how to do the related steps.<\/p>\n<p>&#8220;<a href=\"https:\/\/dbtut.com\/index.php\/2018\/08\/01\/how-to-create-a-database-on-sql-server\/\" target=\"_blank\" rel=\"noopener\">How To Create a Database On SQL Server<\/a>&#8220;,<\/p>\n<p>&#8220;<a href=\"https:\/\/dbtut.com\/index.php\/2018\/08\/28\/how-to-create-a-login-on-sql-servermanage-logins\/\" target=\"_blank\" rel=\"noopener\">How To Create a Login On SQL Server(Manage Logins)<\/a>&#8221;<\/p>\n<p>&nbsp;<\/p>\n<p>First of all, we need a database with the TRUSTWORTH feature enabled on the instance. After you create the database, you can activate TRUSTWORTHY in your database but I do not recommend it. Because a TRUSTWORTHY-enabled database has been set reliably for SQL Server.<\/p>\n<p>While this feature is active, someone with db_owner privilege in the database can execute a query through a user who has sysadmin privilege with the command EXECUTE AS.<\/p>\n<p>In addition, &#8220;.NET&#8221; compiled code can be executed in a TRUSTWORTH-enabled database. This is a security vulnerability.<\/p>\n<p>For these reasons, let&#8217;s create a new database for these processes. I set the database name as TRUSTDB (you can give another name).<\/p>\n<p>Also, create a sql login named sysadminUser with sysadmin right on the instance.<\/p>\n<p>Activate TRUSTWORTHY in this database with the following script.<\/p>\n<pre class=\"lang:default decode:true \">ALTER DATABASE TRUSTDB SET TRUSTWORTHY ON;<\/pre>\n<p>&nbsp;<\/p>\n<p>Then, with the help of the following script, create a stored procedure for the related user to see only the queries requested from their database.<\/p>\n<p>Instead of &#8220;sysadminUser&#8221; you must enter a login name with sysadmin right on your instance, and the database name of the corresponding login instead of TestDB. The relevant login will be able to see the queries that will be requested from the database you will be typing here.<\/p>\n<pre class=\"lang:default decode:true\">USE [TRUSTDB]\r\nGO\r\nSET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\nCREATE PROCEDURE [dbo].[QueryPerformance_For_Your_Database]\r\nWITH EXECUTE AS 'sysadminUser'\r\nAS\r\n\r\nselect r.total_elapsed_time \/ 1000.0 as total_elapsed_s,percent_complete,r.blocking_session_id,\r\nr.last_wait_type,s.login_name,'thisrequests_sessionid=' + cast(r.session_id as varchar) SessionID,\r\nDB_NAME(r.database_id) as DatabaseName,command,SUBSTRING(t.text, (r.statement_start_offset\/2) + 1,\r\n\u00a0\u00a0\u00a0 ((CASE statement_end_offset\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 WHEN -1 THEN DATALENGTH(t.text)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ELSE r.statement_end_offset END\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - r.statement_start_offset)\/2) + 1) AS statement_text\r\n,r.status,blocking_session_id,wait_time\r\n,wait_type,wait_resource,text,start_time,r.percent_complete,s.program_name\r\n,r.last_wait_type,s.host_name,r.granted_query_memory * 8 \/ 1024 as memory_mb\r\nfrom sys.dm_exec_requests r\r\ninner join sys.dm_exec_sessions s on r.session_id = s.session_id\r\ncross apply sys.dm_exec_sql_text(r.sql_handle) t\r\nwhere r.session_id &lt;&gt; @@SPID\r\nand (r.database_id=DB_ID('TestDB'))\r\norder by start_time asc<\/pre>\n<p>&nbsp;<\/p>\n<p>You must give the execute rights to the user you want to authorize on the Stored Procedure.<\/p>\n<p>First, we give public right to Testlogin(the user who will be execute this stored procedure) on the TrustDB database.<\/p>\n<p>Then, right-click on the TrustDB and click Properties on the related stored procedure as follows.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png\" width=\"466\" height=\"192\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin: 0in; font-family: Georgia; font-size: 12.0pt;\">You must give the execute rights to the user you want to authorize on the Stored Procedure.<\/p>\n<p style=\"margin: 0in; font-family: Georgia; font-size: 12.0pt;\">First, we give public right to Testlogin(the user who will be execute this stored procedure) on the TrustDB database.<\/p>\n<p style=\"margin: 0in; font-family: Georgia; font-size: 12.0pt;\">Then, right-click on the TrustDB and click Properties on the related stored procedure as follows.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/780.png\" width=\"457\" height=\"441\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>On the screen that appears, click Permission tab and click Browse to select TestLogin as follows and click OK.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/396.png\" width=\"458\" height=\"380\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>At the bottom screen, we click OK and we give Execute right as follows when TestLogin is selected.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/944-2.png\" width=\"503\" height=\"452\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>We have authorized TestLogin to execute on a stored procedure that will only show queries reqeusted from database named TestDB.<\/p>\n<p>To test in the next step, you can log in with TestLogin and run the stored procedure as follows.<\/p>\n<pre class=\"lang:default decode:true\">USE [TRUSTDB]\r\nGO\r\nEXEC [dbo].[QueryPerformance_For_Your_Database]<\/pre>\n<p>&nbsp;<\/p>\n<p>You can make different examples with similar methods. For example, for another application developer, I created a stored procedure that shows locked queries.<\/p>\n\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_4475\" class=\"pvc_stats all  \" data-element-id=\"4475\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; In the article &#8220;How To Authorize non-admin Logins To Read DMWs and DMFs&#8220;, I explained how to give dmw and dmf read privileges to logins. However, with the authorization given in the related article, they can see queries from all databases in instance. This is a security vulnerability if you have more than one &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_4475\" class=\"pvc_stats all  \" data-element-id=\"4475\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-4475","post","type-post","status-publish","format-standard","","category-mssql"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission - Database Tutorials<\/title>\n<meta name=\"description\" content=\"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-31T10:52:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-28T07:40:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png\" \/>\n<meta name=\"author\" content=\"dbtut\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"dbtut\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/\"},\"author\":{\"name\":\"dbtut\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/fc047c39e1e53dce28fc4253529ea408\"},\"headline\":\"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission\",\"datePublished\":\"2018-10-31T10:52:37+00:00\",\"dateModified\":\"2018-11-28T07:40:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/\"},\"wordCount\":576,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png\",\"articleSection\":[\"MSSQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/\",\"name\":\"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png\",\"datePublished\":\"2018-10-31T10:52:37+00:00\",\"dateModified\":\"2018-11-28T07:40:22+00:00\",\"description\":\"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#primaryimage\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png\",\"width\":679,\"height\":280},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dbtut.com\/#website\",\"url\":\"https:\/\/dbtut.com\/\",\"name\":\"Database Tutorials\",\"description\":\"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux\",\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dbtut.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dbtut.com\/#organization\",\"name\":\"dbtut\",\"url\":\"https:\/\/dbtut.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"width\":223,\"height\":36,\"caption\":\"dbtut\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/fc047c39e1e53dce28fc4253529ea408\",\"name\":\"dbtut\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c322c32021bf651d9e103b183963c479a9c9791ead0715f4348203496c39aa54?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c322c32021bf651d9e103b183963c479a9c9791ead0715f4348203496c39aa54?s=96&d=mm&r=g\",\"caption\":\"dbtut\"},\"description\":\"We are a team with over 10 years of database management and BI experience. Our Expertises: Oracle, SQL Server, PostgreSQL, MySQL, MongoDB, Elasticsearch, Kibana, Grafana.\",\"sameAs\":[\"http:\/\/NurullahCAKIR\"],\"url\":\"https:\/\/dbtut.com\/index.php\/author\/dbtut\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission - Database Tutorials","description":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/","og_locale":"en_US","og_type":"article","og_title":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission - Database Tutorials","og_description":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission","og_url":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/","og_site_name":"Database Tutorials","article_published_time":"2018-10-31T10:52:37+00:00","article_modified_time":"2018-11-28T07:40:22+00:00","og_image":[{"url":"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png","type":"","width":"","height":""}],"author":"dbtut","twitter_card":"summary_large_image","twitter_misc":{"Written by":"dbtut","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/"},"author":{"name":"dbtut","@id":"https:\/\/dbtut.com\/#\/schema\/person\/fc047c39e1e53dce28fc4253529ea408"},"headline":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission","datePublished":"2018-10-31T10:52:37+00:00","dateModified":"2018-11-28T07:40:22+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/"},"wordCount":576,"commentCount":0,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png","articleSection":["MSSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/","url":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/","name":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#primaryimage"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png","datePublished":"2018-10-31T10:52:37+00:00","dateModified":"2018-11-28T07:40:22+00:00","description":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#primaryimage","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2018\/10\/275.png","width":679,"height":280},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/31\/how-to-give-restrict-access-to-dmw-and-dmf-to-logins-without-giving-view_server_state-permission\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"How To Give Restrict Access To dmw and dmf To Logins Without Giving View_Server_State Permission"}]},{"@type":"WebSite","@id":"https:\/\/dbtut.com\/#website","url":"https:\/\/dbtut.com\/","name":"Database Tutorials","description":"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux","publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dbtut.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dbtut.com\/#organization","name":"dbtut","url":"https:\/\/dbtut.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","width":223,"height":36,"caption":"dbtut"},"image":{"@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dbtut.com\/#\/schema\/person\/fc047c39e1e53dce28fc4253529ea408","name":"dbtut","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c322c32021bf651d9e103b183963c479a9c9791ead0715f4348203496c39aa54?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322c32021bf651d9e103b183963c479a9c9791ead0715f4348203496c39aa54?s=96&d=mm&r=g","caption":"dbtut"},"description":"We are a team with over 10 years of database management and BI experience. Our Expertises: Oracle, SQL Server, PostgreSQL, MySQL, MongoDB, Elasticsearch, Kibana, Grafana.","sameAs":["http:\/\/NurullahCAKIR"],"url":"https:\/\/dbtut.com\/index.php\/author\/dbtut\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/4475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/comments?post=4475"}],"version-history":[{"count":0,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/4475\/revisions"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=4475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=4475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=4475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}