<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server Policy-Based Management</title><link>http://blogs.msdn.com/sqlpbm/default.aspx</link><description>This blog is dedicated to Policy-Based Management introduced in SQL Server 2008</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Generate the List of All Available Facets and Their Properties</title><link>http://blogs.msdn.com/sqlpbm/archive/2009/04/20/generate-the-list-of-all-available-facets-and-their-properties.aspx</link><pubDate>Mon, 20 Apr 2009 20:40:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9557008</guid><dc:creator>sqlpbm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/9557008.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=9557008</wfw:commentRss><description>&lt;p&gt;Our colleague Jens Suessmeyer in Germany has figured out how to generate the list of all facets and their properties. He has posted the &lt;a href="http://blogs.msdn.com/jenss/archive/2009/04/18/getting-a-list-of-all-facets-and-its-properties.aspx"&gt;list&lt;/a&gt; on his blog. Below is the code snippet from Jens:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;&lt;font color="#0000ff"&gt;foreach&lt;/font&gt; (&lt;font color="#008080"&gt;FacetInfo&lt;/font&gt; info &lt;font color="#0000ff"&gt;in&lt;/font&gt; &lt;font color="#008080"&gt;PolicyStore&lt;/font&gt;.Facets)&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;{&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#008080"&gt;Console&lt;/font&gt;.WriteLine(info.Name);&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;foreach&lt;/font&gt; (System.Reflection.&lt;font color="#008080"&gt;PropertyInfo&lt;/font&gt; p &lt;font color="#0000ff"&gt;in&lt;/font&gt; info.FacetProperties)&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#008080"&gt;Console&lt;/font&gt;.WriteLine(&amp;quot;\t&amp;quot; + p.Name);&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/u&gt;&lt;/p&gt;  &lt;p&gt;About the Author:&lt;/p&gt;  &lt;p&gt;Hongfei Guo is a PM on the SQL Server Manageability team at Microsoft&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9557008" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Facets/default.aspx">Facets</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category></item><item><title>Policy Evaluation Modes</title><link>http://blogs.msdn.com/sqlpbm/archive/2009/04/13/policy-evaluation-modes.aspx</link><pubDate>Tue, 14 Apr 2009 03:39:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9547636</guid><dc:creator>sqlpbm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/9547636.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=9547636</wfw:commentRss><description>&lt;p&gt;I hosted a PBM break out session in Microsoft MVP Summit 2009 in March. One feedback I got is that the rules for what evaluation modes a policy support are obtuse. I thought that would be a good topic to cover in the blog. &lt;/p&gt;  &lt;p&gt;In PBM, users can specify the “Evaluation Mode” for a policy, as shown in the Policy Dialogue below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/PolicyEvaluationModes_F834/PolicyDialogue_4.jpg"&gt;&lt;img title="PolicyDialogue" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="445" alt="PolicyDialogue" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/PolicyEvaluationModes_F834/PolicyDialogue_thumb_1.jpg" width="757" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The Evaluation Mode defines the combination of 1) when the policy will be evaluated and 2) what the system will do in case of policy violation. The following evaluation modes are supported:&lt;/p&gt;  &lt;p&gt;   &lt;table cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="163"&gt;           &lt;p&gt;&lt;b&gt;Evaluation Mode&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="240"&gt;           &lt;p&gt;&lt;b&gt;When to Check&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="235"&gt;           &lt;p&gt;&lt;b&gt; Action upon Violation&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="163"&gt;           &lt;p&gt;&lt;b&gt;On Demand&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="240"&gt;           &lt;p&gt;On demand only&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="235"&gt;           &lt;p&gt; Users can choose to configure the&amp;#160; system to comply to the policy&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="163"&gt;           &lt;p&gt;&lt;b&gt;On Schedule&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="240"&gt;           &lt;p&gt;Periodically according to the specified schedule&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="235"&gt;           &lt;p&gt;log&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="163"&gt;           &lt;p&gt;&lt;b&gt;On Change – Log only&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="240"&gt;           &lt;p&gt;When there is a relevant (DDL) change to the DBMS&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="235"&gt;           &lt;p&gt;log&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="163"&gt;           &lt;p&gt;&lt;b&gt;On Change – Prevent&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="240"&gt;           &lt;p&gt;When there is a relevant (DDL) change to the DBMS&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="235"&gt;           &lt;p&gt;Roll back the transaction&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You may have noticed from the GUI that all policies support On Demand evaluation mode. Most policies support On Schedule evaluation mode. Among those, some policies support On Change – Log only. Again among those, some polices also support On Change – Prevent. As shown in the Venn diagram. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/PolicyEvaluationModes_F834/SupportedEvaluationModes_2.jpg"&gt;&lt;img title="SupportedEvaluationModes" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="258" alt="SupportedEvaluationModes" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/PolicyEvaluationModes_F834/SupportedEvaluationModes_thumb.jpg" width="378" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font size="4"&gt;On Schedule&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For 2008, we support On Schedule mode for all policies referring to facets on the Database Engine. There are two facets that are not in this category: ISurfaceAreaConfigurationForAnalysisServer is defined for the Analysis Services and ISurfaceAreaConfigurationForReportingServices is defined for the Reporting Services. We only support On Demand mode for policies defined on these two facets. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font size="4"&gt;On Change&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A policy supports On Change modes if and only if both of the following rules hold:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1) The facet referred to by the policy supports On Change modes&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;2) If there are any target-set-filter conditions (see the Policy Dialogue Figure) specified in this policy, they are all Naming conditions (conditions in the form of &amp;lt;@name, [Operator], [value]&amp;gt;) and there is no server restriction condition. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;let’s look at the first rule first. The On Change evaluation modes are implemented using the DDL eventing mechanism of SQL Server. And the “roll back” action relies on transactional support of the corresponding DDL statement. The change of some facet properties does not trigger any event, for example, database size in the Database facet. And accordingly we don’t support On Change modes for such facets. For some facets, although there are always events for every facet property, there is no transactional support for the DDL statement. For such facets, On Change – Log Only mode is supported, but not On Change – Prevent. IDatabaseOption facet is such an example. You can use the following query to check out what evaluation modes a facet support:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;select * from msdb..syspolicy_management_facets&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The execution_mode column is a bit mask defined as follows:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;4 (100):&amp;#160; On Schedule&lt;/p&gt;    &lt;p&gt;2 (10):&amp;#160;&amp;#160;&amp;#160; On Change - Log Only&lt;/p&gt;    &lt;p&gt;1(1):&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; On change - Prevent&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The following query checks what events are monitored for a facet supporting On Change modes:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;select * from msdb..syspolicy_facet_events&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Next let’s look at the second rule. In a policy you can use conditions to filter the set of objects the policy applies to. Theoretically, you can use any condition to filter out the targets. However, there is a tradeoff between flexibility and performance. The performance penalty in allowing arbitrary filter conditions becomes significant with On Change evaluation modes since the policy evaluation is done alongside the transaction. It is less an issue for On Schedule mode since users can choose to run the policy at off-peak time. For that reason, we made a tradeoff: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1) For the common use cases where the filter is a “name condition” on Database, that is: &amp;lt;@name, [Operator], [value]&amp;gt;, we allow the full set of applicable evaluation modes because there is an efficient way in calculating the target set.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;2) For the use cases where arbitrary filter conditions are needed, we allow the flexibility but for performance reason we don’t allow On Change evaluation modes.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The syspolicy_conditions_internal.is_name_condition indicates if this condition is a “name condition” (when the value is not 0).&lt;/p&gt;  &lt;p&gt;Is_name_condition has the following enum values (representing the operator in the filter condition):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;0 : None&lt;/p&gt;    &lt;p&gt;1: Equals&lt;/p&gt;    &lt;p&gt;2: Like&lt;/p&gt;    &lt;p&gt;3: NotEqual&lt;/p&gt;    &lt;p&gt;4: NotLike&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font size="4"&gt;Summary&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Not all policies support On Change evaluation modes. We only support On Change evaluation modes for a policy when the referred facet has DDL event coverage and the target filter conditions for the policy are simply Naming conditions if there are any.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Calibri"&gt;About the Author:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Calibri"&gt;Hongfei Guo is a PM on the SQL Server Manageability team at Microsoft&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9547636" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Evaluation+Mode/default.aspx">Evaluation Mode</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Check+On+Shcedule/default.aspx">Check On Shcedule</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Check+On+Change/default.aspx">Check On Change</category></item><item><title>Defining Complex Server "Health" Policies in SQL2K8</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/09/11/defining-complex-server-health-policies-in-sql2k8.aspx</link><pubDate>Fri, 12 Sep 2008 06:07:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8945803</guid><dc:creator>sqlpbm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8945803.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8945803</wfw:commentRss><description>&lt;p&gt;Bart Duncan (a dev on the manageability team and one of the masterminds behind the Management Data Warehouse and Data Collector feature in SQL Server 2008) has a blog &lt;a href="http://blogs.msdn.com/bartd/archive/2008/09/11/defining-complex-server-health-policies-in-sql-2008.aspx" target="_blank"&gt;posting&lt;/a&gt; where he walks through using PBM to author a complex server &amp;quot;health&amp;quot; policy.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8945803" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category></item><item><title>Out-Of-Box Policies</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/07/15/out-of-box-policies.aspx</link><pubDate>Tue, 15 Jul 2008 23:10:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8734903</guid><dc:creator>sqlpbm</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8734903.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8734903</wfw:commentRss><description>&lt;p&gt;SQL Server 2008 includes several predefined policies. These are generally associated with best practices and overtime the rules from the Best Practices Analyzer will be implemented as policies for PBM. A number of these have already been implemented and are available to you in one of two forms: &lt;/p&gt;  &lt;p&gt;First, they're installed as part of every Management Studio installation. There is no specific feature option to select in the setup GUI, just install Management Studio (Management Tools - Basic) and the policies will be installed. The policies are placed on your local machine in the form of XML files. These files can be imported into an instance of SQL Server 2008 or can be run directly from the XML files. The location of the files depends on where you chose to install the client tools. On a default install, you'll find them here: C:\Program Files\microsoft sql server\100\Tools\Policies&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The second way to get the policies is to download them from the feature pack. Here's the link to the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=089a9dad-e2df-43e9-9cd8-c06320520b40&amp;amp;DisplayLang=en" target="_blank"&gt;RC0 feature pack&lt;/a&gt;. If you scroll down the page you'll find an entry for Microsoft SQL Server 2008 Policies. You can download and run the MSI. You'll have an option to install the policies to any location you like.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It's a good idea to periodically check for updates to the policies. Overtime we'll add new policies, change existing ones as needed and remove out-dated policies. If you decide to modify one of these policies we recommend you move it to a different location to avoid it from being overwritten by an update.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;_____________&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;About the Author:      &lt;br /&gt;Dan Jones is a PM on the SQL Server Manageability team at Microsoft.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8734903" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Best+Practice/default.aspx">Best Practice</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Evaluation+Mode/default.aspx">Evaluation Mode</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Check+On+Shcedule/default.aspx">Check On Shcedule</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Check+On+Change/default.aspx">Check On Change</category></item><item><title>Policy Categories</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/07/07/policy-categories.aspx</link><pubDate>Mon, 07 Jul 2008 22:06:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8703656</guid><dc:creator>sqlpbm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8703656.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8703656</wfw:commentRss><description>&lt;p&gt;Policy categories have two purposes in SQL2K8: 1) organization of policies and 2) policy scope. In this posting we'll explore creating categories for each of these purposes.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Creating Categories&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;There are two ways to create a category: 1) the &lt;font face="Courier"&gt;Manage Categories&lt;/font&gt; dialog and 2) The &lt;font face="Courier"&gt;Policy Properties&lt;/font&gt; dialog. &lt;/p&gt;  &lt;p&gt;To create a category from the Manage Categories dialog, connect Object Explorer to an instance of SQL2K8. Expand the &lt;font face="Courier"&gt;Management&lt;/font&gt; node, right-click on the &lt;font face="Courier"&gt;Policy Management&lt;/font&gt; and select &lt;font face="Courier"&gt;Manage Categories&lt;/font&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ManageCategories.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="194" alt="ManageCategories" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ManageCategories_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This will launch the &lt;font face="Courier"&gt;Manage Categories&lt;/font&gt; dialog. On this dialog you can create, update, and delete categories and change the subscription state for each category. I'll cover the subscription state later on.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ManageCategoriesDialog_1.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="287" alt="ManageCategoriesDialog" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ManageCategoriesDialog_thumb_1.png" width="410" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To create a new category click in the Name field on the last row and type in the name for the category. This will create a new category which is mandatory for every database. Click OK to dismiss the dialog and you're done.&lt;/p&gt;  &lt;p&gt;You can also create a new category from the &lt;font face="Courier"&gt;Policy Properties&lt;/font&gt; dialog. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/PolicyDialog.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="288" alt="PolicyDialog" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/PolicyDialog_thumb.png" width="336" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On the &lt;font face="Courier"&gt;Description&lt;/font&gt; tab click &lt;font face="Courier"&gt;New&lt;/font&gt; next to the &lt;font face="Courier"&gt;Category &lt;/font&gt;field. This launches the new &lt;font face="Courier"&gt;Create new category&lt;/font&gt; which accepts a category name. The category will be created as mandatory for all databases. You also use this dialog to assign a policy to a particular category. Use the category combo box to select a category. &lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Organizing Policies&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;There are a few key places where the use of categories simplifies certain actions.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Object Explorer Details&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;When the &lt;font face="Courier"&gt;Policies&lt;/font&gt; folder is selected in Object Explorer, Object Explorer Details lists all of the policies on the system with a select set of properties, including Category.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ObjectExplorerDetails.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="112" alt="ObjectExplorerDetails" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ObjectExplorerDetails_thumb.png" width="336" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The columns in Object Explorer Details can be sorted, just click on the column heading you wish to sort by.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ObjectExplorerDetailsSorted.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="106" alt="ObjectExplorerDetailsSorted" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ObjectExplorerDetailsSorted_thumb.png" width="333" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Sorting on category can make it easier to perform certain operations.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ObjectExplorerDetailsContextMenu.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="155" alt="ObjectExplorerDetailsContextMenu" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ObjectExplorerDetailsContextMenu_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Evaluate, Export, and Script are all valid operations on a set of policies. You could use ctrl-click to select multiple disjointed policies but I've found sorting to be quicker and less error prone.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;View Policies Dialog&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Right-click any object in Object Explorer and select Policies -&amp;gt; View to see the policies which apply (or can apply) to the selected object. The &lt;font face="Courier"&gt;View Policies&lt;/font&gt; dialog is displayed.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ViewPoliciesDialog.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="290" alt="ViewPoliciesDialog" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/ViewPoliciesDialog_thumb.png" width="430" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Category is a property in the table which can be used to sort the policies. This makes it easy to see which policies in a particular category apply to the object or are in violation.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Evaluate Policies&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;The &lt;font face="Courier"&gt;Evaluate Policies&lt;/font&gt; dialog allows you to manually evaluate one or more policies against a single object or against the computed target set (all objects the policies applies to). &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/EvaluatePolicies.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="314" alt="EvaluatePolicies" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/EvaluatePolicies_thumb.png" width="426" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This dialog includes the Category property which you can sort on. If you wish to run all of the policies in a particular category sorting them first prevents you from having to hunt and peck for each policy in a particular category.&lt;/p&gt;  &lt;p&gt;In this section we looked at several places where using categories can expedite certain policy tasks. Now let's look at category subscriptions which controls the applicability of policies.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Delegation of Policy Applicability&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Using categories databases can subscribe to certain sets of policies. Subscribe simply means that all of the policies in the category may apply or do not apply to the particular database. This is only applicable to policies which target databases or objects contained in a database. Policies which target the instance and instance objects (excluding database) are excluded from the subscription.&lt;/p&gt;  &lt;p&gt;Categories can be configured for mandatory subscription, meaning all databases must subscribe to the category and cannot opt out, and non-mandatory subscriptions, meaning individual databases can opt-in/opt-out of policies in the category.&lt;/p&gt;  &lt;p&gt;When a database subscribes to a category it's not implicit that all policies in the category apply to the database and all objects in the database. The policy may contain a target filter which eliminates certain objects from the scope of the policy. However, if a database does not subscribe to a category the database and all database objects in that databases are explicitly excluded from the scope of the policy.&lt;/p&gt;  &lt;p&gt;There are certain situations where optional categories make sense. A set of policies may only apply to certain databases but the Policy Administrator doesn't know which databases the policies apply to. However the owner of the database does know and can choose which policy categories apply and which don't.&lt;/p&gt;  &lt;p&gt;For example you may have a set of policies that only apply to reporting (read-only) databases, but only the database owner knows if their database is a reporting database (there is no database attribute to designate this type of database and therefore no way to construct a target filter). The Policy Administrator would create the policies for reporting databases in a category called &amp;quot;Reporting Database Policies&amp;quot;. The category is configured to be optional. Each database owner can then choose to subscribe to the category or not.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#800000"&gt;Security Notice: You must be SA or DBO of the database to control policy category subscriptions.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/DatabaseCategories.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="251" alt="DatabaseCategories" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/DatabaseCategories_thumb.png" width="307" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This launches the &lt;font face="Courier"&gt;Categories&lt;/font&gt; dialog.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/CategoriesDialog_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="285" alt="CategoriesDialog" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Categories_E16A/CategoriesDialog_thumb_2.png" width="431" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Mandatory categories appear subscribed to and disabled - meaning they cannot be unsubscribed from. The &amp;quot;&amp;lt;Default&amp;gt;&amp;quot; category is always mandatory. Non-mandatory categories have the subscription checkbox enabled to allow the database owner to subscribe/unsubscribe as appropriate. When the category is expanded the list of policies in the category is displayed. To subscribe to the category select the checkbox under the Subscribed column and click OK.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Summary&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Categories serve two purposes: 1) organization (group like policies together) and 2) policy scope. It's a best practice to categorize your policies by their purpose (such as industry compliance or security). Choosing to mark the categories as optional or mandatory depends on your particular situation.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#008040"&gt;Suggestion: If you have SQL2K and/or SQL2K5 servers in your topology and you want to create policies for these servers you can create policies on a SQL2K8 server. Create two non-mandatory categories, &amp;quot;SQL Server 2000&amp;quot; and &amp;quot;SQL Server 2005&amp;quot; and place each policy in the appropriate category. This will make it easier to track what the policies are for. If you automate the policies using PowerShell you can easily select the correct set of policies for each server version.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;_____________&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;About the Author:      &lt;br /&gt;Dan Jones is a PM on the SQL Server Manageability team at Microsoft.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8703656" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Management+Studio/default.aspx">Management Studio</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category></item><item><title>Wide Format</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/07/06/wide-format.aspx</link><pubDate>Sun, 06 Jul 2008 20:24:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8697578</guid><dc:creator>sqlpbm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8697578.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8697578</wfw:commentRss><description>&lt;p&gt;You may notice I've changed the blog format from narrow to wide. I think this makes it more readable as it uses more screen real estate - less scrolling! Let me know what you think. Or let me know if you think I'm obsessing too much about something insignificant and I should be directing that energy to more postings.&lt;/p&gt;  &lt;p&gt;Cheers,   &lt;br /&gt;Dan&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8697578" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Nonsense/default.aspx">Nonsense</category></item><item><title>Using PBM Against SQL2K and SQL2K5</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/07/04/using-pbm-against-sql2k-and-sql2k5.aspx</link><pubDate>Fri, 04 Jul 2008 22:32:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8690816</guid><dc:creator>sqlpbm</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8690816.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8690816</wfw:commentRss><description>&lt;p&gt;We get this question a lot: can I use PBM against a SQL2K &amp;amp; SQL2K5 instances. The quick answer is yes but in a limited fashion. PBM is ultimately based on SMO (SQL Server Management Objects) and SMO supports SQL2K, SQL2K5, and SQL2K8. PBM relies on some changes to the DB engine which are not available in versions below SQL2K8, therefore, not all PBM functionality&amp;#160; is available in SQL2K and SQL2K5.&lt;/p&gt;  &lt;p&gt;Let's divide the PBM functionality into four key areas:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Authoring policies &lt;/li&gt;    &lt;li&gt;Storing policies on a server &lt;/li&gt;    &lt;li&gt;Automated policy evaluation &lt;/li&gt;    &lt;li&gt;Manual policy evaluation &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Authoring Policies&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;There are two ways to author a policy: connected and disconnect. Connected policy authoring is only supported in SQL2K8. When authoring in connected mode (Object Explorer is connected to an instance) the policy is stored on the server. There is no way to alternatively save the policy to the file system (other than exporting it after it's created on the server). Disconnected authoring saves the policy to the file system (as an XML file). This functionality is only available in SQL2K8 Management Studio. Since it doesn't require a connection to a back-end server you don't need an instance of SQL2K8 available. Therefore, authoring policies is somewhat dependent upon SQL2K8 - you need the toolset but not a server.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Storing Policies On A Server&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;There are two ways to store a policy on a server: create it on the server and import a policy XML file to the server. Both of these are only available on SQL2K8 servers.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Automated Policy Evaluation&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Policy automation is dependent upon enhancements to dependent features only available in SQL2K8 (SQCLR, SMO, Agent and DDL Eventing.) Therefore, automated policy evaluation (Check on Change - Prevent, Check on Change - Log, and Check on Schedule) is only available on SQL2K8 servers. In addition, the automation requires the policy to stored locally on the server which is only supported on SQL2K8.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Manual Policy Evaluation&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Manually evaluating a policy is a client-side operation (simply meaning it doesn't run in the context of the DB Engine service) and therefore it requires SQL2K8 Management Studio (or at least the SQL2K8 management stack - PBM &amp;amp; SMO APIs). There are four ways to manually evaluate a policy:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;From Object Explorer in Management Studio &lt;/li&gt;    &lt;li&gt;From Registered Servers in Management Studio &lt;/li&gt;    &lt;li&gt;The PowerShell cmdlet Invoke-PolicyEvaluation &lt;/li&gt;    &lt;li&gt;From the PBM API &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Object Explorer (OE): Policy evaluation is supported from OE when connected to SQL2K5 and SQL2K8 servers (note: this may also be available when connected to a SQL2K server but I didn't have one available to me at the time of this writing to verify). You get the same Evaluation dialog in both cases. However, when connected to a SQL2K5 server there are no locally stored policies which means you need to select policies from file or from a SQL2K8 server.&lt;/p&gt;  &lt;p&gt;Registered Servers (RegSrvrs): Policy evaluation is supported from RegSrvrs for SQL2K, SQL2K5, and SQL2K8 servers. You can evaluate policies that are saved to file or stored on a SQL2K8 server. You can also evaluate policies against a group of servers. The server group can contain mixed versions.&lt;/p&gt;  &lt;p&gt;Invoke-PolicyEvaluation: This PowerShell cmdlet can be run against SQL2K, SQL2K5, and SQL2K8 servers. You just pass in the server name to the TargetServerName parameter. You can evaluate policies stored on a SQL2K8 server or on the file system. This &lt;a href="http://blogs.msdn.com/sqlpbm/archive/2008/06/14/running-against-sql-server-2005-and-sql-server-2000.aspx" target="_blank"&gt;blog post&lt;/a&gt; shows how to use the Agent PowerShell subsystem in SQL2K8 to create a job that runs a PowerShell script to evaluate policies against a group of servers. These servers can be SQL2K, SQL2K5 and SQL2K8 servers. &lt;/p&gt;  &lt;p&gt;PBM API: The PBM API is a public API and contains methods for evaluating policies. This is exactly what we use under the covers for our policy evaluation. You can create your own .Net application which calls this API. Similar to the PowerShell cmdlet you need to pass in a connection to the server to evaluate. This connection can be a SQL2K, SQL2K5, or SQL2K8 connection. The details for how to do this (the code you need to write) is beyond the scope of this posting but is a good topic for a future posting.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;Summary&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;When we designed PBM we accounted for the fact that not all customers immediately upgrade their environment - you have to deal with mixed environments. We wanted to be sure PBM would add value to these mixed environments but we also need to give you a reason to upgrade :-). Therefore, we enable you to run policies against SQL2K and SQL2K5 just not with the same fidelity as SQL2K8.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8690816" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Management+Studio/default.aspx">Management Studio</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+Agent/default.aspx">SQL Server Agent</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2000/default.aspx">SQL Server 2000</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category></item><item><title>ExecuteSql()</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/07/03/executesql.aspx</link><pubDate>Thu, 03 Jul 2008 19:06:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8684575</guid><dc:creator>sqlpbm</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8684575.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8684575</wfw:commentRss><description>&lt;p&gt;One of the key development tenets of Policy-Based Management was to raise the level of abstraction of management. The analogy I've used time and time again is Security Zones in Internet Explorer. Prior to Security Zones we had to scroll through pages and pages of configuration options. Security Zones greatly simplifies this task by providing ready made templates for the settings. However, every so often it's necessary to by pass the security zones and configure the properties directly or to configure a property that's not covered by the Security Zones. We recognized that in a v1 release we wouldn't be able to cover the entire system with facets (necessary to raise the level of management abstraction) so we created a so called backdoor. The backdoor allows the policy author to create a condition expressed in Transact-SQL. Effectively this means if you can write a query to check for the desired state you can wrap that query in a policy. For security purposes the policy can only be automated to check for compliance on a schedule. I'll double back to security in a moment. First let's look at the basics of the ExecuteSql() function.&lt;/p&gt;  &lt;p&gt;Here's the function signature:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000a0"&gt;Variant ExecuteSql(string returnType, string sqlQuery)&lt;/font&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Here are the arguments:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000a0"&gt;&lt;strong&gt;returnType&lt;/strong&gt; - Specifies the return type of data that is returned by SQL Server. The valid literals for returnType are Numeric, String, Bool, DateTime, Array, and GUID.&lt;/font&gt;&lt;/p&gt;   &lt;font color="#0000a0"&gt;&lt;strong&gt;sqlQuery&lt;/strong&gt; - String that represents the query to be run.       &lt;br /&gt;&lt;/font&gt;&lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#800000"&gt;Note: Be sure to wrap both the returnType and sqlQuery in single quotes. If the sqlQuery contains quotes you'll need to escape them by doubling up the single quotes.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The return value:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000a0"&gt;&lt;strong&gt;Return value&lt;/strong&gt; - The first column in the first row of the result set returned by the Transact-SQL query.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The ExecuteSql() function can be used against any facet and it'll be executed once for each target in the target set. For example, if it's used on the server facet it'll only execute once. If it's used against the database facet it'll run once for each database. When run against databases or objects within a database, the context for the execution is the current database.&lt;/p&gt;  &lt;p&gt;For added flexibility and power the context of schema bound objects is passed into the SQL statement using ADO.NET parameter substitution. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000a0"&gt;&lt;strong&gt;@@ObjectName&lt;/strong&gt; - corresponds to the name field in sys.objects. The variable will be replaced with the name of the current object.&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000a0"&gt;&lt;strong&gt;@@SchemaName&lt;/strong&gt; - corresponds to the name field in sys.schemas. The variable will be replaced with the schema for the current object if the current object belongs to a schema.&lt;/font&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Security&lt;/p&gt;  &lt;p&gt;The sqlQuery can contain any valid DDL or DML Transact-SQL statement. This includes SELECT, DELETE, UPDATE, TRUNCATE, CREATE, GRANT, etc. Because of this the initial implementation prevented policies using ExecuteSql() from being automated. They could only be manually run and they would run in the context of the current user. It is the responsibility of the user to ensure the policy isn't doing something malicious. In other words the user should treat the policy just like they'd treat any file containing Transact-SQL - don't blindly execute it! &lt;/p&gt;  &lt;p&gt;We subsequently relaxed this restriction. We recognized how powerful this capability is and the early user feedback indicated a strong desire to automate policies containing SQL. To allow this we had to address the security concerns. A user only needs to be a Policy Administrator in MSDB to author policies, a very low privileged role. Due to the security concerns we considered eliminating this role and forcing all policy administration to be performed by an SA. There are times I think we should have done this but instead we opted to keep the Policy Administrator role and instead run the Transact-SQL under a proxy account. The proxy account only comes into play when the policy is run on a schedule. When it's run on demand it executes under the current user's context.&lt;/p&gt;  &lt;p&gt;The proxy account is called ##MS_PolicyTsqlExecutionLogin##. You'll find this login under the &amp;quot;Logins&amp;quot; folder in Management Studio and master.sys.syslogins. By default the login has very limited permissions. You will likely need to extend the privileges of this user to accommodate the SQL you need to run under policy. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#800000"&gt;Note: Every permission you grant to ##MS_PolicyTsqlExecutionLogin## you are effectively granting that permission to all users in the Policy Administrator role.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Let's walk through an example. Someone recently came to me asking how to create a policy that checks that all tables have data compression enabled. They didn't care if it's row or page level compression, they simply want to check that compression is on. &lt;/p&gt;  &lt;p&gt;Compression is a property of a partition. Tables can have one or more partitions. This means for each table we need to make sure that all partitions are compressed. Unfortunately there is no facet over partitions. This was simply a scoping decision for SQL2K8. There is no technical reason we couldn't do it. But this means the only way to author this policy is to write Transact-SQL. It's always best to state the policy in plain English (or in your native language) &amp;quot;All tables must have all partitions compressed.&amp;quot; Since we're dealing with table I'll author the policy/condition on the Table facet. We could do this at the database level but I want to flag individual tables that have uncompressed partitions rather than flagging databases with tables with uncompressed partitions.&lt;/p&gt;  &lt;p&gt;I'll start by constructing the raw Transact-SQL that returns schema name, table name and partition count where the partition isn't compressed. In an ideal situation this query would not return any rows. This query can be run in your favorite query tool.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000a0"&gt;SELECT sch.name, tab.name, COUNT(*)        &lt;br /&gt;FROM sys.partitions part         &lt;br /&gt;&amp;#160; JOIN sys.tables tab         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ON (part.object_id = tab.object_id)         &lt;br /&gt;&amp;#160; JOIN sys.schemas sch         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ON (tab.schema_id = sch.schema_id)         &lt;br /&gt;WHERE part.data_compression = 0         &lt;br /&gt;GROUP BY sch.name, tab.name&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;There are a few modifications we'll need to make to the SQL before we wrap it in a condition. First we need to set it up to accept the context of a specific table. Remember, we'll run the SQL for each table. To do this we need to add to the WHERE clause and use our special parameters.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000a0"&gt;SELECT sch.name, tab.name, COUNT(*)        &lt;br /&gt;FROM sys.partitions part         &lt;br /&gt;&amp;#160; JOIN sys.tables tab         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ON (part.object_id = tab.object_id)         &lt;br /&gt;&amp;#160; JOIN sys.schemas sch         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ON (tab.schema_id = sch.schema_id)         &lt;br /&gt;WHERE sch.name = @@SchemaName         &lt;br /&gt;&amp;#160; AND tab.name = @@ObjectName         &lt;br /&gt;&amp;#160; AND part.data_compression = 0         &lt;br /&gt;GROUP BY sch.name, tab.name&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This gets us almost all the way there but remember, the return value is only the first value in the first row of the result set. This means we need to only return COUNT(*) and while we're at it we need to remove the GROUP BY.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000a0"&gt;SELECT COUNT(*)        &lt;br /&gt;FROM sys.partitions part         &lt;br /&gt;&amp;#160; JOIN sys.tables tab         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ON (part.object_id = tab.object_id)         &lt;br /&gt;&amp;#160; JOIN sys.schemas sch         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ON (tab.schema_id = sch.schema_id)         &lt;br /&gt;WHERE sch.name = @@SchemaName         &lt;br /&gt;&amp;#160; AND tab.name = @@ObjectName         &lt;br /&gt;&amp;#160; AND part.data_compression = 0&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Excellent, the final step is to construct the full function. The return value is numeric and we don't have any strings to escape so this is a pretty straight forward step.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000a0"&gt;ExecuteSql('Numeric', 'select COUNT(*)        &lt;br /&gt;FROM sys.partitions part         &lt;br /&gt;&amp;#160; JOIN sys.tables tab         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ON (part.object_id = tab.object_id)         &lt;br /&gt;&amp;#160; JOIN sys.schemas sch         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ON (tab.schema_id = sch.schema_id)         &lt;br /&gt;WHERE tab.name = @@ObjectName         &lt;br /&gt;&amp;#160; AND sch.name = @@SchemaName         &lt;br /&gt;&amp;#160; AND part.data_compression = 0')&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The SQL is constructed so that it returns 0 if all of the current table's partitions are compressed and some value greater than 0 if at least one partition is not compressed. Since conditions are constructed in the positive we'll compare the result to 0. In other words if it equals 0 the table is considered to pass the policy else it's considered to violate the policy.&lt;/p&gt;  &lt;p&gt;Here are screen shots of the condition I created and the advanced condition editor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/ExecuteSQL_12597/ConditionExecuteSQL.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="328" alt="ConditionExecuteSQL" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/ExecuteSQL_12597/ConditionExecuteSQL_thumb.png" width="456" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/ExecuteSQL_12597/AdvancedEditExecuteSQL.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="386" alt="AdvancedEditExecuteSQL" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/ExecuteSQL_12597/AdvancedEditExecuteSQL_thumb.png" width="458" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here's a screen shot of the evaluation results for the policy when run against one of my test databases which has two tables, one has all partitions compressed and one has none.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/ExecuteSQL_12597/EvaluateEvaluateSQL.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="334" alt="EvaluateEvaluateSQL" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/ExecuteSQL_12597/EvaluateEvaluateSQL_thumb.png" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;ExecuteSql() is a powerful function that allows you to create some very powerful policies. Given the security considerations you'll want to use it wisely and choose carefully who you allow to create policies.&lt;/p&gt;  &lt;p&gt;Have you created a cool policy using ExecuteSql()? If so you should post it up on &lt;a href="http://www.codeplex.com"&gt;http://www.codeplex.com&lt;/a&gt; and share it with others. Or you can reply to this posting with the details.&lt;/p&gt;  &lt;p&gt;_____________&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;About the Author:      &lt;br /&gt;Dan Jones is a PM on the SQL Server Manageability team at Microsoft.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8684575" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Conditon/default.aspx">Conditon</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category></item><item><title>APBMB</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/06/18/apbmb.aspx</link><pubDate>Thu, 19 Jun 2008 03:39:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8619505</guid><dc:creator>sqlpbm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8619505.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8619505</wfw:commentRss><description>&lt;p&gt;Another PBM Blog (APBMB)! Lara Rubbelke has been blogging a bunch about PBM. Check out her blog &lt;a href="http://sqlblog.com/blogs/lara_rubbelke/default.aspx" target="_blank"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8619505" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/General/default.aspx">General</category></item><item><title>PowerShell Script for Creating a Policy to a File</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/06/18/powershell-script-for-creating-a-policy-to-a-file.aspx</link><pubDate>Thu, 19 Jun 2008 03:39:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8619500</guid><dc:creator>sqlpbm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8619500.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8619500</wfw:commentRss><description>&lt;p&gt;Sethu Srinivasan, a developer on the PBM team, wrote a &lt;a href="http://blogs.msdn.com/sethus/archive/2008/06/16/sql-2008-powershell-script-for-creating-a-policy-and-saving-to-file.aspx" target="_blank"&gt;blog&lt;/a&gt; post for a sample PowerShell script that will create a new policy to check XPCMDSHELL and save it to an XML file.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8619500" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Sample/default.aspx">Sample</category></item><item><title>Running Against SQL Server 2005 and SQL Server 2000</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/06/14/running-against-sql-server-2005-and-sql-server-2000.aspx</link><pubDate>Sun, 15 Jun 2008 05:35:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8599049</guid><dc:creator>sqlpbm</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8599049.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8599049</wfw:commentRss><description>&lt;p&gt;@ TechEd SQL Server MVP Peter DeBetta and I presented a session where we created a PowerShell script for running a group of policies against a group of servers. The script was then automated using the PowerShell subsystem in SQL Server Agent. The result of each policy evaluation was loaded into a table for reporting purposes.&lt;/p&gt;  &lt;p&gt;Because PBM is built on top of SQL Server Management Objects (SMO) and SMO supports SQL Server 2000, SQL Server 2005, and SQL Server 2008, PBM will work against all of these versions.&lt;/p&gt;  &lt;p&gt;The script reads in a text file containing a list of the target servers (the servers each policy will be evaluated against). It connects to a primary server to grab the policies and then evaluates each policy in a particular category against each server.&lt;/p&gt;  &lt;p&gt;The script is intended to be a proof of concept and is not ready for a production environment. Some alterations that you would want to make include adding error handling and reading the servers from a Central Manageability Server or at the least a table in the primary server rather than from a file.&lt;/p&gt;  &lt;p&gt;Here's the script for creating the database and table to store the results of the policy evaluation:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;CREATE DATABASE [PolicyResults]        &lt;br /&gt;GO &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;USE [PolicyResults]        &lt;br /&gt;GO &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;CREATE TABLE [dbo].[PolicyHistory](        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [EvalServer] [nvarchar](50) NULL,         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [EvalDateTime] [datetime] NULL,         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [EvalPolicy] [nvarchar](max) NULL,         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [EvalResults] [xml] NULL         &lt;br /&gt;) ON [PRIMARY] &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;GO &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;ALTER TABLE [dbo].[PolicyHistory] ADD&amp;#160; CONSTRAINT [DF_PolicyHistory_EvalDateTime]&amp;#160; DEFAULT (getdate()) FOR [EvalDateTime]        &lt;br /&gt;GO&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You might want to add a column to store the policy result or you can use an XQuery to grab it out of the EvalResults column. I'll show you the query below.&lt;/p&gt;  &lt;p&gt;Here's the PowerShell script. I cleaned up the version of the script that was presented - reorganizing it a little to make it easier to follow what's going on.&lt;/p&gt;  &lt;blockquote&gt;&lt;font color="#0000ff"&gt;#Evaluate Policies in a Particular Category against a Server list      &lt;br /&gt;#Uses the Invoke-PolicyEvaluation &amp;amp; Invoke-SqlCmd Cmdlets       &lt;br /&gt;&lt;/font&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;function InsertPolicyHistory($ServerVariable, $DBVariable, $EvalServer, $EvalPolicy, $EvalResults)        &lt;br /&gt;{         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; #Escape single quotes so we can insert         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $EvalResultsEscaped = $EvalResults -replace &amp;quot;'&amp;quot;, &amp;quot;''&amp;quot;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $EvalPolicyEscaped = $EvalPolicy -replace &amp;quot;'&amp;quot;, &amp;quot;''&amp;quot;         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160; #Setup the insert statement        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $QueryText = &amp;quot;INSERT INTO PolicyHistory (EvalServer, EvalPolicy, EvalResults) VALUES(N'$EvalServer', '$EvalPolicyEscaped', N'$EvalResultsEscaped')&amp;quot;         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160; #Run the insert statement using the Invoke-SqlCmd Cmdlet        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Invoke-Sqlcmd -ServerInstance $ServerVariable -Database $DBVariable -Query $QueryText         &lt;br /&gt;}         &lt;br /&gt;        &lt;br /&gt;#CONSTANTS         &lt;br /&gt;#Declare the Server\Instance &amp;amp; database to post the policy results         &lt;br /&gt;$HistoryServer = &amp;quot;myServer\myInstance&amp;quot;         &lt;br /&gt;$HistoryDatabase = &amp;quot;PolicyResults&amp;quot;         &lt;br /&gt;#Declare the server\instance for the Policy store         &lt;br /&gt;$PolicySourceServer = $HistoryServer         &lt;br /&gt;#Setup the file containing the list of servers         &lt;br /&gt;$ServersFile = &amp;quot;c:\Servers.txt&amp;quot;         &lt;br /&gt;#Setup the location to dump the policy evaluation result output         &lt;br /&gt;$PolicyDir = &amp;quot;c:\PolicyEvaluation\&amp;quot;         &lt;br /&gt;#Setup the policy filter - only policies in this category will be processed         &lt;br /&gt;$PolicyCategoryFilter = &amp;quot;Custom Automation&amp;quot;         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;#Setup a connection to the policy store        &lt;br /&gt;$Conn = new-object Microsoft.SQlServer.Management.Sdk.Sfc.SqlStoreConnection(&amp;quot;server=$PolicySourceServer;Trusted_Connection=true&amp;quot;);         &lt;br /&gt;$PolStore = new-object Microsoft.SqlServer.Management.DMF.PolicyStore($Conn);         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;#Read the servers file into a variable        &lt;br /&gt;$Servers = Get-Content $ServersFile         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;#Clear out the directory where the evaluation results will go&amp;#160; &lt;br /&gt;del c:\PolicyEvaluation\*         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;foreach ($TargetServer in $Servers)        &lt;br /&gt;{         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; foreach ($Policy in $PolStore.Policies)         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if ($Policy.PolicyCategory -eq $PolicyCategoryFilter)         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #Clean-up any invalid file system characters         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $PolicyNameFriendly = (Encode-SqlName $Policy.Name)         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $TargetServerFriendly = (Encode-SqlName $TargetServer)         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #Setup the output file as Server_Policy.xml        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $OutputFile = $PolicyDir + (&amp;quot;{0}_{1}.xml&amp;quot; -f $TargetServerFriendly, $PolicyNameFriendly);&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #Evaluate the policy        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Invoke-PolicyEvaluation -Policy $policy -TargetServerName $TargetServer -OutputXML &amp;gt; $OutputFile;         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #Read in the policy evaluation results to load it into the result table        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $PolicyResult = Get-Content $OutputFile;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #Insert the results to our result table         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; InsertPolicyHistory $HistoryServer $HistoryDatabase $TargetServer $Policy.Name $PolicyResult;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;}         &lt;br /&gt;#Clean-up the evaluation result files         &lt;br /&gt;del c:\PolicyEvaluation\*&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After you run the script you can use SQLCMD or SSMS to query the result table. The query below will return all rows where the policy was violated. To get back all of the rows where the policy passed change &amp;quot;false&amp;quot; to &amp;quot;true&amp;quot;.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff"&gt;USE [PolicyResults]        &lt;br /&gt;GO         &lt;br /&gt;WITH XMLNAMESPACES ('&lt;/font&gt;&lt;a href="http://schemas.microsoft.com/sqlserver/DMF/2007/08'"&gt;&lt;font color="#0000ff"&gt;http://schemas.microsoft.com/sqlserver/DMF/2007/08'&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff"&gt; AS Pol)        &lt;br /&gt;SELECT *         &lt;br /&gt;FROM dbo.policyhistory         &lt;br /&gt;WHERE EvaluationResults.exist('//Pol:EvalDetail/Pol:Result/text()[. = &amp;quot;false&amp;quot;]') = 1&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In closing, if you automate the script using SQL Server Agent it will run under the context of the SQL Server Agent job. This can either be the Agent service account or you can use a proxy account. Which ever path you choose you'll need to make sure the account has access to the servers.txt file, the location where the results will be written to, the server containing the policies, the server where you want to write the results and each of the servers listed in servers.txt.&lt;/p&gt;  &lt;p&gt;_____________&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;About the Author:      &lt;br /&gt;Dan Jones is a PM on the SQL Server Manageability team at Microsoft.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8599049" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Sample/default.aspx">Sample</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+Agent/default.aspx">SQL Server Agent</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2000/default.aspx">SQL Server 2000</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category></item><item><title>Facets</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/05/24/facets.aspx</link><pubDate>Sat, 24 May 2008 21:23:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8548426</guid><dc:creator>sqlpbm</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8548426.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8548426</wfw:commentRss><description>&lt;p&gt;The American Heritage Dictionary of the English Language (Fourth Edition) defines facet as: &lt;em&gt;One of numerous aspects, as of a subject&lt;/em&gt;. The definition of Aspect (from the same dictionary) is: &lt;em&gt;Appearance to the eye, especially from a specific vantage point&lt;/em&gt;. The definition of Facet in SQL Server Books Online is: &lt;em&gt;A set of logical properties that model the behavior or characteristics for certain types of managed targets. The number and characteristics of the properties are built into the facet and can be added or removed by only the maker of the facet. A target type can implement one or more management facets, and a management facet can be implemented by one or more target types. Some properties of a facet can only apply to a specific version. For example, the Database Mail property of the Surface Area Configuration facet only applies to SQL Server 2005 and later versions&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Though Policy-Based Management relies heavily on facets, they're really concept that goes beyond PBM. When I was a kid I'd get these pictures that had hidden items. To find the items you had to use different pieces of colored translucent paper (like red or green). Just looking at the picture you couldn't see the &amp;quot;hidden&amp;quot; elements. But placing the red sheet over the picture revealed the hidden treasures. Facets are sort of the same way. &lt;/p&gt;  &lt;p&gt;Another analogy I've used to describe facets is Internet Explorer. Think back to the early days of IE and you wanted to change the way IE handled ActiveX controls. You'd navigate to &lt;em&gt;Tools&lt;/em&gt; -&amp;gt; &lt;em&gt;Options&lt;/em&gt;, go to the &lt;em&gt;Advance&lt;/em&gt; tab and scroll through a long list of settings. No one every really knew if their browser settings were secure or not. Think of the handling of ActiveX controls as a property of the browser with the values &lt;em&gt;Do not Allow, Prompt, Always Allow&lt;/em&gt;. Requiring a user to reason about this, and many other properties, is insane. My mom, for example, has no idea what this means or what the proper setting should be. In IE 5.5 the IE team introduced a security facet. They didn't call it that but that's what it is. They introduced the concept of a &lt;em&gt;Security Level&lt;/em&gt; with the values: &lt;em&gt;High, Medium-High, and Medium&lt;/em&gt;. Effectively this is a new &lt;em&gt;logical&lt;/em&gt; property in IE. I call it a logic property as it has no intrinsic meaning - it doesn't really control anything. Ah, but what it does do is incredibly powerful (yes, I'm contradicting myself). This logical property is really an aggregation of several &lt;em&gt;physical&lt;/em&gt; properties (e.g. ActiveX Controls) a proxy for a group of settings. By creating the logical property the administration of IE is greatly simplified. My mom can understand Medium-high security - more importantly I can walk her through the steps to properly configure IE. Facets in SQL Server are very similar concept.&lt;/p&gt;  &lt;p&gt;Take Database, for example. There are lots of physical properties for a database: Name, Collation, Compatibility Level, Auto Close, Encryption Enabled, Log File location, Data File Location, etc. In fact, a database has something like 60 properties. Wow, how does one reason about 60 properties? The facet allows us to do three powerful things: 1) create a single view of all of the physical properties for a database, 2) create specific views of database properties; for example, security, compliance, performance, etc and 3) create logical properties which are derived from one or more physical properties. There was a key point I just introduced: facets are over objects (target types) in the system and an object (target type) can have more than one facet. Databases, tables, views, logins, can have facets. in SQL Server 2008 we didn't cover every object (target type). For example, we didn't cover Replication, Agent, or DB Mail. But more on that later. So just think of a facet as a collection of related properties for a given object or similar set of objects.&lt;/p&gt;  &lt;p&gt;The implementation of a facet is .Net code - for us it's C#. In SQL Server 2008 users cannot create their own facets, although we designed the system with extensibility in mind. &lt;/p&gt;  &lt;p&gt;Let's take a closer look at how facets are exposed in the Management Studio. There are two ways to look at a facet: 1) the facet definition and 2) an object (target type) with respect to a particular facet.&lt;/p&gt;  &lt;p&gt;Facet Definition&lt;/p&gt;  &lt;p&gt;The facet definitions, meaning the description and properties that make up the facet, can be found in OE. See the picture below. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Facets_8A05/ObjectExplorerFacetView.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="ObjectExplorerFacetView" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Facets_8A05/ObjectExplorerFacetView_thumb.png" width="179" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Right-Clicking any facet and selecting &lt;strong&gt;Properties&lt;/strong&gt; displays the Facet Properties dialog. In this dialog you'll get a description of the facet, the target types it applies to and a list of all of the properties (with description) that make up the facet. The sample below is for the Database facet.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Facets_8A05/DatabaseFacetProperties.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="420" alt="DatabaseFacetProperties" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Facets_8A05/DatabaseFacetProperties_thumb.png" width="450" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This covers the first view of facets: the facet definition. Now let's look at viewing a particular target in the context of a facet. The screen shot below shows the context menu for a database. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Facets_8A05/DatabaseContextMenu.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="DatabaseContextMenu" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Facets_8A05/DatabaseContextMenu_thumb.png" width="177" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Look about halfway down the context menu and you'll see menu item called &lt;strong&gt;Facets&lt;/strong&gt;. Selecting this menu item launches the Facet dialog for database. The screen shot below shows the dialog for the AdventureWorks sample database. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Facets_8A05/DatabaseViewFacets.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="364" alt="DatabaseViewFacets" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/Facets_8A05/DatabaseViewFacets_thumb.png" width="404" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Facet combo box is expanded. This allows you to choose which facet you want to view for the selected object. Only the facets that apply to the selected object type are displayed. In this screen shot the &lt;em&gt;Database&lt;/em&gt; facet is selected. This shows you all of the properties on a database and the current value for each property for the selected database. &lt;/p&gt;  &lt;p&gt;Two other key things to point out: 1) You'll notice that some properties are bold while others are grayed out. The bolded properties are read/write and can be updated; the grayed out properties are read-only. This means, instead of going to the standard Database properties dialog you can come here and change a database property. 2) You'll notice the button in the bottom right labeled &lt;em&gt;Export Current State as Policy...&lt;/em&gt;&amp;quot;. Let's suppose you've configured the database exactly as you like it but you want a create a policy that monitors any changes from the original state. This option creates a policy and condition for the selected facet using for the current state. It's a very nice shortcut for creating policies, saving you a bunch of time typing in properties and values.&lt;/p&gt;  &lt;p&gt;The final thing a facet does is define the supported evaluation modes for policies. All facets for the Database Engine can be checked on schedule. &lt;em&gt;Check on Change: Prevent&lt;/em&gt; and &lt;em&gt;Check on Change: Log&lt;/em&gt; depend upon the eventing model of the Database Engine. Because the supported evaluation modes are on the facet all of the properties in the facet must support support the same set of events. This means for a facet to support &lt;em&gt;Check on Change: Prevent&lt;/em&gt; all of the properties in the facet must raise a DDL event.&lt;/p&gt;  &lt;p&gt;The three tables below are a great reference to print out and keep handy when using PBM.&lt;/p&gt;  &lt;p&gt;This table maps each facet to the supported evaluation mode(s):&lt;/p&gt; &lt;style type="text/css"&gt;

        .style1
        {
            height: 15.0pt;
            width: 141pt;
            font-size: 11.0pt;
            color: #ffffff;
            font-weight: 700;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: bottom;
            white-space: nowrap;
            border-left-style: none;
            border-left-color: inherit;
            border-left-width: medium;
            border-right: .5pt solid windowtext;
            border-top-style: none;
            border-top-color: inherit;
            border-top-width: medium;
            border-bottom: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #4f81bd;
        }
        .style2
        {
            width: 69pt;
            font-size: 11.0pt;
            color: #ffffff;
            font-weight: 700;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border-left: .5pt solid windowtext;
            border-right: .5pt solid windowtext;
            border-top-style: none;
            border-top-color: inherit;
            border-top-width: medium;
            border-bottom: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #4f81bd;
        }
        .style3
        {
            width: 51pt;
            font-size: 11.0pt;
            color: #ffffff;
            font-weight: 700;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border-left: .5pt solid windowtext;
            border-right: .5pt solid windowtext;
            border-top-style: none;
            border-top-color: inherit;
            border-top-width: medium;
            border-bottom: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #4f81bd;
        }
        .style4
        {
            width: 47pt;
            font-size: 11.0pt;
            color: #ffffff;
            font-weight: 700;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border-left: .5pt solid windowtext;
            border-right-style: none;
            border-right-color: inherit;
            border-right-width: medium;
            border-top-style: none;
            border-top-color: inherit;
            border-top-width: medium;
            border-bottom: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #4f81bd;
        }
        .style5
        {
            height: 15.0pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: bottom;
            white-space: nowrap;
            border-left-style: none;
            border-left-color: inherit;
            border-left-width: medium;
            border-right: .5pt solid windowtext;
            border-top: .5pt solid windowtext;
            border-bottom: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style6
        {
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style7
        {
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border-left: .5pt solid windowtext;
            border-right-style: none;
            border-right-color: inherit;
            border-right-width: medium;
            border-top: .5pt solid windowtext;
            border-bottom: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style8
        {
            height: 15.0pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: bottom;
            white-space: nowrap;
            border-left-style: none;
            border-left-color: inherit;
            border-left-width: medium;
            border-right: .5pt solid windowtext;
            border-top: .5pt solid windowtext;
            border-bottom: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style9
        {
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style10
        {
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border-left: .5pt solid windowtext;
            border-right-style: none;
            border-right-color: inherit;
            border-right-width: medium;
            border-top: .5pt solid windowtext;
            border-bottom: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style11
        {
            height: 15.0pt;
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: general;
            vertical-align: bottom;
            white-space: nowrap;
            border-left-style: none;
            border-left-color: inherit;
            border-left-width: medium;
            border-right: .5pt solid windowtext;
            border-top: .5pt solid windowtext;
            border-bottom-style: none;
            border-bottom-color: inherit;
            border-bottom-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style12
        {
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border-left: .5pt solid windowtext;
            border-right: .5pt solid windowtext;
            border-top: .5pt solid windowtext;
            border-bottom-style: none;
            border-bottom-color: inherit;
            border-bottom-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style13
        {
            font-size: 11.0pt;
            color: black;
            font-weight: 400;
            text-decoration: none;
            font-family: calibri, sans-serif;
            font-style: normal;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border-left: .5pt solid windowtext;
            border-right-style: none;
            border-right-color: inherit;
            border-right-width: medium;
            border-top: .5pt solid windowtext;
            border-bottom-style: none;
            border-bottom-color: inherit;
            border-bottom-width: medium;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
    &lt;/style&gt;  &lt;table style="width: 308pt; border-collapse: collapse" cellspacing="0" cellpadding="0" width="411" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 141pt; mso-width-source: userset; mso-width-alt: 6875" width="188" /&gt;&lt;col style="width: 69pt; mso-width-source: userset; mso-width-alt: 3364" width="92" /&gt;&lt;col style="width: 51pt; mso-width-source: userset; mso-width-alt: 2486" width="68" /&gt;&lt;col style="width: 47pt; mso-width-source: userset; mso-width-alt: 2304" width="63" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;     &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style1" style="mso-pattern: #4f81bd none; text-underline-style: none; text-line-through: none" align="left" width="188" height="20"&gt;Facet Name&lt;/td&gt;        &lt;td class="style2" style="mso-pattern: #4f81bd none; text-underline-style: none; text-line-through: none" width="92"&gt;CoC: Prevent&lt;/td&gt;        &lt;td class="style3" style="mso-pattern: #4f81bd none; text-underline-style: none; text-line-through: none" width="68"&gt;CoC: Log&lt;/td&gt;        &lt;td class="style4" style="mso-pattern: #4f81bd none; text-underline-style: none; text-line-through: none" width="63"&gt;CoS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Application Role&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Asymmetric Key&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Audit&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Backup Device&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Broker Priority&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Broker Service&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Certificate&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Credential&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Cryptographic Provider&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Data File&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Database&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Database Audit Specification&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Database Ddl Trigger&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Database Maintenance&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Database Option&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Database Performance&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Database Role&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Database Security&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Default&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Endpoint&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;File Group&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Full Text Catalog&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Full Text Index&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Full Text Stop List&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Index&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Linked Server&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Log File&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Login&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Login Options&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Message Type&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Multipart Name&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Name&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Partition Function&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Partition Scheme&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Plan Guide&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Remote Service Binding&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Resource Governor&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Resource Pool&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Rule&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Schema&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Audit&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Audit Specification&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Configuration&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Ddl Trigger&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Information&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Performance&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Security&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Settings&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Server Setup&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Service Contract&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Service Queue&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Service Route&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Statistic&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Stored Procedure&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Surface Area&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Surface Area for AS&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Surface Area for RS&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Symmetric Key&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Synonym&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Table&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Table Options&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Trigger&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;User&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;User Defined Aggregate&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;User Defined Data Type&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;User Defined Function&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;User Defined Table Type&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;User Defined Type&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;User Options&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;View&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style8" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;View Options&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style9" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style10" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Workload Group&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style6" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;        &lt;td class="style7" style="mso-pattern: #b8cce4 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style11" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none" align="left" height="20"&gt;Xml Schema Collection&lt;/td&gt;        &lt;td class="style12" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style12" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style13" style="mso-pattern: #dbe5f1 none; text-underline-style: none; text-line-through: none"&gt;X&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The tables below map the relationship between Facets and Target Types. The table on the left shows the facets for each target type. The table on the right shows the target types supported by each facets. &lt;/p&gt; &lt;style type="text/css"&gt;


        .style1-table2
        {
            height: 15.0pt;
            width: 161pt;
            color: white;
            font-size: 11.0pt;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #4f81bd;
        }
        
td
	{border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-top:1px;
	        padding-right:1px;
	        padding-left:1px;
	        color:black;
	        font-size:11.0pt;
	        font-weight:400;
	        font-style:normal;
	        text-decoration:none;
	        font-family:calibri, sans-serif;
	        text-align:general;
	        vertical-align:bottom;
	        white-space:nowrap;
	}
        .style2-table2
        {
            width: 167pt;
            color: white;
            font-size: 11.0pt;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #4f81bd;
        }
        .style3-table2
        {
            height: 15.0pt;
            color: black;
            font-size: 11.0pt;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: left;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style4-table2
        {
            color: black;
            font-size: 11.0pt;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: left;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style5-table2
        {
            height: 15.0pt;
            color: black;
            font-size: 11.0pt;
            font-weight: 400;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: left;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 9px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style6-table2
        {
            color: black;
            font-size: 11.0pt;
            font-weight: 400;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: left;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 9px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
    &lt;/style&gt;&lt;style type="text/css"&gt;



td
	{border-style: none;
            border-color: inherit;
            border-width: medium;
            padding-top:1px;
	        padding-right:1px;
	        padding-left:1px;
	        color:black;
	        font-size:11.0pt;
	        font-weight:400;
	        font-style:normal;
	        text-decoration:none;
	        font-family:calibri, sans-serif;
	        text-align:general;
	        vertical-align:bottom;
	        white-space:nowrap;
	}
        .style1-table2
        {
            height: 15.0pt;
            width: 161pt;
            color: white;
            font-size: 11.0pt;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #4f81bd;
        }
        .style2-table2
        {
            width: 167pt;
            color: white;
            font-size: 11.0pt;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: center;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #4f81bd;
        }
        .style3-table2
        {
            height: 15.0pt;
            color: black;
            font-size: 11.0pt;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: left;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style4-table2
        {
            color: black;
            font-size: 11.0pt;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: left;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 1px;
            padding-right: 1px;
            padding-top: 1px;
            background: #b8cce4;
        }
        .style5-table2
        {
            height: 15.0pt;
            color: black;
            font-size: 11.0pt;
            font-weight: 400;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: left;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 9px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
        .style6-table2
        {
            color: black;
            font-size: 11.0pt;
            font-weight: 400;
            font-style: normal;
            text-decoration: none;
            font-family: calibri, sans-serif;
            text-align: left;
            vertical-align: bottom;
            white-space: nowrap;
            border: .5pt solid windowtext;
            padding-left: 9px;
            padding-right: 1px;
            padding-top: 1px;
            background: #dbe5f1;
        }
    &lt;/style&gt;  &lt;table style="width: 354pt; border-collapse: collapse" cellspacing="0" cellpadding="0" width="473" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 161pt; mso-width-source: userset; mso-width-alt: 7862" width="215" /&gt;&lt;col style="width: 26pt; mso-width-source: userset; mso-width-alt: 1280" width="35" /&gt;&lt;col style="width: 167pt; mso-width-source: userset; mso-width-alt: 8155" width="223" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;     &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style1-table2" width="215" height="20"&gt;Facets by Target Type&lt;/td&gt;        &lt;td style="width: 26pt" width="35"&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style2-table2" width="223"&gt;Target Types by Facet&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;ANALYSIS SERVICES&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Application Role&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Surface Area for AS&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;APPLICATION ROLE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;APPLICATION ROLE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Asymmetric Key&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Application Role&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;ASYMMETRIC KEY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Audit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;ASYMMETRIC KEY&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;AUDIT&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Asymmetric Key&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Backup Device&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;BACKUP DEVICE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;ASYMMETRIC KEY USER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Broker Priority&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;BROKER PRIORITY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;AUDIT&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Broker Service&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Audit&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;BROKER SERVICE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;BACKUP DEVICE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Certificate&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Backup Device&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;CERTIFICATE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;BROKER PRIORITY&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Credential&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Broker Priority&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;CREDENTIAL&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;BROKER SERVICE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Cryptographic Provider&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Broker Service&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;CRYPTOGRAPHIC PROVIDER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;CERTIFICATE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Data File&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Certificate&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATA FILE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Database&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;CERTIFICATE USER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATABASE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Database Audit Specification&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;CREDENTIAL&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATABASE AUDIT SPECIFICATION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Credential&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Database Ddl Trigger&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;CRYPTOGRAPHIC PROVIDER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATABASE DDL TRIGGER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Cryptographic Provider&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Database Maintenance&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;DATA FILE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATABASE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Data File&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Database Options&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;DATABASE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATABASE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Database&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Database Performance&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Database Maintenance&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATABASE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Database Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Database Role&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Database Performance&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;ROLE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Database Security&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Database Security&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;DATABASE AUDIT SPECIFICATION&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATABASE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Database Audit Specification&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Default&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;DATABASE DDL TRIGGER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DEFAULT&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Database Ddl Trigger&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Endpoint&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;DATABASE ROLE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;ENDPOINT&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;File Group&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;DEFAULT&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;FILE GROUP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Default&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Full Text Catalog&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;FULL TEXT CATALOG&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;ENDPOINT&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Full Text Index&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Endpoint&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;FULL TEXT INDEX&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;FILE GROUP&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Full Text Stop List&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;File Group&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;FULL TEXT STOP LIST&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;FULL TEXT CATALOG&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Index&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Full Text Catalog&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;INDEX&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;FULL TEXT INDEX&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Linked Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Full Text Index&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;LINKED SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;FULL TEXT STOP LIST&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Log File&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Full Text Stop List&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;LOG FILE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;FUNCTION&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Login&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Multipart Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;LOGIN&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Defined Function&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Login Options&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;GROUP USER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;LOGIN&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Message Type&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;INDEX&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;MESSAGE TYPE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Index&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Multipart Name&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;FUNCTION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;LINKED SERVER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;PROCEDURE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Linked Server&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SYNONYM&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;LOG FILE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;TABLE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Log File&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;TYPE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;LOGIN&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;VIEW&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Login&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;XML SCHEMA COLLECTION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Login Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Name&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;MESSAGE TYPE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;APPLICATION ROLE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Message Type&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;ASYMMETRIC KEY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;PARTITION FUNCTION&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;CERTIFICATE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Partition Function&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DATABASE ROLE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;PARTITION SCHEME&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;DEFAULT&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Partition Scheme&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;INDEX&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;PLAN GUIDE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;RULE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Plan Guide&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SCHEMA&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;PROCEDURE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SQL ASSEMBLY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Multipart Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;STORED PROCEDURE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Stored Procedure&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SYMMETRIC KEY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;REMOTE SERVICE BINDING&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SYNONYM&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Remote Service Binding&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;TABLE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;REPORTING SERVICES&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;TRIGGER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Surface Area for RS&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;USER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;RESOURCE GOVENOR&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;USER DEFINED FUNCTION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Resource Governor&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;USER DEFINED TYPE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;RESOURCE POOL&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;VIEW&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Resource Pool&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;XML SCHEMA COLLECTION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;ROLE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Partition Function&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Database Role&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;PARTITION FUNCTION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;RULE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Partition Scheme&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;PARTITION SCHEME&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Rule&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Plan Guide&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SCHEMA&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;PLAN GUIDE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Remote Service Binding&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Schema&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;REMOTE SERVICE BINDING&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SERVER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Resource Governor&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;RESOURCE GOVENOR&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Configuration&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Resource Pool&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Information&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;RESOURCE POOL&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Performance&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Rule&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Security&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;RULE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Settings&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Schema&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Setup&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SCHEMA&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Surface Area&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SERVER AUDIT&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Audit&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Audit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SERVER AUDIT SPECIFICATION&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER AUDIT&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Audit Specification&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Audit Specification&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SERVER DLL TRIGGER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER AUDIT SPECIFICATION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Server Ddl Trigger&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Configuration&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SERVICE CONTRACT&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Service Contract&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Ddl Trigger&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SERVICE QUEUE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER DLL TRIGGER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Service Queue&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Information&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SERVICE ROUTE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Service Route&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Performance&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SQL ASSEMBLY&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Security&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SQL USER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Settings&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;STATISTIC&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Statistic&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Server Setup&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;STORED PROCEDURE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Service Contract&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SYMMETRIC KEY&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVICE CONTRACT&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Service Queue&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Symmetric Key&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVICE QUEUE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;SYNONYM&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Service Route&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Multipart Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVICE ROUTE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Statistic&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Synonym&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;STATISTIC&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;TABLE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Stored Procedure&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Multipart Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;PROCEDURE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Surface Area&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Table&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SERVER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Table Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Surface Area for AS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;TRIGGER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;ANALYSIS SERVICES&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Surface Area for RS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Trigger&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;REPORTING SERVICES&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;TYPE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Symmetric Key&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Multipart Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SYMMETRIC KEY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;USER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Synonym&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SYNONYM&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Table&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;USER DEFINED AGGREGATE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;TABLE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Defined Aggregate&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Table Options&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;USER DEFINED DATA TYPE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;TABLE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Defined Data Type&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Trigger&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;USER DEFINED FUNCTION&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;TRIGGER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;User&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;USER DEFINED TABLE TYPE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;USER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Defined Table Type&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;User Defined Aggregate&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;USER DEFINED TYPE&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;USER DEFINED AGGREGATE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;User Defined Data Type&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Defined Type&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;USER DEFINED DATA TYPE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;VIEW&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;User Defined Function&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Multipart Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;FUNCTION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;User Defined Table Type&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;View&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;USER DEFINED TABLE TYPE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;View Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;User Defined Type&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;WINDOWS USER&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;USER DEFINED TYPE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;User Options&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;User Options&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;WORKLOAD GROUP&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;ASYMMETRIC KEY USER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Workload Group&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;CERTIFICATE USER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style3-table2" height="20"&gt;XML SCHEMA COLLECTION&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;GROUP USER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Multipart Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;SQL USER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Name&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;WINDOWS USER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td class="style5-table2" height="20"&gt;Xml Schema Collection&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;View&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td style="height: 15pt" height="20"&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;VIEW&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td style="height: 15pt" height="20"&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;View Options&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td style="height: 15pt" height="20"&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;VIEW&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td style="height: 15pt" height="20"&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Workload Group&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td style="height: 15pt" height="20"&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;WORKLOAD GROUP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td style="height: 15pt" height="20"&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style4-table2"&gt;Xml Schema Collection&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt" height="20"&gt;       &lt;td style="height: 15pt" height="20"&gt;&amp;#160;&lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;        &lt;td class="style6-table2"&gt;XML SCHEMA COLLECTION&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;_____________&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;About the Author:      &lt;br /&gt;Dan Jones is a PM on the SQL Server Manageability team at Microsoft.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8548426" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Facets/default.aspx">Facets</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/General/default.aspx">General</category></item><item><title>Creating A Policy With the GUI</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/04/26/creating-a-policy-with-the-gui.aspx</link><pubDate>Sun, 27 Apr 2008 04:44:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8429813</guid><dc:creator>sqlpbm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8429813.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8429813</wfw:commentRss><description>&lt;p&gt;In the &lt;a href="http://blogs.msdn.com/sqlpbm/archive/2008/04/20/policy-based-management-overview.aspx" target="_blank"&gt;previous posting&lt;/a&gt; we introduced the main PBM concepts through the use of a sample policy: All stored procedures in the database must start with &amp;quot;usp_&amp;quot;. In this posting we will walk through the creation of that policy using the PBM GUI accessible from SQL Server Management Studio (SSMS).&lt;/p&gt;  &lt;p&gt;The first step in creating the policy is to create a condition. To do this we use Object Explorer to navigate to the Policy Management node.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/OE_PolicyMgmt_Node_01.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="226" alt="OE_PolicyMgmt_Node_01" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/OE_PolicyMgmt_Node_01_thumb.png" width="222" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Right-clicking on the &lt;em&gt;Conditions&lt;/em&gt; folder we select &lt;em&gt;New Condition...&lt;/em&gt; which launches the New Condition dialog. &lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/Condition_01.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="320" alt="Condition_01" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/Condition_01_thumb.png" width="439" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First we give our Condition a name. Conditions can be reused by multiple policies so we want to give it a meaningful name. Since conditions define the desired state of the system we'll give it a name in the positive. Something like &lt;em&gt;SP Name Prefix usp_&lt;/em&gt; should do. Next we have to pick which facet we want to build our expression over. Remember, facets define two things for us: target types and properties. We have a choice of three facets: Stored Procedure, Multi-Part Name, and Name. For this example we'll pick the Multi-Part Name facet.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/Condition_02_1.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="321" alt="Condition_02" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/Condition_02_thumb_1.png" width="441" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now that we have our condition created we right-click on the Policies node in OE and select &lt;em&gt;New Policy... &lt;/em&gt;We give our policy a name and select the condition we created above. We also could have started from the New Policy dialog and launched into the New Condition dialog.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_01.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="324" alt="NewPolicy_01" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_01_thumb.png" width="444" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;We want to ensure no stored procedures are created on the system which violate the policy, therefore, we choose the &lt;em&gt;On change: prevent&lt;/em&gt; evaluation mode. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_02.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="326" alt="NewPolicy_02" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_02_thumb.png" width="445" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Next we need to choose which targets the policies applies to. Because we built our condition on the multi-part name facet we see all of the targets which support that facet. We select &lt;em&gt;Stored Procedure&lt;/em&gt; since that's the only one we care about for this example.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_04.png"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_03.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="325" alt="NewPolicy_03" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_03_thumb.png" width="446" border="0" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;em&gt;Description&lt;/em&gt; tab we can enter a description for the policy and a link (http, https, and mailto) for where to go for additional help. &lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_04.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="328" alt="NewPolicy_04" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/NewPolicy_04_thumb.png" width="445" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;After we enter this information click &lt;em&gt;OK&lt;/em&gt; to save the policy. The policy and condition show up in Object Explorer.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/OE_PolicyMgmt_Node_02.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="82" alt="OE_PolicyMgmt_Node_02" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/OE_PolicyMgmt_Node_02_thumb.png" width="240" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now we can attempt to create a stored procedure which violates our policy. In this example we create a nonsensical SP but the important point is the name, &lt;em&gt;MyProcedure&lt;/em&gt;. Since our policy states names must start with 'usp_' our procedure should not be created.&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/PolicyViolation_1.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="231" alt="PolicyViolation" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/CreatingAPolicyWiththeGUI_7122/PolicyViolation_thumb_1.png" width="676" border="0" /&gt;&lt;/a&gt; And that's exactly what happens. Let's take a closer look at the information we get back. First, the message tells us which policy we violated along with which object violated the policy. We also see the condition, policy description, and the link for additional help. All of this is useful information if the person is not familiar with the policy. The statement which violated the policy is included in the output. If this was a long SQL script this can help us trouble shoot the offending code.&lt;/p&gt;  &lt;p&gt;This simple example showed you everything you need to get started using Policy-Based Management. Though our condition was straightforward they can get quite complex. In future postings we'll explore building more complex conditions in addition to some of the other advanced capabilities of Policy-Based Management.&lt;/p&gt;  &lt;p&gt;_____________&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;About the Author:      &lt;br /&gt;Dan Jones is a PM on the SQL Server Manageability team at Microsoft.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8429813" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Conditon/default.aspx">Conditon</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Management+Studio/default.aspx">Management Studio</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Sample/default.aspx">Sample</category></item><item><title>Policy-Based Management Overview</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/04/20/policy-based-management-overview.aspx</link><pubDate>Sun, 20 Apr 2008 19:56:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8412136</guid><dc:creator>sqlpbm</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8412136.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8412136</wfw:commentRss><description>&lt;p&gt;This posting provides an overview of Policy-Based Management (PBM). You can read more about PBM in SQL Server 2008 &lt;a href="http://msdn2.microsoft.com/en-us/library/bb510667(SQL.100).aspx" target="_blank"&gt;Books On-line&lt;/a&gt;. Many of the ad hoc problems DBAs experience are caused by unwanted configuration changes or configuration changes that don't comply with the &amp;quot;standard&amp;quot;. Some shops have implemented custom consistency checks. On a routine schedule these consistency checks run against the production environment comparing specific configuration properties against the desired state. This information, however, is locked away in custom scripts which makes it more difficult to maintain and reuse.&lt;/p&gt;  &lt;p&gt;PBM allows the DBA to declare the desired state of the system and check the system for compliance with that state. Think how group policy controls Windows system settings like password strength and expiration. PBM provides similar capabilities to the DBA.&lt;/p&gt;  &lt;p&gt;Let's walk through an example: suppose the DBA needs to enforce a naming standard on stored procedures. In simple English the DBA states their intent as follows: All stored procedures in the database must start with &amp;quot;usp_&amp;quot; - (&amp;quot;usp&amp;quot; stands for &lt;em&gt;user stored procedure&lt;/em&gt;). The picture below maps this policy to the main PBM concepts. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/PolicyBasedManagementOverview_801F/PBM_HighLevel_Concept_Map_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="179" alt="PBM_HighLevel_Concept_Map" src="http://blogs.msdn.com/blogfiles/sqlpbm/WindowsLiveWriter/PolicyBasedManagementOverview_801F/PBM_HighLevel_Concept_Map_thumb.png" width="355" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Starting from the bottom and working our way up the stack:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Target Type&lt;/strong&gt;: These are entities to be managed by PBM. The list of entities should be familiar to a DBA. They include: database, table, view, login, user, stored procedure, etc. In our example the target type we're interested in is Stored Procedure.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Management Facet&lt;/strong&gt;: A set of logical properties that model the behavior or characteristics for certain types of target types. Our policy will be written over the Multi-Part Name facet which contains two properties: Name and Schema. This facet models all schema-bound target types (tables, views, etc). In our example we only care about stored procedures.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Condition&lt;/strong&gt;: A Boolean expression that specifies a set of allowed states of a target type with regard to a management facet. Said another way, the condition is stated as the desired state of the target type. We want the name of our stored procedures to start with usp_ - since underscore is a wildcard we need to escape it with brackets. The percent at the end wildcards the rest of the name which we don't care about. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Policy&lt;/strong&gt;: A policy includes the condition and the expected behavior, for example, evaluation mode. We already built our condition, our expected behavior is only stored procedures that meet our condition can be created in the database. This translates to an evaluation mode of &amp;quot;Check on Change - Prevent&amp;quot;; meaning whenever a stored procedure is created or altered the transaction will be checked for compliance with the policy. If the transaction does not comply with the policy it will be blocked from completing. There are other supported evaluation modes which we'll explore in a future posting.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In this example we've introduced the key concepts in PBM: Target Types, Facets, Conditions, and Policies. In a future posting we'll look at the actual GUI in Management Studio for creating policies. We'll also explore advanced topics such as target filters and categories.&lt;/p&gt;  &lt;p&gt;_____________&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;About the Author:     &lt;br /&gt;Dan Jones is a PM on the SQL Server Manageability team at Microsoft.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8412136" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Facets/default.aspx">Facets</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Conditon/default.aspx">Conditon</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/General/default.aspx">General</category></item><item><title>The DBA Morning Checklist</title><link>http://blogs.msdn.com/sqlpbm/archive/2008/04/14/the-dba-morning-checklist.aspx</link><pubDate>Tue, 15 Apr 2008 03:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8395612</guid><dc:creator>sqlpbm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlpbm/comments/8395612.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlpbm/commentrss.aspx?PostID=8395612</wfw:commentRss><description>&lt;P&gt;Bill Richards recently wrote a nice article for SQL Server Central. You can read the original article &lt;A href="http://www.sqlservercentral.com/articles/Database+Administration/62480/" target=_blank mce_href="http://www.sqlservercentral.com/articles/Database+Administration/62480/"&gt;here&lt;/A&gt;.&amp;nbsp; The article covered a checklist DBAs should follow each morning. Buck Woody in his weekly podcast, Real World DBA Episode 5 - The DBA Checklist, covered the same &lt;A href="http://blogs.msdn.com/buckwoody/archive/2008/03/28/real-world-dba-episode-5-the-dba-checklist.aspx" target=_blank mce_href="http://blogs.msdn.com/buckwoody/archive/2008/03/28/real-world-dba-episode-5-the-dba-checklist.aspx"&gt;topic&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Routinely checking that your systems are in compliance with your guidelines/policies is a critical component of every DBA's job. Often times these simple checks are enough to prevent a bad situation from turning even worse. &lt;/P&gt;
&lt;P&gt;Manual checklists, though, are error prone. What happens when you're late getting into the office, or have an early morning meeting, or your on vacation? Any situation that alters your morning ritual increases the likelihood the checklist is missed for that day. &lt;/P&gt;
&lt;P&gt;This is where Policy-Based Management can help. Most of the checks listed in these articles can be turned into an automated policy check. If the system is out of compliance with one or more policies it will write to the event log. If your shop is using a system management tools (MS System Center, IBM Tivoli, HP Openview, etc) you can monitor the logs for specific messages. &lt;/P&gt;
&lt;P&gt;If your shop doesn't use a monitoring tool PBM can be configured to send email (using DB Mail and Agent Alerts) when it detects an out of compliance situation. I recommend setting up each policy in the daily checklist to run nightly. The out of compliance emails should go to a DBA distribution list rather than an individual. This way there are multiple eyes looking at violations - redundancy should be a golden rule. &lt;/P&gt;
&lt;P&gt;Depending on the size of your environment the manual check list could take you 15-30 minutes each morning. At 15 minutes a day, you're spending 65 hours a year, assuming you check only on week days. That's a week and a half a year spent verifying everything is what it should be. I don't mean to imply this isn't time well spent. If it avoids a disastrous situation it's worth more than that. But I know I'd love to get back a week and a half a year.&lt;/P&gt;
&lt;P&gt;With PBM you'll get this time back which you can spend on other valuable DBA activities. This sounds like the start of a compelling reason to upgrade to SQL Server 2008. Okay, that last bit sounded too much like marketing speak. Sorry!&lt;/P&gt;
&lt;P&gt;In a future posting we'll turn a few of these checklist items into policies.&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8395612" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/Policy/default.aspx">Policy</category><category domain="http://blogs.msdn.com/sqlpbm/archive/tags/General/default.aspx">General</category></item></channel></rss>