{"id":5968,"date":"2015-10-23T15:03:22","date_gmt":"2015-10-23T13:03:22","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/"},"modified":"2015-10-23T15:03:22","modified_gmt":"2015-10-23T13:03:22","slug":"sql-server-2016-security-dynamic-data-masking-numeric-data-types","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/","title":{"rendered":"SQL Server 2016 &#8211; Security: Dynamic Data masking \u2013 Numeric 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>bit, tinyint, smallint, int, float &amp; money<\/strong>.<\/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='bit' ORDER BY T.NAME,C.NAME<\/pre>\n<h3>Bit Data type<\/h3>\n<p>Let\u2019s go with the bit Data Type \ud83d\ude1b<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM09.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4630 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM09.png\" alt=\"bit Data Type masking\" width=\"300\" height=\"117\" \/><\/a><br \/>\nI select one of these columns, for example: DimEmployee.SalesPersonFlag<br \/>\nWith this Data Type, only the default masking mode works<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">ALTER TABLE [DimEmployee] ALTER COLUMN [SalesPersonFlag] ADD MASKED WITH (FUNCTION = 'default()')<\/pre>\n<p>And the question is, what the user u2 see in place of the real data&#8230;<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM10.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4631 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM10.png\" alt=\"Dynamic Data Masking default masking mode for Bit data type\" width=\"300\" height=\"280\" \/><\/a><br \/>\nI test with u2 and I\u2019m surprise. Data are masked! Cool I have only \u20180\u2019 for all data. \ud83d\ude09<\/p>\n<h3>Tinyint Data type<\/h3>\n<p>I select the column and type with this data type and I select one of this column for my test and use only the default masking mode:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM12.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4632 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM12.png\" alt=\"Query for tinyint Data type\" width=\"300\" height=\"286\" \/><\/a><\/p>\n<p>With u1, I see all different values and 18484 rows<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM13.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4633 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM13.png\" alt=\"without masking mode\" width=\"300\" height=\"217\" \/><\/a><br \/>\nWith u2, I see for all 18484 rows but with a value 0.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM14.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4634 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM14.png\" alt=\"with masking mode\" width=\"300\" height=\"215\" \/><\/a><\/p>\n<h3>Smallint &amp; int Data types<\/h3>\n<p>I do the same for these others &#8220;integer&#8221; data types:<\/p>\n<ul>\n<ul>\n<li><strong>smallint Data type<\/strong> selection and masking:<\/li>\n<\/ul>\n<\/ul>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM15.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4635 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM15.png\" alt=\"Dynamic Data Masking default masking mode for smallint Data type\" width=\"300\" height=\"215\" \/><\/a><\/p>\n<ul>\n<ul>\n<li><strong>int Data type<\/strong> selection and masking:<\/li>\n<\/ul>\n<\/ul>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM16.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4636 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM16.png\" alt=\"Dynamic Data Masking default masking mode for int Data type\" width=\"300\" height=\"205\" \/><\/a><\/p>\n<p>With u1, I see all different values.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM17.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4637 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM17.png\" alt=\"smallint &amp; int Data Type without masking\" width=\"300\" height=\"215\" \/><\/a><br \/>\nWith u2, I see for all rows with a value of 0.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM18.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4638 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM18.png\" alt=\"smallint &amp; int Data Type with masking\" width=\"300\" height=\"216\" \/><\/a><\/p>\n<h3>Float Data Type<\/h3>\n<p>Like all integers data types, the Dynamic Data Masking replace the value per 0 with the default masking mode.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM21.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4639 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM21.png\" alt=\"Dynamic Data Masking default masking mode for Float\" width=\"300\" height=\"194\" \/><\/a><\/p>\n<p>With u1, I see all different values.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM22.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4640 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM22.png\" alt=\"Float Data Type without masking\" width=\"300\" height=\"214\" \/><\/a><br \/>\nWith u2, I see for all rows with a value of 0.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM23.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4641 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM23.png\" alt=\"Float Data Type with masking\" width=\"300\" height=\"216\" \/><\/a><\/p>\n<h3>Money Data Type<\/h3>\n<p>Like all numerical data types, the Dynamic Data Masking replace the value per 0 with the default masking mode.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM24.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4642 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM24.png\" alt=\"Dynamic Data Masking default masking mode for Money\" width=\"300\" height=\"292\" \/><\/a><\/p>\n<p>With u1, I see all different values.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM25.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4643 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM25.png\" alt=\"Money Data Type without masking\" width=\"300\" height=\"216\" \/><\/a><br \/>\nWith u2, I see for all rows with a value of 0 and NULL.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM26.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-4644 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM26.png\" alt=\"Money Data Type with masking\" width=\"300\" height=\"215\" \/><\/a><\/p>\n<p><strong>It is good to notice that a NULL value is not masked.<\/strong><\/p>\n<h3>Core message<\/h3>\n<ul>\n<li>Numeric Data Types tested use <strong>only the default masking mode<\/strong><\/li>\n<li>The default value is <strong>0<\/strong><\/li>\n<li>A NULL value is not masked<\/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: bit, tinyint, smallint, int,&hellip;&nbsp;<\/p>\n","protected":false},"author":15,"featured_media":5984,"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-5968","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 Numeric 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 numeric 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-numeric-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 Numeric 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 numeric data types from AdventureWorks\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-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:03:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM09-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"752\" \/>\n\t<meta property=\"og:image:height\" content=\"293\" \/>\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-numeric-data-types\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-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 Numeric Data Types\",\"datePublished\":\"2015-10-23T13:03:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\\\/\"},\"wordCount\":363,\"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-numeric-data-types\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/DDM09-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-numeric-data-types\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\\\/\",\"name\":\"SQL Server 2016 - Security: Dynamic Data masking \u2013 Numeric 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-numeric-data-types\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/DDM09-1.png\",\"datePublished\":\"2015-10-23T13:03:22+00:00\",\"description\":\"This blog is a part of the series \\\"SQL Server 2016 - Security: Dynamic Data masking\\\" especially to test numeric data types from AdventureWorks\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/DDM09-1.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/DDM09-1.png\",\"width\":752,\"height\":293},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-security-dynamic-data-masking-numeric-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 Numeric 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 Numeric Data Types","description":"This blog is a part of the series \"SQL Server 2016 - Security: Dynamic Data masking\" especially to test numeric 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-numeric-data-types\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server 2016 - Security: Dynamic Data masking \u2013 Numeric Data Types","og_description":"This blog is a part of the series \"SQL Server 2016 - Security: Dynamic Data masking\" especially to test numeric data types from AdventureWorks","og_url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/","og_site_name":"dbi services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","article_published_time":"2015-10-23T13:03:22+00:00","og_image":[{"width":752,"height":293,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM09-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-numeric-data-types\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-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 Numeric Data Types","datePublished":"2015-10-23T13:03:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/"},"wordCount":363,"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-numeric-data-types\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM09-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-numeric-data-types\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/","url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/","name":"SQL Server 2016 - Security: Dynamic Data masking \u2013 Numeric 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-numeric-data-types\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM09-1.png","datePublished":"2015-10-23T13:03:22+00:00","description":"This blog is a part of the series \"SQL Server 2016 - Security: Dynamic Data masking\" especially to test numeric data types from AdventureWorks","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-data-types\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM09-1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/DDM09-1.png","width":752,"height":293},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-security-dynamic-data-masking-numeric-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 Numeric 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\/5968","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=5968"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5968\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/5984"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=5968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=5968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=5968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}