{"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>\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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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\/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;&nbsp;<\/p>\n","protected":false},"author":15,"featured_media":6009,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","neve_meta_reading_time":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4133],"tags":[49,25,566],"class_list":["post-5999","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database","tag-microsoft","tag-security","tag-sql-server-2016"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.7) - 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 services | Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dbiservices\/\" \/>\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\/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:creator\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:site\" content=\"@dbiservices\" \/>\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\\\/7980252d7d7a521e285e7c66114cf82a\"},\"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,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"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\\\/2022\\\/04\\\/DDM27-1.png\",\"keywords\":[\"Microsoft\",\"Security\",\"SQL Server 2016\"],\"articleSection\":[\"Database\"],\"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\\\/2022\\\/04\\\/DDM27-1.png\",\"datePublished\":\"2015-10-23T13:04:55+00:00\",\"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\\\/2022\\\/04\\\/DDM27-1.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/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 services Blog\",\"description\":\"#BeSharing\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"alternateName\":\"dbi Blog\",\"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\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\",\"name\":\"dbi services\",\"alternateName\":\"dbi\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"width\":512,\"height\":512,\"caption\":\"dbi services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dbiservices\\\/\",\"https:\\\/\\\/x.com\\\/dbiservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dbi-services\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/dbiservices\"],\"description\":\"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.\",\"email\":\"info@dbi-services.com\",\"telephone\":\"+41 32 422 96 00\",\"legalName\":\"dbi services SA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/7980252d7d7a521e285e7c66114cf82a\",\"name\":\"St\u00e9phane Haby\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/STH_web-min-scaled.jpg\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/STH_web-min-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/STH_web-min-scaled.jpg\",\"caption\":\"St\u00e9phane Haby\"},\"description\":\"St\u00e9phane Haby has more than 20 years of experience in Microsoft solutions, specializing in the installation, migration, best practices, and performance analysis of Microsoft SQL Server, as well as Microsoft Business Intelligence solutions (SharePoint, Office) and .NET development for the banking sector. A former Microsoft Most Valuable Professional (MVP) and early adopter of Microsoft Team System in France, he has authored several technical articles. He holds Microsoft Certified Solutions Associate (MCSA) and Expert (MCSE) for SQL Server, MCTS, MCITP for SQL Server 2008, and ITIL V3 Foundation certifications. His industry experience covers chemicals and pharma, banking, and financial services.\",\"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 services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","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\/2022\/04\/DDM27-1.png","type":"image\/png"}],"author":"St\u00e9phane Haby","twitter_card":"summary_large_image","twitter_creator":"@dbiservices","twitter_site":"@dbiservices","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\/7980252d7d7a521e285e7c66114cf82a"},"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,"publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"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\/2022\/04\/DDM27-1.png","keywords":["Microsoft","Security","SQL Server 2016"],"articleSection":["Database"],"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\/2022\/04\/DDM27-1.png","datePublished":"2015-10-23T13:04:55+00:00","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\/2022\/04\/DDM27-1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/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 services Blog","description":"#BeSharing","publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"alternateName":"dbi Blog","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":"Organization","@id":"https:\/\/www.dbi-services.com\/blog\/#organization","name":"dbi services","alternateName":"dbi","url":"https:\/\/www.dbi-services.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","width":512,"height":512,"caption":"dbi services"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dbiservices\/","https:\/\/x.com\/dbiservices","https:\/\/www.linkedin.com\/company\/dbi-services\/","https:\/\/www.youtube.com\/user\/dbiservices"],"description":"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.","email":"info@dbi-services.com","telephone":"+41 32 422 96 00","legalName":"dbi services SA"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/7980252d7d7a521e285e7c66114cf82a","name":"St\u00e9phane Haby","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/STH_web-min-scaled.jpg","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/STH_web-min-scaled.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/STH_web-min-scaled.jpg","caption":"St\u00e9phane Haby"},"description":"St\u00e9phane Haby has more than 20 years of experience in Microsoft solutions, specializing in the installation, migration, best practices, and performance analysis of Microsoft SQL Server, as well as Microsoft Business Intelligence solutions (SharePoint, Office) and .NET development for the banking sector. A former Microsoft Most Valuable Professional (MVP) and early adopter of Microsoft Team System in France, he has authored several technical articles. He holds Microsoft Certified Solutions Associate (MCSA) and Expert (MCSE) for SQL Server, MCTS, MCITP for SQL Server 2008, and ITIL V3 Foundation certifications. His industry experience covers chemicals and pharma, banking, and financial services.","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"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}