SQL SERVER – 2008 – Introduction to Policy Management – Enforcing Rules on SQL Server

I have previous written article about SQL SERVER Database Coding Standards and Guidelines Complete List Download. I just received question from one of the blog reader is there any way we can just prevent violation of company policy. Well Policy Management can come into handy in this scenario.

If our company policy is to create all the Stored Procedure with prefix ‘usp’ that developers should be just prevented to create Stored Procedure with any other prefix. Let us see small tutorial how to create conditions and policy which will prevent any future SP to be created with any other prefix.

Let us first create condition which defines that name of the database object should start with ‘usp’.

Now create policy for all the Stored Procedure of the database and assign previously created condition of naming convention to all the Stored Procedure of the database.

Make sure that Policy is enabled.

Now try to create Stored Procedure with incorrect name. It will not let you create it but will create error.

If you try to create Stored Procedure prefixed with ‘usp’ it will create it successfully.

Policy Management is very detailed subject and I will write more tutorial about this subject in future.

Reference : Pinal Dave (http://blog.SQLAuthority.com)

About these ads

17 thoughts on “SQL SERVER – 2008 – Introduction to Policy Management – Enforcing Rules on SQL Server

  1. How detailed can the policy management features of SQL Sever 2008 get? I have often run into an issue where the development staff created either a Constrain or Default in the table DDL but didn’t provide a name for it. Down the road when the decide a change is needed and they try to drop the contrain/default/PK they run into a snag since the Object has the random name given to it by MS. Can the new Policy Management allow me to disable this feature or at least modify it accordingly that the development staff will have to name each PK/Default/Constraint?

    -Joseph

  2. Pingback: SQL SERVER - 2008 - Interview Questions and Answers - Part 6 Journey to SQL Authority with Pinal Dave

  3. I have concern here…
    When you click on Database Diagram folder it won’t allow you to create the system SPs required for diagram just because it violates the Policy.

    Question…
    What could be the solution to skip system objects?

    Thanks,
    Abhijit

  4. i have a doubt .. using policy management we can restrict the users to follow a particular naming conventions for procedures , and thats fine .. but we cant do the same thing for table names , foreign key constraints names etc(i tried to set up this one but i got only two evaluation modes (on schedule and on demand) i didnt get on change : prevent ) is there a way to implement this in policy management ..

  5. Pingback: SQL SERVER – Interview Questions and Answers – Frequently Asked Questions – Day 15 of 31 Journey to SQLAuthority

  6. Pingback: SQL SERVER – Different Aspect of Policy Based Management – Quiz – Puzzle – 25 of 31 « SQL Server Journey with SQL Authority

  7. Can u plz suggest how to enforce naming convention for Tables in all databases, i tried it the way you have given above .
    while making condition i have take Table as facet but while making a policy i m not geting the On Change prevent option .
    please reply

  8. @bhaveshdesai007 Need to use the Multipart Name for the Facet. Then use the Field @Name and Operator LIKE and enter the value in quotes. From there when you create the Policy you can select what type of objects should follow the condition.

  9. Hi Penal,

    I tried but it did not work out as you mentioned in blog in SQL SERVER 2008 R2. When i evaluate the policy manually; then it says; you violate the Policy.

    Is it something need to configure more in Policy or any Server Level?

    Please reply if you have any answer.

    Regards,
    Purvesh Prajapati

    • Dear Purvesh,

      when you create policy, Pls follow the following steps it will work….
      1. give the name of policy.
      2. Select condition in Check contions.
      3. select check every storeprocedure check box only for store proc only.
      4. Evaluation mode must be “On change: prevent”.
      5. when you select this you will see second option enables check box must be checked.

      that is all and it will check all store proc as per your condition. you have used in first step of this blog…

      regards,

      Shiv Kumar Singh

  10. Pingback: SQL SERVER – Weekly Series – Memory Lane – #033 | Journey to SQL Authority with Pinal Dave

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s