{"id":5999,"date":"2015-10-23T15:04:55","date_gmt":"2015-10-23T13:04:55","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/"},"modified":"2015-10-23T15:04:55","modified_gmt":"2015-10-23T13:04:55","slug":"sql-server-2016-security-dynamic-data-masking-string-data-types","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/","title":{"rendered":"SQL Server 2016 &#8211; Security: Dynamic Data masking \u2013 String Data Types"},"content":{"rendered":"<p>This blog is a part of the series &#8220;<a title=\"SQL Server 2016 - Security: dynamic Data Masking\" href=\"http:\/\/dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking\/\" target=\"_blank\"><strong>SQL Server 2016 &#8211; Security: Dynamic Data Masking<\/strong><\/a>&#8220;.<br \/>\nI remember you my different logins used to connect to AdventureWorks:<\/p>\n<ul>\n<li>sql login <strong>u1<\/strong> with the <strong>db_owner role<\/strong> &#8211;&gt; No masking<\/li>\n<li>sql login <strong>u2<\/strong> with the <strong>db_datareader<\/strong> role &#8211;&gt; masking<\/li>\n<\/ul>\n<p>The Data Types used are:<strong> sysname, char, nchar, nvarchar and varchar<\/strong>.<\/p>\n<p><!--more--><\/p>\n<p>I run this query to have all columns with the tested data type in the clause <strong>WHERE<\/strong>:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">SELECT  T.NAME AS [TABLE NAME], C.NAME AS [COLUMN NAME], P.NAME AS [DATA TYPE], P.MAX_LENGTH AS[SIZE]\nFROM SYS.OBJECTS AS T JOIN SYS.COLUMNS AS C\nON T.OBJECT_ID=C.OBJECT_ID\nJOIN SYS.TYPES AS P\nON C.SYSTEM_TYPE_ID=P.SYSTEM_TYPE_ID\nWHERE T.TYPE_DESC='USER_TABLE' and T.NAME&lt;&gt;'sysdiagrams' and P.NAME='sysname' ORDER BY T.NAME,C.NAME<\/pre>\n<h3>Sysname Data Type<\/h3>\n<p>With Sysname Data Type, I test all masking mode:<\/p>\n<ul>\n<li>Default<\/li>\n<li>Partial(1,\u201dXXXXXX\u201d,0) &#8211;&gt; means that exposes the first and last letters and adds a custom padding string in the middle.<\/li>\n<li>Email<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4651 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27.png\" alt=\"all masking mode for sysname data type\" width=\"300\" height=\"224\" \/><\/a><\/p>\n<p>With u1, I see all different values without masking.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM28.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4652 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM28.png\" alt=\"all masking mode without masking for sysname data type\" width=\"179\" height=\"300\" \/><\/a><br \/>\nWith u2, I see for all rows with:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM29.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4653 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM29.png\" alt=\"all masking mode with masking for sysname data type\" width=\"185\" height=\"300\" \/><\/a><br \/>\nIn the result, you can see that default mode masks with \u2018xxxx\u2019, the partial mode masks with the first letter and the 6 \u2018X\u2019 that I configure and the email mode masks with the first letter and an email format.<\/p>\n<h3>Char and nchar Data Types<\/h3>\n<p>Like for Sysname, I test all masking modes<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM30.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4654 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM30.png\" alt=\"DDM30\" width=\"300\" height=\"211\" \/><\/a><\/p>\n<p>With u1, I see all different values without masking:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM31.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4655 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM31.png\" alt=\"Dynamic Data Masking without masking for char data type\" width=\"151\" height=\"300\" \/><\/a><br \/>\nWith u2, I see for all rows with:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM32.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4656 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM32.png\" alt=\"Dynamic Data Masking with masking for char data type\" width=\"145\" height=\"300\" \/><\/a><br \/>\nIn the result, you can see that default mode masks with one \u2018X\u2019, the partial mode masks with the first letter and one \u2018X\u2019 and the email mode masks with the first letter and no email format but one \u2018X\u2019 like partial.<\/p>\n<h3>Varchar and nvarchar Data Types<\/h3>\n<p>I test also all masking modes<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM33.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4657 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM33.png\" alt=\"Dynamic Data Masking with all masking modes\" width=\"300\" height=\"202\" \/><\/a><\/p>\n<p>With u1, I see all different values without masking.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM34.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4658 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM34.png\" alt=\"Dynamic Data Masking without masking for varchar data type\" width=\"137\" height=\"300\" \/><\/a><br \/>\nWith u2, I see all rows with:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM35.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4659 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM35.png\" alt=\"Dynamic Data Masking with masking for varchar data type\" width=\"167\" height=\"300\" \/><\/a><br \/>\nIn the result, you can see that is like sysname (its logic! ;-))<\/p>\n<h3>Core Message<\/h3>\n<p>For Sysname, varchar and nvarchar data types:<\/p>\n<ul>\n<li>the default masking mode is enabled and masks with \u2018xxxx\u2019<\/li>\n<li>the partial masking mode is enabled and masks with the expression: prefix,[padding],suffix<\/li>\n<li>the email masking mode masks is enabled and with the first letter and an email format<\/li>\n<\/ul>\n<p>For char and nchar data types:<\/p>\n<ul>\n<li>the default mode is enabled and masks with one \u2018X\u2019<\/li>\n<li>the partial mode is enabled but masks with the first letter and one \u2018X\u2019<\/li>\n<li>the email mode is enabled but\u00a0 masks with the first letter and one \u2018X\u2019 but not an email format<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This blog is a part of the series &#8220;SQL Server 2016 &#8211; Security: Dynamic Data Masking&#8220;. I remember you my different logins used to connect to AdventureWorks: sql login u1 with the db_owner role &#8211;&gt; No masking sql login u2 with the db_datareader role &#8211;&gt; masking The Data Types used are: sysname, char, nchar, nvarchar [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":6009,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,48],"tags":[49,25,51,566],"type_dbi":[],"class_list":["post-5999","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","category-technology-survey","tag-microsoft","tag-security","tag-sql-server","tag-sql-server-2016"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server 2016 - Security: Dynamic Data masking \u2013 String Data Types<\/title>\n<meta name=\"description\" content=\"This blog is a part of the series &quot;SQL Server 2016 - Security: Dynamic Data masking&quot; especially to test string data types from AdventureWorks\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server 2016 - Security: Dynamic Data masking \u2013 String Data Types\" \/>\n<meta property=\"og:description\" content=\"This blog is a part of the series &quot;SQL Server 2016 - Security: Dynamic Data masking&quot; especially to test string data types from AdventureWorks\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-10-23T13:04:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"807\" \/>\n\t<meta property=\"og:image:height\" content=\"602\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Haby\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Haby\" \/>\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:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/\"},\"author\":{\"name\":\"St\u00e9phane Haby\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b\"},\"headline\":\"SQL Server 2016 &#8211; Security: Dynamic Data masking \u2013 String Data Types\",\"datePublished\":\"2015-10-23T13:04:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/\"},\"wordCount\":388,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png\",\"keywords\":[\"Microsoft\",\"Security\",\"SQL Server\",\"SQL Server 2016\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Technology Survey\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/\",\"name\":\"SQL Server 2016 - Security: Dynamic Data masking \u2013 String Data Types\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png\",\"datePublished\":\"2015-10-23T13:04:55+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b\"},\"description\":\"This blog is a part of the series \\\"SQL Server 2016 - Security: Dynamic Data masking\\\" especially to test string data types from AdventureWorks\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png\",\"width\":807,\"height\":602},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server 2016 &#8211; Security: Dynamic Data masking \u2013 String Data Types\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b\",\"name\":\"St\u00e9phane Haby\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"caption\":\"St\u00e9phane Haby\"},\"description\":\"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \/ Financial Services, and many other industries.\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/stephane-haby\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server 2016 - Security: Dynamic Data masking \u2013 String Data Types","description":"This blog is a part of the series \"SQL Server 2016 - Security: Dynamic Data masking\" especially to test string data types from AdventureWorks","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:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server 2016 - Security: Dynamic Data masking \u2013 String Data Types","og_description":"This blog is a part of the series \"SQL Server 2016 - Security: Dynamic Data masking\" especially to test string data types from AdventureWorks","og_url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/","og_site_name":"dbi Blog","article_published_time":"2015-10-23T13:04:55+00:00","og_image":[{"width":807,"height":602,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png","type":"image\/png"}],"author":"St\u00e9phane Haby","twitter_card":"summary_large_image","twitter_misc":{"Written by":"St\u00e9phane Haby","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/"},"author":{"name":"St\u00e9phane Haby","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"headline":"SQL Server 2016 &#8211; Security: Dynamic Data masking \u2013 String Data Types","datePublished":"2015-10-23T13:04:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/"},"wordCount":388,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png","keywords":["Microsoft","Security","SQL Server","SQL Server 2016"],"articleSection":["Database Administration &amp; Monitoring","Technology Survey"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/","url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/","name":"SQL Server 2016 - Security: Dynamic Data masking \u2013 String Data Types","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png","datePublished":"2015-10-23T13:04:55+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"description":"This blog is a part of the series \"SQL Server 2016 - Security: Dynamic Data masking\" especially to test string data types from AdventureWorks","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/DDM27-1.png","width":807,"height":602},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-string-data-types\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL Server 2016 &#8211; Security: Dynamic Data masking \u2013 String Data Types"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b","name":"St\u00e9phane Haby","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","caption":"St\u00e9phane Haby"},"description":"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \/ Financial Services, and many other industries.","url":"https:\/\/www.dbi-services.com\/blog\/author\/stephane-haby\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=5999"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5999\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/6009"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=5999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=5999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=5999"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=5999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}