{"id":36538,"date":"2025-01-20T11:16:00","date_gmt":"2025-01-20T10:16:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=36538"},"modified":"2025-01-20T11:16:08","modified_gmt":"2025-01-20T10:16:08","slug":"dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/","title":{"rendered":"dbo vs. db_owner in SQL Server \u2013 What are the differences between them?"},"content":{"rendered":"\n<p>During the last years working with customers and teaching them in security topics, I realised that a lot of DBAs are not familiar with or aware of the differences between the two \u201cowner\u201d existing in SQL Server.  That&#8217;s why I decided to write a blog about it.<\/p>\n\n\n\n<p>Well, in SQL Server we are dealing with two principals in terms of \u201cowning\u201d a database:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>dbo<\/li>\n\n\n\n<li>db_owner<\/li>\n<\/ul>\n\n\n\n<p>Principals in terms of SQL Server are entries that can request SQL Server resources. <br>We have so called server principals which are operating on instance-level &#8211; here we are talking about logins. At the other hand we have database principals which are operating at database-level &#8211; here we are talking about users.<br>While &#8220;<strong>dbo<\/strong>&#8221; is a single principal (a database-level user) who owns effectively the database, &#8220;<strong>db_owner<\/strong>&#8221; is a database role which can contain multiple users (the role itself is a principal as well as all their members) equipped with the rights to do any operation within the database \u2013 means executing DML (Data Manipulation Language \u2013 statements like SELECT, INSERT, UPDATE and DELETE) as well as DDL (Data Definition Language \u2013 statements like ALTER DATABASE etc.) and DCL (Data Control Language \u2013 statements like GRANT and REVOKE) against the database engine.<br>Furthermore every principal which is member of the server role &#8220;sysadmin&#8221; is not working under his own user in a database, he is mapped implicitly as &#8220;<strong>dbo<\/strong>&#8221; into each database.<br>There are tiny little differences between the two principals &#8220;<strong>dbo<\/strong>&#8221; and &#8220;<strong>db_owner<\/strong>&#8221; that I want to show you in several demos.<\/p>\n\n\n\n<p>By the way: for my demo I\u2019m using the new SSMS 21 which is available in preview these days. My colleague St\u00e9phane Haby already written a <a href=\"https:\/\/www.dbi-services.com\/blog\/new-sql-server-management-studio-version-21-first-test\/\">blog post about the installation of the newest release of SSMS 21.<\/a><\/p>\n\n\n\n<p>The range of functions and authorizations of the user &#8220;<strong>dbo<\/strong>&#8221; and members of the database role &#8220;<strong>db_owner<\/strong>&#8221; are quiet the same, but they differ in the following points:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The &#8220;<strong>dbo<\/strong>&#8221; is able to restore his own database (WITH REPLACE) while members of the role &#8220;<strong>db_owner<\/strong>&#8221; are not<\/li>\n\n\n\n<li>All security checks are skippt when you acting as &#8220;<strong>dbo<\/strong>&#8220;, means DENYs are ignored meanwhile DENYs are taken into account when operating as a member of the role &#8220;<strong>db_owner<\/strong>&#8220;<\/li>\n<\/ol>\n\n\n\n<p>Let\u2019s dig into the demo: After creating the database &#8220;dbo_vs_dbowner&#8221; I&#8217;ve created two logins with descriptive names:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"367\" height=\"152\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png\" alt=\"\" class=\"wp-image-36539\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png 367w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-300x124.png 300w\" sizes=\"auto, (max-width: 367px) 100vw, 367px\" \/><\/figure>\n\n\n\n<p>The login \u201c<strong>Ced_dbo<\/strong>\u201d is the owner of the database, the login \u201c<strong>Ced_dbowner<\/strong>\u201d is member of the database role db_owner:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"658\" height=\"247\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-1.png\" alt=\"\" class=\"wp-image-36540\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-1.png 658w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-1-300x113.png 300w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"710\" height=\"403\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-2.png\" alt=\"\" class=\"wp-image-36541\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-2.png 710w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-2-300x170.png 300w\" sizes=\"auto, (max-width: 710px) 100vw, 710px\" \/><\/figure>\n\n\n\n<p>The setup for the demo is now complete.<br>Now we come to the section, where I want to show you the different behaviour when working with each of them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-backup-restore\"><strong>BACKUP\/RESTORE<\/strong><\/h2>\n\n\n\n<p>Let\u2019s check if we have enough permissions to backup the database first.<br><strong>Ced_dbo<\/strong> \u2013 of course, there is no problem to perform a backup of his own database:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"283\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-19.png\" alt=\"\" class=\"wp-image-36573\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-19.png 961w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-19-300x88.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-19-768x226.png 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"160\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-4.png\" alt=\"\" class=\"wp-image-36543\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-4.png 961w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-4-300x50.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-4-768x128.png 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<p><strong>Ced_dbowner<\/strong> &#8211; no problem to perform a backup of the database as well:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"293\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-6.png\" alt=\"\" class=\"wp-image-36545\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-6.png 961w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-6-300x91.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-6-768x234.png 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"157\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-7.png\" alt=\"\" class=\"wp-image-36546\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-7.png 961w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-7-300x49.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-7-768x125.png 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<p>Now, let\u2019s take a look at the behaviour when performing a restore.<br><strong>Ced_dbo<\/strong> \u2013 Restore is working properly here:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"316\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-8.png\" alt=\"\" class=\"wp-image-36547\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-8.png 961w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-8-300x99.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-8-768x253.png 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"816\" height=\"159\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-9.png\" alt=\"\" class=\"wp-image-36548\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-9.png 816w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-9-300x58.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-9-768x150.png 768w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><\/figure>\n\n\n\n<p><strong>Ced_dbowner<\/strong> \u2013 Performing a restore of the database is not possible under this credentials, because he is neither the owner nor member of the server role \u201cdb_creator\u201d or \u201csysadmin\u201d:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"306\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-10.png\" alt=\"\" class=\"wp-image-36549\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-10.png 961w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-10-300x96.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-10-768x245.png 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"671\" height=\"174\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-11.png\" alt=\"\" class=\"wp-image-36550\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-11.png 671w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-11-300x78.png 300w\" sizes=\"auto, (max-width: 671px) 100vw, 671px\" \/><\/figure>\n\n\n\n<p><strong><span style=\"color: red\">Caution: Performing a restore of his own database is only possible for the user Ced_dbo if he\u2019s providing the parameter WITH REPLACE within the restore statement. If he drops his database first \u2013 yes this operation is allowed to execute for the &#8220;dbo&#8221; as well as for members of the database role \u201cdb_owner\u201d \u2013 and tries to restore it afterwards, the operation will fail!<\/span><\/strong><br>This makes sense because the master database keeps track of the owner of all databases. If a database is dropped, this information will be lost and SQL Server no longer has a clue who the owner of the database is\/was and we need server level permissions (e.g. dbcreator or sysadmin) to create the database again from the backup.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"357\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-12.png\" alt=\"\" class=\"wp-image-36551\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-12.png 961w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-12-300x111.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-12-768x285.png 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"622\" height=\"186\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-13.png\" alt=\"\" class=\"wp-image-36552\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-13.png 622w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-13-300x90.png 300w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/backup-restore\/restore-database-general-page?view=sql-server-ver16#permissions\">https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/backup-restore\/restore-database-general-page?view=sql-server-ver16#permissions<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-bypassing-security-checks\"><strong>Bypassing Security Checks<\/strong><\/h2>\n\n\n\n<p>Now we are goinig to check out the different behaviour of the sessions with our 2 users mentioned above under this point.<br>Due to the fact that Microsoft also uses the principle of inheritance of authorisations in the SQL Server environment, DENY had to be added to the well-known GRANT and REVOKE control commands of a DBMS. This differs from other DBMS like for example Oracle. Generally speaking, within SQL Server we are confronted with the fact that a DENY is overriding every other permission set for a user or group.<\/p>\n\n\n\n<p>SQL Server knows the concept of bypassing security checks when we are connected with users who are members of the server role \u201csysadmin\u201d and owner of databases as well \u2013 means for all types of users like this, DENYs are completely ignored.<\/p>\n\n\n\n<p>A few weeks ago I prepared myself to teach our SQL Server <a href=\"https:\/\/www.dbi-services.com\/courses\/microsoft-sql-server-dba-essential-training\/\">dbi-services course \u201cDBA ESSENTIALS\u201d<\/a> and I was astonished to realise that things has changed obviously when working with SQL Server 2022. Security bypassing seemed to be skippt by Microsoft, because the database owner was unable to do stuff which was denied for public as well as all the other users, but\u2026<\/p>\n\n\n\n<p>\u2026after performing countless tests on different versions of SQL Server 2022, with older versions of SSMS and so on and so forth I&#8217;m able to to confirm, that SQL Server 2022 behaves the same way as always and as expected. I haven\u2019t got a clue what magic happens within my testing environment during my preparation \ud83d\ude0a<br>Let\u2019s dig into the next demo to illustrate and prove that things are behaving the same way the always did.<br>First of all, I created the Stored Procedure called \u201cspr_getInfo\u201d within the database as follows:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>USE &#091;dbo_vs_dbowner]\nGO\nCREATE PROCEDURE spr_getInfo\nAS\nBEGIN\n  SELECT * FROM &#091;dbo_vs_dbowner].&#091;dbo].&#091;T1]\n  WHERE T1_ID = 3\nEND\n<\/code><\/pre>\n\n\n\n<p>Then I set a DENY to execute this Stored Procedure for all users:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>USE &#091;dbo_vs_dbowner]\nGO\nDENY EXECUTE ON OBJECT::dbo.spr_getInfo TO &#091;public]\nGO<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"719\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-14.png\" alt=\"\" class=\"wp-image-36553\" style=\"width:606px;height:auto\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-14.png 754w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-14-300x286.png 300w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><\/figure>\n\n\n\n<p><strong>Ced_dbowner<\/strong> \u2013 even this user is member of the database role \u201cdb_owner\u201d which is granted to do everything within the database he is not allowed to execute the Stored Procedure because the DENY overrides the GRANT in terms of executing this Stored Procedure as mentioned above:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"725\" height=\"419\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-15.png\" alt=\"\" class=\"wp-image-36554\" style=\"width:500px;height:auto\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-15.png 725w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-15-300x173.png 300w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"126\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-16.png\" alt=\"\" class=\"wp-image-36555\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-16.png 961w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-16-300x39.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-16-768x101.png 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<p>Selecting from the table directly is nevertheless allowed (same statement as used within the Stored Procedure), because the DENY impacts only the execution of the Stored Procedure but not the SELECT on the base table:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"724\" height=\"542\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-17.png\" alt=\"\" class=\"wp-image-36556\" style=\"width:501px;height:auto\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-17.png 724w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-17-300x225.png 300w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/figure>\n\n\n\n<p>Now, let\u2019s have a look how the execution behaves under the owner of the database.<br><strong>Ced_dbo<\/strong> \u2013 as mentioned at the beginning of this section, for the owner of the database the DENY is ignored and a query result is being returned when the Stored Procedure is executed:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"724\" height=\"516\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-18.png\" alt=\"\" class=\"wp-image-36557\" style=\"width:507px;height:auto\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-18.png 724w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image-18-300x214.png 300w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>From my point of view, as a DBA it\u2019s very important to know the tiny differences between &#8220;<strong>dbo<\/strong>&#8221; and members of the database role \u201c<strong>db_owner<\/strong>\u201d to avoid unpleasant surprises in our daily business.<br>And last but not least: things behave in the same manner as we are familiar with since a long time ago. Whether this is an advantage or a disadvantage remains a philosophical question\u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>During the last years working with customers and teaching them in security topics, I realised that a lot of DBAs are not familiar with or aware of the differences between the two \u201cowner\u201d existing in SQL Server. That&#8217;s why I decided to write a blog about it. Well, in SQL Server we are dealing with [&hellip;]<\/p>\n","protected":false},"author":138,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198,149,99],"tags":[3506,3505,3507,3370,51],"type_dbi":[],"class_list":["post-36538","post","type-post","status-publish","format-standard","hentry","category-database-management","category-security","category-sql-server","tag-db_owner","tag-dbo","tag-owner","tag-sql-security","tag-sql-server"],"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>dbo vs. db_owner in SQL Server \u2013 What are the differences between them? - dbi Blog<\/title>\n<meta name=\"description\" content=\"dbo vs. db_owner\" \/>\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\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"dbo vs. db_owner in SQL Server \u2013 What are the differences between them?\" \/>\n<meta property=\"og:description\" content=\"dbo vs. db_owner\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-20T10:16:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-20T10:16:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"367\" \/>\n\t<meta property=\"og:image:height\" content=\"152\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Roger Sch\u00f6nmann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roger Sch\u00f6nmann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 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\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/\"},\"author\":{\"name\":\"Roger Sch\u00f6nmann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/fd2a9801ad83d36521b3af1428abc2c6\"},\"headline\":\"dbo vs. db_owner in SQL Server \u2013 What are the differences between them?\",\"datePublished\":\"2025-01-20T10:16:00+00:00\",\"dateModified\":\"2025-01-20T10:16:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/\"},\"wordCount\":1193,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png\",\"keywords\":[\"db_owner\",\"dbo\",\"owner\",\"SQL Security\",\"SQL Server\"],\"articleSection\":[\"Database management\",\"Security\",\"SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/\",\"name\":\"dbo vs. db_owner in SQL Server \u2013 What are the differences between them? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png\",\"datePublished\":\"2025-01-20T10:16:00+00:00\",\"dateModified\":\"2025-01-20T10:16:08+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/fd2a9801ad83d36521b3af1428abc2c6\"},\"description\":\"dbo vs. db_owner\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png\",\"width\":367,\"height\":152},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"dbo vs. db_owner in SQL Server \u2013 What are the differences between them?\"}]},{\"@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\/fd2a9801ad83d36521b3af1428abc2c6\",\"name\":\"Roger Sch\u00f6nmann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c887ebbff56054cbf9c1ca629a82c4821d58f8eaac23147702bbd5254d642fc6?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c887ebbff56054cbf9c1ca629a82c4821d58f8eaac23147702bbd5254d642fc6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c887ebbff56054cbf9c1ca629a82c4821d58f8eaac23147702bbd5254d642fc6?s=96&d=mm&r=g\",\"caption\":\"Roger Sch\u00f6nmann\"},\"honorificPrefix\":\"Mr\",\"gender\":\"male\",\"knowsLanguage\":[\"German\",\"English\",\"French\",\"Italian\"],\"jobTitle\":\"Senior SQL Server Consultant\",\"worksFor\":\"Roger Sch\u00f6nmann\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/rogerschonmann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"dbo vs. db_owner in SQL Server \u2013 What are the differences between them? - dbi Blog","description":"dbo vs. db_owner","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\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/","og_locale":"en_US","og_type":"article","og_title":"dbo vs. db_owner in SQL Server \u2013 What are the differences between them?","og_description":"dbo vs. db_owner","og_url":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/","og_site_name":"dbi Blog","article_published_time":"2025-01-20T10:16:00+00:00","article_modified_time":"2025-01-20T10:16:08+00:00","og_image":[{"width":367,"height":152,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png","type":"image\/png"}],"author":"Roger Sch\u00f6nmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Roger Sch\u00f6nmann","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/"},"author":{"name":"Roger Sch\u00f6nmann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/fd2a9801ad83d36521b3af1428abc2c6"},"headline":"dbo vs. db_owner in SQL Server \u2013 What are the differences between them?","datePublished":"2025-01-20T10:16:00+00:00","dateModified":"2025-01-20T10:16:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/"},"wordCount":1193,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png","keywords":["db_owner","dbo","owner","SQL Security","SQL Server"],"articleSection":["Database management","Security","SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/","url":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/","name":"dbo vs. db_owner in SQL Server \u2013 What are the differences between them? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png","datePublished":"2025-01-20T10:16:00+00:00","dateModified":"2025-01-20T10:16:08+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/fd2a9801ad83d36521b3af1428abc2c6"},"description":"dbo vs. db_owner","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/01\/image.png","width":367,"height":152},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/dbo-vs-db_owner-in-sql-server-what-are-the-differences-between-them\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"dbo vs. db_owner in SQL Server \u2013 What are the differences between them?"}]},{"@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\/fd2a9801ad83d36521b3af1428abc2c6","name":"Roger Sch\u00f6nmann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c887ebbff56054cbf9c1ca629a82c4821d58f8eaac23147702bbd5254d642fc6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c887ebbff56054cbf9c1ca629a82c4821d58f8eaac23147702bbd5254d642fc6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c887ebbff56054cbf9c1ca629a82c4821d58f8eaac23147702bbd5254d642fc6?s=96&d=mm&r=g","caption":"Roger Sch\u00f6nmann"},"honorificPrefix":"Mr","gender":"male","knowsLanguage":["German","English","French","Italian"],"jobTitle":"Senior SQL Server Consultant","worksFor":"Roger Sch\u00f6nmann","url":"https:\/\/www.dbi-services.com\/blog\/author\/rogerschonmann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/36538","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\/138"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=36538"}],"version-history":[{"count":19,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/36538\/revisions"}],"predecessor-version":[{"id":36739,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/36538\/revisions\/36739"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=36538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=36538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=36538"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=36538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}