{"id":2743,"date":"2012-09-06T01:58:00","date_gmt":"2012-09-05T23:58:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/"},"modified":"2012-09-06T01:58:00","modified_gmt":"2012-09-05T23:58:00","slug":"snapmanager-for-sql-server-databases-limitation-policy-1","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/","title":{"rendered":"SnapManager for SQL Server: databases limitation policy"},"content":{"rendered":"<p>I recently talked to a customer about SnapManager, its recommendation on the number of databases and about a way to prevent the creation of more than 35 databases.<\/p>\n<p>The NetApp recommendation is no more than 35 databases on a single volume. The reason is that SQL Server has to use 4-5 worker threads per database in order to manage the freezing and un-freezing I\/O for each database.<\/p>\n<p>Look at this note:<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"Snap_Manager_Note.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Snap_Manager_Note.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Snap_Manager_Note.jpg\" alt=\"\" \/><\/a><\/p>\n<p>More information on this issue may be found <a href=\"%20https:\/now.netapp.com\/Knowledgebase\/solutionarea.asp?id=kb36996\">here<\/a><\/p>\n<p>To never ask about servers where each day new databases can appear created by other persons (IT group or Support) having rights who don&#8217;t know this limit, I proposed to create a policy in SQL Server to be alerted.<\/p>\n<h3>What is a Policy-based Management?<\/h3>\n<p>It&#8217;s a new management feature introduced in SQL Server 2008.<br \/>\nHere is the <a>definition on MSDN<\/a>:<\/p>\n<p>&#8220;Policy-Based Management allows DBAs to define a set of policies that can control many different aspects of SQL Server&#8221;.<\/p>\n<h3>How to create a policy?<\/h3>\n<p>We need 4 steps for this:<\/p>\n<ul>\n<li><strong>Step 1<\/strong>: Create a Condition<\/li>\n<li><strong>Step 2<\/strong>: Create a Policy<\/li>\n<li><strong>Step 3<\/strong>: Evaluate the Policy<\/li>\n<li><strong>Step 4<\/strong>: Create an alert associated with the policy<\/li>\n<\/ul>\n<h3>Query<\/h3>\n<p>There is no property or predefined function to get the number of user databases\u2026<br \/>\nFortunately, it&#8217;s a very simple query which gives the number of user databases:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">select COUNT(*)\nFROM master..sysdatabases\nWHERE name NOT IN ('master','tempdb','model','msdb','distribution','resource')<\/pre>\n<p>Remarks: I excluded all System DBs that&#8217;s why I added distribution and resource in the list.<br \/>\nThis query is the first point before we create a condition based on it.<\/p>\n<h3>Step 1: Create a Condition<\/h3>\n<p>A condition contains one or more Boolean expressions that can be combined with AND, OR, and NOT. The conditions can be quite complex.<\/p>\n<p>Run Management Studio and connect to an SQL Server instance.<br \/>\nIn the Object Explorer, go to Management&gt;Policy Management&gt;Conditions and with a right-click select \u201cNew Condition\u2026\u201d<\/p>\n<p><a class=\"easyblog-thumb-preview\" title=\"Create01.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Create01.jpg\"><img decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Create01.jpg\" alt=\"\" \/><\/a><\/p>\n<p>First, enter a name like \u201cSnapManagerDatabasesLimitation\u201d and click on the button with 3 points(\u2026) in the column Field<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"Create02.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Create02.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Create02.jpg\" alt=\"\" \/><\/a><\/p>\n<p>Oups! I forgot, before change the Facet to &#8220;Default&#8221; value.<br \/>\nA facet is a collection of properties for an object such as a table, a stored procedure, or an audit. There are hundreds of Facets.8-O<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"Create02b.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Create02b.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Create02b.jpg\" alt=\"\" \/><\/a><\/p>\n<p>In the new window, add the query with the Command ExecuteSQL()<br \/>\nThe ExecuteSql function has two arguments:<\/p>\n<ul>\n<li>a character string that defines the type of data being returned<\/li>\n<li>a character string that contains the SQL query<\/li>\n<\/ul>\n<p>The Final Query is:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">ExecuteSql('Numeric', 'select COUNT(name)\nFROM master..sysdatabases\nWHERE name NOT IN (''master'',''tempdb'',''model'',''msdb'',''distribution'',''resource'')')<\/pre>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"Create03.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Create03.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Create03.jpg\" alt=\"\" \/><\/a><\/p>\n<p>Select the operator<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"Create04.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Create04.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Create04.jpg\" alt=\"\" \/><\/a><\/p>\n<p>In the field value, we insert 35 (the maximum defined for SnapManager)<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"Create05.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Create05.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Create05.jpg\" alt=\"\" \/><\/a><\/p>\n<p>Add a description like the introduction of this document (I don&#8217;t have more inspiration8-O)<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"Create06.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Create06.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Create06.jpg\" alt=\"\" \/><\/a><\/p>\n<p>And we have the condition for the policy\u2026<br \/>\nRight click and select &#8220;Script Condition as&gt;Create To&#8221; and you have the xml definition of the condition<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"Create99.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/Create99.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Create99.jpg\" alt=\"\" \/><\/a><\/p>\n<h3>Step 2: Create a Policy<\/h3>\n<p>A policy is a rule based on a single condition and applied to one or more targets.<br \/>\nIn the Object Explorer, go to Management&gt;Policy Management&gt;Policies and with a right-click select \u201cNew Policy\u2026\u201d<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"CreatePolicy01.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/CreatePolicy01.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_CreatePolicy01.jpg\" alt=\"\" \/><\/a><\/p>\n<p>First, enter a name like \u201cSnapManagerDatabasesLimitation\u201d and Select the new condition we just created in step 1 (\u201cSnapManagerDatabaseLimitation\u201d)<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"CreatePolicy02.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/CreatePolicy02.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_CreatePolicy02.jpg\" alt=\"\" \/><\/a><\/p>\n<p>In the targets, verify that \u201cEvery Default\u201d in \u201cEvery Database\u201d is selected<br \/>\nSelect \u201cOn Schedule\u201d in the Evaluation Mode and in schedule Click New for a new schedule or click Pick if you have an existing schedule<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"CreatePolicy03.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/CreatePolicy03.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_CreatePolicy03.jpg\" alt=\"\" \/><\/a><\/p>\n<p>Create a new schedule called \u201cSnapManagerControlSchedule\u201d for every day at 12:00 PM<\/p>\n<p style=\"text-align: center;\"><strong><a class=\"easyblog-thumb-preview\" title=\"CreatePolicy03b.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/CreatePolicy03b.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_CreatePolicy03b.jpg\" alt=\"\" \/><\/a><\/strong><\/p>\n<p>In the Description tab, select the category.<br \/>\nIf you haven\u2019t a category for SnapManager, click on New<\/p>\n<p>Enter Best Practice: SnapManager for the category<br \/>\nTo complete the policy, add some description like the introduction of my blog and validate with a click on OK.<br \/>\nAnd now, we have the policy with a condition.<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"CreatePolicy04.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/CreatePolicy04.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_CreatePolicy04.jpg\" alt=\"\" \/><\/a><\/p>\n<h3>Step 3: Evaluate my Policy<\/h3>\n<p>This function is to test if the new policy is running like I want.<br \/>\nIn the Object Explorer, go to Management&gt;Policy Management&gt;Policies&gt;SnapManagerDatabasesLimitation and with a right-click select \u201cEvaluate\u201d<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"EvaluatePolicy01.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/EvaluatePolicy01.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_EvaluatePolicy01.jpg\" alt=\"\" \/><\/a><\/p>\n<p>In Policy Selection, verify that the policy SnapManagerDatabasesLimitation is selected.<br \/>\nYou have a warning message:<br \/>\n&#8216;SnapManagerDatabasesLimitation&#8217; contains scripts. You should only run policies from a trustworthy source<br \/>\nI consider myself as a trustworthy source:-)<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"EvaluatePolicy02.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/EvaluatePolicy02.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_EvaluatePolicy02.jpg\" alt=\"\" \/><\/a><\/p>\n<p>Click on Evaluate button.<br \/>\nA security notice appears for the warning, just click on Run.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/EvaluatePolicy03.png\" alt=\"EvaluatePolicy03\" width=\"494\" height=\"88\" \/><\/p>\n<p>In Evaluation Result Tab, we can see the result of the launched evaluation:<\/p>\n<p>With a green check, I can see that my policy has return true (I have no more than 35 user databases).<br \/>\nTo see more click on View\u2026 in Targets Details<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"EvaluatePolicy04.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/EvaluatePolicy04.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_EvaluatePolicy04.jpg\" alt=\"\" \/><\/a><\/p>\n<p>In Results Detailed View, we can see that I have 11 user databases.<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"EvaluatePolicy05.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/EvaluatePolicy05.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_EvaluatePolicy05.jpg\" alt=\"\" \/><\/a><\/p>\n<p>To test when the result return false, I don\u2019t create 24 databases, I change the Expected Value in the condition(it\u2019s easy)<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"EvaluatePolicy06.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/EvaluatePolicy06.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_EvaluatePolicy06.jpg\" alt=\"\" \/><\/a><\/p>\n<p>We run an evaluation and surprise&#8230;<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"EvaluatePolicy07.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/EvaluatePolicy07.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_EvaluatePolicy07.jpg\" alt=\"\" \/><\/a><\/p>\n<p>I have a red cross in place of the green check\u2026 The policy returned false!<br \/>\nMy policy running like\u00a0I want.<\/p>\n<p>The last action is to enable the Policy<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"EvaluatePolicy08.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/EvaluatePolicy08.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_EvaluatePolicy08.jpg\" alt=\"\" \/><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/PolicyDisable.png\" alt=\"PolicyDisable\" width=\"29\" height=\"25\" \/>This symbol indicate that the policy is disabled<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/PolicyEnable.png\" alt=\"PolicyEnable\" width=\"23\" height=\"28\" \/>This symbol indicate that the policy is enabled<br \/>\nThe last step is to create an alert for this policy.<\/p>\n<h3>Step 4: Create an alert associated to my policy<\/h3>\n<p>We cannot prevent database creation, but we can be alerted when the number of database exceeds our limit of 35.<br \/>\nIn the Object Explorer, go to SQL Server Agent&gt;Alerts and with a right-click select \u201cNew Alert\u2026\u201d<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"CreateAlerte01.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/CreateAlerte01.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_CreateAlerte01.jpg\" alt=\"\" \/><\/a><\/p>\n<p>Give a name like\u00a0dbi_service_Alerte_DBNumberExceed.<br \/>\nThe type is a SQL Server event alert and the error number associated to the event \u201con Schedule\u201d is 3405<\/p>\n<p>For your information:<br \/>\nThe error message numbers are different for each of the evaluation modes and are shown below.<\/p>\n<table style=\"margin-left: auto; margin-right: auto; border: #000000 1px solid;\" border=\"1\">\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\">Message Number<\/p>\n<\/td>\n<td>\n<p style=\"text-align: center;\">Evaluation Mode<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">30450<\/td>\n<td>On change: Prevent when the policy is enabled for automatic evaluation<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">30451<\/td>\n<td>On change: Prevent when the policy is set to on demand evaluation<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">30452<\/td>\n<td>On schedule<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">30453<\/td>\n<td>On change: Log<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><a class=\"easyblog-thumb-preview\" title=\"CreateAlerte02.jpg\" href=\"http:\/\/dbi-services.com\/blog\/images\/easyblog_images\/88\/CreateAlerte02.jpg\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_CreateAlerte02.jpg\" alt=\"\" \/><\/a><\/p>\n<p>In Response, select the dba group to be notify by an e-mail like:<br \/>\n<em>&#8212;&#8211;Original Message&#8212;&#8211;<\/em><br \/>\n<em>From: Server1@Server1 [mailto:Server1@dbi-services.com]<\/em><\/p>\n<p><em>Sent: Tuesday, August 21, 2012 12:01 PM<br \/>\nTo: Haby, St\u00e9phane<br \/>\n<a>Subject: SQL Server Alert System: &#8216;dbi_service_Alerte_DBNumberExceed&#8217; occurred on \\Server1Instance1<\/a><br \/>\nDATE\/TIME:\u00a021\/08\/2012 12:00:35<br \/>\nDESCRIPTION:\u00a0(None)<br \/>\nCOMMENT:\u00a0(None)<br \/>\nJOB RUN:\u00a0(None)<\/em><\/p>\n<h3>Conclusion<\/h3>\n<p>Now a Support Operator\/DBA will be notified if the number of databases exceeds 35.<br \/>\nIt will be alerted according to the schedule defined in the policy.<br \/>\nDBA may interfere directly\u00a0with the application or the database creator\u00a0who just have created additional databases.<br \/>\nHoping that the next version of SnapManager removes this limit especially for applications like SharePoint for which the number of databases can quickly explode&#8230;!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently talked to a customer about SnapManager, its recommendation on the number of databases and about a way to prevent the creation of more than 35 databases. The NetApp recommendation is no more than 35 databases on a single volume. The reason is that SQL Server has to use 4-5 worker threads per database [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":2744,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198],"tags":[49,265,54,35],"type_dbi":[],"class_list":["post-2743","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-management","tag-microsoft","tag-sql-server-2008","tag-sql-server-2012","tag-storage"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SnapManager for SQL Server: databases limitation policy - dbi Blog<\/title>\n<meta name=\"description\" content=\"The Netapp recommendation is no more than 35 databases on a single volume. The reason for this is that in order to manage the freezing and un-freezing of I\/O for each database, SQL Server has to use 4-5 worker threads per database. To resolve it, we use the Policy-based Management.\" \/>\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\/snapmanager-for-sql-server-databases-limitation-policy-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SnapManager for SQL Server: databases limitation policy\" \/>\n<meta property=\"og:description\" content=\"The Netapp recommendation is no more than 35 databases on a single volume. The reason for this is that in order to manage the freezing and un-freezing of I\/O for each database, SQL Server has to use 4-5 worker threads per database. To resolve it, we use the Policy-based Management.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2012-09-05T23:58:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Snap_Manager_Note.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"158\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Haby\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Haby\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 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\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/\"},\"author\":{\"name\":\"St\u00e9phane Haby\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\"},\"headline\":\"SnapManager for SQL Server: databases limitation policy\",\"datePublished\":\"2012-09-05T23:58:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/\"},\"wordCount\":1092,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/b2ap3_thumbnail_Snap_Manager_Note.jpg\",\"keywords\":[\"Microsoft\",\"SQL Server 2008\",\"SQL Server 2012\",\"Storage\"],\"articleSection\":[\"Database management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/\",\"name\":\"SnapManager for SQL Server: databases limitation policy - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/b2ap3_thumbnail_Snap_Manager_Note.jpg\",\"datePublished\":\"2012-09-05T23:58:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\"},\"description\":\"The Netapp recommendation is no more than 35 databases on a single volume. The reason for this is that in order to manage the freezing and un-freezing of I\\\/O for each database, SQL Server has to use 4-5 worker threads per database. To resolve it, we use the Policy-based Management.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/b2ap3_thumbnail_Snap_Manager_Note.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/b2ap3_thumbnail_Snap_Manager_Note.jpg\",\"width\":500,\"height\":158},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/snapmanager-for-sql-server-databases-limitation-policy-1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SnapManager for SQL Server: databases limitation policy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\",\"name\":\"St\u00e9phane Haby\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"caption\":\"St\u00e9phane Haby\"},\"description\":\"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \\\/ Financial Services, and many other industries.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/stephane-haby\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SnapManager for SQL Server: databases limitation policy - dbi Blog","description":"The Netapp recommendation is no more than 35 databases on a single volume. The reason for this is that in order to manage the freezing and un-freezing of I\/O for each database, SQL Server has to use 4-5 worker threads per database. To resolve it, we use the Policy-based Management.","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\/snapmanager-for-sql-server-databases-limitation-policy-1\/","og_locale":"en_US","og_type":"article","og_title":"SnapManager for SQL Server: databases limitation policy","og_description":"The Netapp recommendation is no more than 35 databases on a single volume. The reason for this is that in order to manage the freezing and un-freezing of I\/O for each database, SQL Server has to use 4-5 worker threads per database. To resolve it, we use the Policy-based Management.","og_url":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/","og_site_name":"dbi Blog","article_published_time":"2012-09-05T23:58:00+00:00","og_image":[{"width":500,"height":158,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Snap_Manager_Note.jpg","type":"image\/jpeg"}],"author":"St\u00e9phane Haby","twitter_card":"summary_large_image","twitter_misc":{"Written by":"St\u00e9phane Haby","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/"},"author":{"name":"St\u00e9phane Haby","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"headline":"SnapManager for SQL Server: databases limitation policy","datePublished":"2012-09-05T23:58:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/"},"wordCount":1092,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Snap_Manager_Note.jpg","keywords":["Microsoft","SQL Server 2008","SQL Server 2012","Storage"],"articleSection":["Database management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/","url":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/","name":"SnapManager for SQL Server: databases limitation policy - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Snap_Manager_Note.jpg","datePublished":"2012-09-05T23:58:00+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"description":"The Netapp recommendation is no more than 35 databases on a single volume. The reason for this is that in order to manage the freezing and un-freezing of I\/O for each database, SQL Server has to use 4-5 worker threads per database. To resolve it, we use the Policy-based Management.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Snap_Manager_Note.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/b2ap3_thumbnail_Snap_Manager_Note.jpg","width":500,"height":158},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/snapmanager-for-sql-server-databases-limitation-policy-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SnapManager for SQL Server: databases limitation policy"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b","name":"St\u00e9phane Haby","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","caption":"St\u00e9phane Haby"},"description":"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \/ Financial Services, and many other industries.","url":"https:\/\/www.dbi-services.com\/blog\/author\/stephane-haby\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/2743","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=2743"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/2743\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/2744"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=2743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=2743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=2743"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=2743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}