{"id":14225,"date":"2019-12-16T07:09:45","date_gmt":"2019-12-16T07:09:45","guid":{"rendered":"https:\/\/dbtut.com\/?p=14225"},"modified":"2019-12-16T07:10:18","modified_gmt":"2019-12-16T07:10:18","slug":"row-level-security-in-sql-server","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/","title":{"rendered":"Row Level Security in SQL Server"},"content":{"rendered":"<h2>What is Row Level Security in SQL Server?<\/h2>\n<p>Row-Level Security is a feature introduced in SQL Server 2016 that allows each user to see only their own data. So users can only see their own rows. As I have done in almost every article, I will continue with an example. I think this way is more understandable.<\/p>\n<p>Let&#8217;s create a table named Patient with the following script and insert some sample records. The column to be considered here is the NurseUser column. In the following sections of the article we will implement row level security through this column.<\/p>\n<h3>Example<\/h3>\n<pre class=\"lang:default decode:true \">Create table dbo.Patient\n(\nPatientID INT,\nNurseUser Varchar(100),\nRoomNo INT,\nDisease varchar(4000)\n)<\/pre>\n<pre class=\"lang:default decode:true \">INSERT INTO dbo.Patient VALUES(1,'Nurullah',105,'Infection')\nINSERT INTO dbo.Patient VALUES(2,'Nurullah',106,'Rheumatism')\nINSERT INTO dbo.Patient VALUES(3,'Nurullah',107,'arm fracture')\nINSERT INTO dbo.Patient VALUES(4,'Thomas',108,'Varis')\nINSERT INTO dbo.Patient VALUES(5,'Thomas',109,'arm fracture')\nINSERT INTO dbo.Patient VALUES(6,'Thomas',110,'Backache')\nINSERT INTO dbo.Patient VALUES(7,'John',111,'Flu')\nINSERT INTO dbo.Patient VALUES(8,'John',112,'Infection')\nINSERT INTO dbo.Patient VALUES(9,'John',113,'Rheumatism')\nINSERT INTO dbo.Patient VALUES(10,'John',114,'Flu')<\/pre>\n<p>Then we need to create a function like the following. We will identify the person running the query with the where block of this function.<\/p>\n<pre class=\"lang:default decode:true \">Create Function dbo.fn_securityPredicate (@NurseUser sysname)\nreturns table\nwith Schemabinding\nas\nreturn select 1 as [fn_securityPredicate]\nfrom \ndbo.Patient\nwhere @NurseUser = user_name()<\/pre>\n<p>Finally, we complete the process by creating a security policy such as the following that will work with the function described above.<\/p>\n<pre class=\"lang:default decode:true \">Create security Policy fn_security\nadd Filter Predicate\ndbo.fn_securityPredicate(NurseUser)\non dbo.Patient<\/pre>\n<h2>Conclusion<\/h2>\n<p>Create a login named Nurullah and grant Select permission in the Patient table. Then connect to the instance with &#8220;Nurullah&#8221; and select the Patient table. It will return a result as follows.<\/p>\n<p>You may want to read the article &#8220;<a href=\"https:\/\/dbtut.com\/index.php\/2018\/08\/28\/how-to-create-a-login-on-sql-servermanage-logins\/\" target=\"_blank\" rel=\"noopener noreferrer\">How To Create a Login in SQL Server(Manage Logins)<\/a>&#8221; about creating and authorizing login.<\/p>\n<p>So Nurullah can only see the room and patient information he is responsible for.<\/p>\n<p>I really like it. Microsoft has increased security in its latest versions. Another feature I like about security is Always Encrypted. With this feature, data is encrypted at the application level and no one can see the data in the database. (Yes even database administrators)<\/p>\n<p>You can find detailed information about Always Encrypted in the article named &#8220;<a href=\"https:\/\/dbtut.com\/index.php\/2019\/04\/08\/what-is-always-encrypted-in-sql-server\/\" target=\"_blank\" rel=\"noopener noreferrer\">What is Always Encrypted in SQL Server<\/a>&#8221;<\/p>\n<p id=\"ljfchZn\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14226  aligncenter\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/img_5df371bd49e30.png\" alt=\"\" width=\"534\" height=\"362\" \/><\/p>\n<p>We need ALTER ANY SECURITY POLICY to create, alter, or drop Security Policies. To grant this permission to a user, right-click the database, click properties, and then go to the permission tab.<\/p>\n\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_14225\" class=\"pvc_stats all  \" data-element-id=\"14225\" 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>What is Row Level Security in SQL Server? Row-Level Security is a feature introduced in SQL Server 2016 that allows each user to see only their own data. So users can only see their own rows. As I have done in almost every article, I will continue with an example. I think this way is &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_14225\" class=\"pvc_stats all  \" data-element-id=\"14225\" 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":14227,"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":[6646,6639,6654,6652,6653,6637,6638,6644,6640,6645,6655,6642,6641,6647,6649,6651,6657,6656,6658,6650,6648,6643,6659,6660],"class_list":["post-14225","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-mssql","tag-enable-row-level-security-sql-server-2016","tag-implementing-row-level-security-in-sql-server-2016","tag-microsoft-sql-server-row-level-security","tag-ms-sql-2016-row-level-security","tag-ms-sql-server-2016-row-level-security","tag-row-level-security-in-sql-server","tag-row-level-security-in-sql-server-2016","tag-row-level-security-in-sql-server-2016-step-by-step","tag-row-level-security-in-sql-server-example","tag-row-level-security-in-sql-server-step-by-step","tag-row-level-security-sql-server","tag-row-level-security-sql-server-2016-performance","tag-row-level-security-sql-server-performance","tag-sql-2016-row-level-security-example","tag-sql-server-2016-row-level-security-example","tag-sql-server-2016-row-level-security-limitations","tag-sql-server-row-level-security","tag-sql-server-row-level-security-2016","tag-sql-server-row-level-security-2016-example","tag-sql-server-row-level-security-example","tag-sql-server-row-level-security-examples","tag-sql-server-row-level-security-performance-issues","tag-what-is-row-level-security-in-sql-server","tag-what-is-row-level-security"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Row Level Security in SQL Server - Database Tutorials<\/title>\n<meta name=\"description\" content=\"Row Level Security in SQL Server\" \/>\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\/2019\/12\/16\/row-level-security-in-sql-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Row Level Security in SQL Server - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"Row Level Security in SQL Server\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-16T07:09:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-16T07:10:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png\" \/>\n\t<meta property=\"og:image:width\" content=\"576\" \/>\n\t<meta property=\"og:image:height\" content=\"339\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/\"},\"author\":{\"name\":\"dbtut\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/fc047c39e1e53dce28fc4253529ea408\"},\"headline\":\"Row Level Security in SQL Server\",\"datePublished\":\"2019-12-16T07:09:45+00:00\",\"dateModified\":\"2019-12-16T07:10:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/\"},\"wordCount\":319,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png\",\"keywords\":[\"enable row level security sql server 2016\",\"implementing row level security in sql server 2016\",\"microsoft sql server row level security\",\"ms sql 2016 row level security\",\"ms sql server 2016 row level security\",\"Row Level Security in SQL Server\",\"row level security in sql server 2016\",\"row level security in sql server 2016 step by step\",\"row level security in sql server example\",\"row level security in sql server step by step\",\"row level security sql server\",\"row level security sql server 2016 performance\",\"row level security sql server performance\",\"sql 2016 row level security example\",\"sql server 2016 row level security example\",\"sql server 2016 row level security limitations\",\"sql server row level security\",\"sql server row level security 2016\",\"sql server row level security 2016 example\",\"sql server row level security example\",\"sql server row level security examples\",\"sql server row level security performance issues\",\"What is Row Level Security in SQL Server?\",\"What is Row Level Security?\"],\"articleSection\":[\"MSSQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/\",\"name\":\"Row Level Security in SQL Server - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png\",\"datePublished\":\"2019-12-16T07:09:45+00:00\",\"dateModified\":\"2019-12-16T07:10:18+00:00\",\"description\":\"Row Level Security in SQL Server\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#primaryimage\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png\",\"width\":576,\"height\":339},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Row Level Security in SQL Server\"}]},{\"@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":"Row Level Security in SQL Server - Database Tutorials","description":"Row Level Security in SQL Server","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\/2019\/12\/16\/row-level-security-in-sql-server\/","og_locale":"en_US","og_type":"article","og_title":"Row Level Security in SQL Server - Database Tutorials","og_description":"Row Level Security in SQL Server","og_url":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/","og_site_name":"Database Tutorials","article_published_time":"2019-12-16T07:09:45+00:00","article_modified_time":"2019-12-16T07:10:18+00:00","og_image":[{"width":576,"height":339,"url":"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png","type":"image\/png"}],"author":"dbtut","twitter_card":"summary_large_image","twitter_misc":{"Written by":"dbtut","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/"},"author":{"name":"dbtut","@id":"https:\/\/dbtut.com\/#\/schema\/person\/fc047c39e1e53dce28fc4253529ea408"},"headline":"Row Level Security in SQL Server","datePublished":"2019-12-16T07:09:45+00:00","dateModified":"2019-12-16T07:10:18+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/"},"wordCount":319,"commentCount":0,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png","keywords":["enable row level security sql server 2016","implementing row level security in sql server 2016","microsoft sql server row level security","ms sql 2016 row level security","ms sql server 2016 row level security","Row Level Security in SQL Server","row level security in sql server 2016","row level security in sql server 2016 step by step","row level security in sql server example","row level security in sql server step by step","row level security sql server","row level security sql server 2016 performance","row level security sql server performance","sql 2016 row level security example","sql server 2016 row level security example","sql server 2016 row level security limitations","sql server row level security","sql server row level security 2016","sql server row level security 2016 example","sql server row level security example","sql server row level security examples","sql server row level security performance issues","What is Row Level Security in SQL Server?","What is Row Level Security?"],"articleSection":["MSSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/","url":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/","name":"Row Level Security in SQL Server - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#primaryimage"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png","datePublished":"2019-12-16T07:09:45+00:00","dateModified":"2019-12-16T07:10:18+00:00","description":"Row Level Security in SQL Server","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#primaryimage","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2019\/12\/Ads\u0131z-6.png","width":576,"height":339},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2019\/12\/16\/row-level-security-in-sql-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"Row Level Security in SQL Server"}]},{"@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\/14225","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=14225"}],"version-history":[{"count":0,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/14225\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media\/14227"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=14225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=14225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=14225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}