Showing posts with label bpa. Show all posts
Showing posts with label bpa. Show all posts

Sunday, February 12, 2012

BPA vs. Security Best Practices paper

I would like to refer to the following technical article

SQL Server 2005 Security Best Practices - Operational and Administrative Tasks

http://www.microsoft.com/technet/prodtechnol/sql/2005/sql2005secbestpract.mspx

Among best practices for SQL Server service accounts on page 8, it is recommended to 'use a separate account for each service'. I created separate account for each service as advised and assign account to relevant Windows group created for each SQL Server service during SQL setup.

Now when I run Best Practices Analyzer, its report seemed to contradict what the above article said. For example, BPA reports excerpts:

"We recommend that the service SQLBrowser on host MachineName be run under Network Service Account". I get similar recommendation for SQLSERVERAGENT account as well. Most importantly, it recommends that MSFTESQL be run under SQL Server Service Account.

Can anyone of you shed some light on it?

Thanks,

Asaf

BPA is actually accurate with respect to SQL Browser. The sole purpose of this service is to resolve named instances. So, the first thing that you do on a machine that does not have a named instance is to disable the service. If you have named instances, then simply setting it to Network Service is sufficient, because it does not need to access any resources external of the machine that it is running on.

I run SQL Server Agent as a named Windows account and could really care less what BPA has to say about it. The reason that I run it under a named Windows account is that every system I've worked on has jobs that need access to a variety of resources. Many of these drop backups on machines other than where the instance is running or grab and move files from other systems. You can't perform any of those operations running under Network Service.

As for MSFTESQL, if you are not using full text indexing, disable this service. If you are using full text indexing, I use a separate account for the service so that I can isolate it and separately manage it from everything else.

The "separate account for each service" is a really great concept, but you have to determine what is best for you. If you have a single SQL Server instance, having a separate service account isn't that big of a deal from a management perspective. What happens when you are suddenly managing 10 instances, which really isn't that hard. Are you really going to create 40 different accounts - one each for Browser, SQL Server, SQL Server Agent, and Full Text for each instance? (Even more if you are using SSIS, SSRS, SSAS, etc.) Are you even going to be able to remember the different passwords for each? This separate account thing can be taken to idiotic proportions. I worked with one large organization whose security group dictated that each service on each machine was required to have a different account, which also meant a different strong password that was a minimum of 12 characters with upper, lower, numbers, and special characters. One of the sysadmins carries a large notebook with him when he leaves the office and it sits on his desk the rest of the time that contains over 40,000 logins/passwords just for the systems he is responsible for. One of the senior DBAs walks around with almost 15,000 logins/passwords on a PDA with a paper backup in his desk for the database servers he is responsible for. When you have to start writing down the logins and passwords in order to accomplish "separate account for each service", you have obviously taken things too far and defeated the purpose of doing this in the first place.

|||

Hi Michael,

I appreciate your comments and sharing your experience how complicated it could get if we decided to create separate account for each SQL Server machine. I manage 10 servers, all in DMZ, and I have been trying to decide on security policies.

Thanks Again,

Asaf

|||

For each server positioned in a 'DMZ', I recommend keeping individual service login accounts.

If any one server is ever compromised, you do not want to make it so easy for the others the be compromised.

Inside the DMZ, (double firewall), I agree with Michael's comments in respect to using a single highly guarded domain account (with exceptionally strong password) for SQL Servers, and I probably would not allow that domain account to have 'interactive login' priviledges..

|||

The interactive login privileges is a REALLY important one. Prior to SQL Server 2005, you didn't have a choice, since the service accounts used were local admins on the machines. But, service accounts for 2005 should NEVER have admin level authority, nor should they be able to login to the console. This brings up a really good example at another customer who has decided that under no circumstances will DBAs have access to the machines running their SQL Servers. There is an entirely different set of logins which are granted access to machines and only created for system admins. So, each system admin has two accounts, the one they login to their machine with and the one they login to servers with. What they forgot is that the DBAs are the ones who setup the SQL Servers and so they are given the service account and password. Since this is a SQL Server 2000 environment, they make those service accounts administrators on the machines. Then, since they are not allowed any access whatsoever to the machines their SQL Servers are running on, they bypass everything by using the service account to login to RDP so that they can actually do the things necessary to manage their SQL Servers. So, now it is impossible to actually audit any actions which occur. There are many examples of sheer stupidity in security policies.

Security systems exist for 2 reasons:

1. Keep the people out who shouldn't be there in the first place

2. Providing audit trails for those people authorized to perform actions

If you ever have a security policy that either impedes or prevents someone from taking legitimate actions which are required for their job, you need to throw the policy away and start over. Because, leaving such a policy in place will either damage your business, force the people who have to manage the systems to decide they should go somewhere that they are allowed to do their job, or will have the admins themselves concoting ways to bypass security leading to gaping holes that can also be exploited by hackers.

|||

Arnie,

Thanks for making an interesting point for having a separate account for each DMZ server. So after all extra bit of work required to set up individual accounts for each machine seem to provide an extra layer of protection.

Michael,

I do very much appreciate another valuable post from you. It reflects your deep understanding of security and years of experience in the industry.

Asaf

BPA save Best Practice

I have created a BPA best practice, I now want to save it to begin scanning. The BPA User Guide says to 'Click the Save Best Practice' link to save the created Best Practice. On the BPA Create Best Practice window I don't see any Save Best Practice link
. What am I missing?
Thanks,
Terry
What screen resolution are you using ? If it's less than 1024X768 you might
have trouble seeing it, it's right off the bottom of the screen. You should
be able to get to it by pressing Tab when on the rules section or increasing
your screen resolution
HTH
Jasper Smith (SQL Server MVP)
I support PASS - the definitive, global
community for SQL Server professionals -
http://www.sqlpass.org
"Terry Serena" <tserena@.duqlight.com.NO_SPAM> wrote in message
news:3616EF03-AFA2-4DE6-9BDB-69541EAABB29@.microsoft.com...
> I have created a BPA best practice, I now want to save it to begin
scanning. The BPA User Guide says to 'Click the Save Best Practice' link to
save the created Best Practice. On the BPA Create Best Practice window I
don't see any Save Best Practice link. What am I missing?
> Thanks,
> Terry
|||Jasper,
Thanks, changing my resolution solved my problem.
Terry

BPA Questions

Does BPA only read the database being scaned?
How do I print the report?
I only have a copy button, where's the print button?
Does BPA write anything to the database being scanned?
Thanks
> Does BPA only read the database being scaned?
Yes

> How do I print the report?
You can use Copy Report and paste it into Word and print from that
There is also the option to use Reporting Services to report on the results
and you can print from that, save to PDF etc
There are examples of reports that come with it

> I only have a copy button, where's the print button?
I don't think there is one (see above)

> Does BPA write anything to the database being scanned?
No
HTH
Jasper Smith (SQL Server MVP)
http://www.sqldbatips.com
I support PASS - the definitive, global
community for SQL Server professionals -
http://www.sqlpass.org
"Robert Salazar" <RobertSalazar@.discussions.microsoft.com> wrote in message
news:3747E300-1A39-4F44-91ED-71487D15179C@.microsoft.com...
> Does BPA only read the database being scaned?
> How do I print the report?
> I only have a copy button, where's the print button?
> Does BPA write anything to the database being scanned?
> Thanks
>
|||Hi Guys,
I was playing with the BPA and looks good but found that it does not
check for the SA password when I change it to Null or modify it to be
blank.
Is it something wrong with my machine or BPA does not check the
passwords at all.
I thought the BPA should pick up the accounts which have blank
passwords or the same name etc and this should be on the top of list
for the BPA tool to do .
Let me know your thoughts guys.
Cheers
--Ramesh
"Jasper Smith" <jasper_smith9@.hotmail.com> wrote in message news:<ur9jiI$aEHA.2840@.TK2MSFTNGP11.phx.gbl>...[vbcol=seagreen]
> Yes
> You can use Copy Report and paste it into Word and print from that
> There is also the option to use Reporting Services to report on the results
> and you can print from that, save to PDF etc
> There are examples of reports that come with it
> I don't think there is one (see above)
> No
> --
> HTH
> Jasper Smith (SQL Server MVP)
> http://www.sqldbatips.com
> I support PASS - the definitive, global
> community for SQL Server professionals -
> http://www.sqlpass.org
> "Robert Salazar" <RobertSalazar@.discussions.microsoft.com> wrote in message
> news:3747E300-1A39-4F44-91ED-71487D15179C@.microsoft.com...
|||Hi Ramesh
BPA currently does not have any security checks. To do security you can use
Baseline Security Analyzer (http://www.microsoft.com/mbsa )
- Christian
___________________________
Christian Kleinerman
Program Manager, SQL Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"rams" <ramesh_sql@.yahoo.com> wrote in message
news:5ea6b47e.0407191828.41423a18@.posting.google.c om...
> Hi Guys,
> I was playing with the BPA and looks good but found that it does not
> check for the SA password when I change it to Null or modify it to be
> blank.
> Is it something wrong with my machine or BPA does not check the
> passwords at all.
> I thought the BPA should pick up the accounts which have blank
> passwords or the same name etc and this should be on the top of list
> for the BPA tool to do .
> Let me know your thoughts guys.
> Cheers
> --Ramesh
>
> "Jasper Smith" <jasper_smith9@.hotmail.com> wrote in message
news:<ur9jiI$aEHA.2840@.TK2MSFTNGP11.phx.gbl>...[vbcol=seagreen]
results[vbcol=seagreen]
message[vbcol=seagreen]

BPA issues

BPA (SQL Best practices analyzer) issues
First off, great idea!
-Dead Logons should scavange better. The app locked up on a long operations and when I logged back in it told me I was already logged in. I went into the repository via EM and axed the row out of active_conns and everything was good again. Point being,
the average user might not know to do this and the app won't do anything if you can't logon.
-I get the following 2 lines in the Cursor usage detail when using FAST_FORWARD for my cursor in a sproc. According to BOL FAST_FORWARD = FORWARD_ONLY + READ_ONLY (which is NOT updatable)
-This cursor is declared as updatable, however it doesn't seem to be updated.
-This cursor does not specify explicit updatability information (FOR UPDATE clause or READ_ONLY clause).
-6 exceptions for resutls when running all the rules
Hi Sean
Thanks for your feedback. Some comments inlined.
- Christian
___________________________
Christian Kleinerman
Program Manager, SQL Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"Sean B" <anonymous@.discussions.microsoft.com> wrote in message
news:C250B186-9486-4BA6-877F-F7C928CCC6DC@.microsoft.com...
> BPA (SQL Best practices analyzer) issues
> First off, great idea!
> -Dead Logons should scavange better. The app locked up on a long
operations and when I logged back in it told me I was already logged in. I
went into the repository via EM and axed the row out of active_conns and
everything was good again. Point being, the average user might not know to
do this and the app won't do anything if you can't logon.
Yes, this was annoying. It has been fixed in later builds.

> -I get the following 2 lines in the Cursor usage detail when using
FAST_FORWARD for my cursor in a sproc. According to BOL FAST_FORWARD =
FORWARD_ONLY + READ_ONLY (which is NOT updatable)
> -This cursor is declared as updatable, however it doesn't seem to be
updated.
> -This cursor does not specify explicit updatability information (FOR
UPDATE clause or READ_ONLY clause).
Fixed this one too, making both, fast_forward and static be treated as read
only cursors.

> -6 exceptions for resutls when running all the rules
>
Do you have more information here?
Thanks for your feedback.
- Christian

BPA Installation Error

I am trying to install BPA on a W2K workstation that has SQL 2000 Personal
Edition SP3. Just befor completing the installation, I get a message box
that says
"One or more rules could not be installed. There is an error in XML document
(55, 15). Invalid SQL Server edition"
I tried using the local server for repository and also tried a SQL 2K
Enterprise Edition, SP 3 running on a W2K Advanced Server. I am getting the
same error.
What am I missing ?
Thanks for any help or any pointers I can get.
Sathish V
Hey Sathish, when you get those error there should be a box below that that
allow you to check in and out of that criteria.
"Sathish V" wrote:

> I am trying to install BPA on a W2K workstation that has SQL 2000 Personal
> Edition SP3. Just befor completing the installation, I get a message box
> that says
> "One or more rules could not be installed. There is an error in XML document
> (55, 15). Invalid SQL Server edition"
> I tried using the local server for repository and also tried a SQL 2K
> Enterprise Edition, SP 3 running on a W2K Advanced Server. I am getting the
> same error.
> What am I missing ?
> Thanks for any help or any pointers I can get.
> Sathish V
|||Thanks Garry. I will check it out let you know.
"Garry D" wrote:
[vbcol=seagreen]
> Hey Sathish, when you get those error there should be a box below that that
> allow you to check in and out of that criteria.
> "Sathish V" wrote:
|||I was having the same problem. I solved it by:
Removing BPA in Control Panel/Add Remove Programs
Removing the BPA database from my SQL Server
Removing the BPA directory in c:\Program Files
After doing all these, it installed fine. Now to try it...
"Sathish V" wrote:

> I am trying to install BPA on a W2K workstation that has SQL 2000 Personal
> Edition SP3. Just befor completing the installation, I get a message box
> that says
> "One or more rules could not be installed. There is an error in XML document
> (55, 15). Invalid SQL Server edition"
> I tried using the local server for repository and also tried a SQL 2K
> Enterprise Edition, SP 3 running on a W2K Advanced Server. I am getting the
> same error.
> What am I missing ?
> Thanks for any help or any pointers I can get.
> Sathish V
|||Sathish, Mike
Let us know if this issue has been resolved
Thanks
Sethu
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm.
"Mike W." <Mike W.@.discussions.microsoft.com> wrote in message
news:0669F4C0-04FA-4201-9E47-1432B89DBF54@.microsoft.com...[vbcol=seagreen]
>I was having the same problem. I solved it by:
> Removing BPA in Control Panel/Add Remove Programs
> Removing the BPA database from my SQL Server
> Removing the BPA directory in c:\Program Files
> After doing all these, it installed fine. Now to try it...
> "Sathish V" wrote:

BPA Install Problem

I'm installing the latest version of BPA and seem to have run into an issue.
I've uninstalled the app and deleted the old BPA database, and while
reinstalling, I'm seeing an error message come up. "One or more rules could
not be installed. There is an error in XML document (55, 15). Invalid SQL
Server edition."
I'm running everything locally, and running SQL 2k, SP3 on WinXP SP1
Where can I start to look to debug this problem?
Steve
Please uninstall and reinstall, but before reinstalling make sure that the
destination folder is empty. At the very least you should make sure that
bpadmin.exe.config file doesn not exist, and that no files or folders are
left under repository folder.
Let me know if that doesn't work.
- Christian
___________________________
Christian Kleinerman
Program Manager, SQL Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"Steve Carroll" <steve_carroll72@.h_o_t_m_a_i_l.com> wrote in message
news:uELb%23aYTEHA.2908@.TK2MSFTNGP10.phx.gbl...
> I'm installing the latest version of BPA and seem to have run into an
issue.
> I've uninstalled the app and deleted the old BPA database, and while
> reinstalling, I'm seeing an error message come up. "One or more rules
could
> not be installed. There is an error in XML document (55, 15). Invalid
SQL
> Server edition."
> I'm running everything locally, and running SQL 2k, SP3 on WinXP SP1
> Where can I start to look to debug this problem?
>
|||Well,
Its apparent that I'm a database guy and not an application guy!
That worked like a charm. Thanks!
BTW... great app!
-Steve
"Christian Kleinerman [MS]" <ckleiner@.online.microsoft.com> wrote in message
news:e870CqYTEHA.2324@.TK2MSFTNGP10.phx.gbl...
> Steve
> Please uninstall and reinstall, but before reinstalling make sure that the
> destination folder is empty. At the very least you should make sure that
> bpadmin.exe.config file doesn not exist, and that no files or folders are
> left under repository folder.
> Let me know if that doesn't work.
> - Christian
> --
> ___________________________
> Christian Kleinerman
> Program Manager, SQL Engine
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> "Steve Carroll" <steve_carroll72@.h_o_t_m_a_i_l.com> wrote in message
> news:uELb%23aYTEHA.2908@.TK2MSFTNGP10.phx.gbl...
> issue.
> could
> SQL
>

BPA install error

Trying to install BPA and get an error message "Error writing to file BpaCommon.dll. Verify you have access to that directory" I can see that file in the installed directory and permissions look fine. Tried install with inteegrated and mixed mode authenti
cation as well as installing to different folder. Same error. Can't find any reference to this dll in NG or MS site.
Thanks for any help
Hi
Maybe you need to unregister and re-register it with regsvr32? It may also
be corrupted, so manually extracting it may be another possibility?
John
"Dave" <Dave@.discussions.microsoft.com> wrote in message
news:5672F0D9-EE90-4780-AB66-F32654113C11@.microsoft.com...
> Trying to install BPA and get an error message "Error writing to file
BpaCommon.dll. Verify you have access to that directory" I can see that file
in the installed directory and permissions look fine. Tried install with
inteegrated and mixed mode authentication as well as installing to different
folder. Same error. Can't find any reference to this dll in NG or MS site.
> Thanks for any help
|||Dave
BpaCommon.dll is also registered in the Global Assembly Cache (aka GAC).
Usually located in <windows folder>\assembly
Can you verify that there is no bpacommon.dll in the GAC before you install?
You can manually try to register in the GAC by using gacutil.exe (available
from the .net framework SDK).
Let me know if you still can't get it to work.
- Christian
___________________________
Christian Kleinerman
Program Manager, SQL Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"John Bell" <jbellnewsposts@.hotmail.com> wrote in message
news:e9WP2hVVEHA.2828@.TK2MSFTNGP10.phx.gbl...
> Hi
> Maybe you need to unregister and re-register it with regsvr32? It may also
> be corrupted, so manually extracting it may be another possibility?
> John
> "Dave" <Dave@.discussions.microsoft.com> wrote in message
> news:5672F0D9-EE90-4780-AB66-F32654113C11@.microsoft.com...
> BpaCommon.dll. Verify you have access to that directory" I can see that
file
> in the installed directory and permissions look fine. Tried install with
> inteegrated and mixed mode authentication as well as installing to
different
> folder. Same error. Can't find any reference to this dll in NG or MS site.
>

BPA Feedback and Question

I've been exploring the best practices tool and find most things great! I have installed it on multiple machines and then changed the database that each client logs into to be the same one so that we have one central repository and it seems to be working
well. I would like to see a way to schedule a job that would run the scans at off hours since we are trying to make it mandatory for our developers to run a clean scan before they move out of our development environment. I was also surprised when i not
iced that there were no stored procedures in the slqbpa database, isn't that going against best practices ;)
Debi
In the released version there will be a command line version that will let
you use sql agent or some other scheduler to do what you want.
About stored procedures... not that strictly a best practice... depends on
your application or on what you're trying to do. The extensible architecture
of bpa called for some adhoc query building which may be better in the app
than doing dynamic sql inside stored procs. That said, I would like to see
some of the logic moved to stored procs, post v1. In the pre-7.0 days,
stored procs were way more a perf best practice.
- Christian
___________________________
Christian Kleinerman
Program Manager, SQL Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"Debi" <anonymous@.discussions.microsoft.com> wrote in message
news:B924F619-4B1C-4657-B61B-41DA672541CE@.microsoft.com...
> I've been exploring the best practices tool and find most things great! I
have installed it on multiple machines and then changed the database that
each client logs into to be the same one so that we have one central
repository and it seems to be working well. I would like to see a way to
schedule a job that would run the scans at off hours since we are trying to
make it mandatory for our developers to run a clean scan before they move
out of our development environment. I was also surprised when i noticed
that there were no stored procedures in the slqbpa database, isn't that
going against best practices ;)
|||Hello Debi,
how did you manage this?
I tried to install BPA on different machines...
but the tool doesn't support the same database for the different
installations.
did you install BPA on different machines with different databases?
what did you do with these databases - drop them?
how did you change the database to connect to?
Thanks Thomas
"Debi" wrote:

> I've been exploring the best practices tool and find most things great! I have installed it on multiple machines and then changed the database that each client logs into to be the same one so that we have one central repository and it seems to be worki
ng well. I would like to see a way to schedule a job that would run the scans at off hours since we are trying to make it mandatory for our developers to run a clean scan before they move out of our development environment. I was also surprised when i n
oticed that there were no stored procedures in the slqbpa database, isn't that going against best practices ;)
|||Have a look at http://www.sqldbatips.com/showarticle.asp?ID=9
HTH
Jasper Smith (SQL Server MVP)
http://www.sqldbatips.com
I support PASS - the definitive, global
community for SQL Server professionals -
http://www.sqlpass.org
"Mueller-Lynch Thomas" <MuellerLynchThomas@.discussions.microsoft.com> wrote
in message news:1EBAEBEF-38D1-471A-B277-B685AE3EB4BE@.microsoft.com...[vbcol=seagreen]
> Hello Debi,
> how did you manage this?
> I tried to install BPA on different machines...
> but the tool doesn't support the same database for the different
> installations.
> did you install BPA on different machines with different databases?
> what did you do with these databases - drop them?
> how did you change the database to connect to?
> Thanks Thomas
> "Debi" wrote:

BPA Feedback

It would be nice to be able to code your own rule libraries to include internal standards etc. Any plans for this?
Hi Rob
We've discussed it and would like to do it but it will not happen in the
initial release. Longer term, definitely.
Thanks,
- Christian
___________________________
Christian Kleinerman
Program Manager, SQL Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"Rob" <anonymous@.discussions.microsoft.com> wrote in message
news:CCA95DE6-4BAF-45AE-893C-EE50BB413810@.microsoft.com...
> It would be nice to be able to code your own rule libraries to include
internal standards etc. Any plans for this?

BPA configuring 'Object Prefix'

I would like to configure the prefixes for several objects but I cannot figure out how to do so. From what I saw in the Properties section, it will only allow 1 property (I have already set up Stored Procedures) but I would like to do several (Stored Pro
cedure, Functions, Views, etc.) Can anyone point me in the right direction?
Thanks,
Jeff
Hi Jeff
Yes, you can only configure one rule per bet practice group. In order to
accommodate multiple checks, you'll have to create several separate Best
Practice Groups. We'll look into how to provide what you want in a single
best practice group in a future release.
- Christian
___________________________
Christian Kleinerman
Program Manager, SQL Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"Jeff Kararo" <JeffKararo@.discussions.microsoft.com> wrote in message
news:9A3FBB14-CC30-4691-B4A3-5E3BD29633B3@.microsoft.com...
> I would like to configure the prefixes for several objects but I cannot
figure out how to do so. From what I saw in the Properties section, it will
only allow 1 property (I have already set up Stored Procedures) but I would
like to do several (Stored Procedure, Functions, Views, etc.) Can anyone
point me in the right direction?
> Thanks,
> Jeff
>

BPA and reporting

Are there any facilities for printing to a file or exporting to PDF etc? I am running in a very secure environment where printing is not allowed in the domain due to data security issues.
I would like to run the BPA and capture the report in a file that can then be shipped off for viewing /printing
Also being able to capture the scan details in the printed report would be nice (at least as an option during the print process).
|||Hi Bob
We're working on improving the reporting to simplify some of the scenarios
you have.
In the mean time, you may want to BCP the data from the bpa repository
database into a file.
- Christian
___________________________
Christian Kleinerman
Program Manager, SQL Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"boB Taylor" <anonymous@.discussions.microsoft.com> wrote in message
news:3E63B6D8-927D-4E82-80DA-05DA3ED6F671@.microsoft.com...
> Also being able to capture the scan details in the printed report would be
nice (at least as an option during the print process).

BPA - SQL 2005 - T-SQL

Hi there

I am looking for some help with the BPA on SQL 2005, I can not seem to get it to recognise any T-SQL best practices, I can deliberately sneak in a SELECT * or INSERT INTO with no feild list into SP's but the BPA does not pick them up.

Am I missing something ?

Thanks

Tim

i hope this helps u

http://vyaskn.tripod.com/coding_conventions.htm

http://vyaskn.tripod.com/sql_server_administration_best_practices.htm

http://vyaskn.tripod.com/sql_server_administration_best_practices.htm

Madhu

|||

BPA is primarily concerned with security issues. It is NOT a code analysis tool. It does not check for coding standards and practices.

I suggest that you may wish to explore "SQL Refractor" from www.RedGate.com.

|||

Tim Hatcher wrote:

I am looking for some help with the BPA on SQL 2005, I can not seem to get it to recognise any T-SQL best practices, I can deliberately sneak in a SELECT * or INSERT INTO with no feild list into SP's but the BPA does not pick them up.

I've answered this and other questions in this blog post:

http://blogs.msdn.com/sqlrem/archive/2007/01/12/SP2-and-BPA-FAQ.aspx

"We used SQL Server 2000 Best Practices Analyzer 1.0 to check our T-SQL code. It is very useful in our development process. Why are you getting rid of it?
The best practices utilities across Microsoft are more focused toward operations/management. We are aligning SQL Server’s BPA to the corporate standard. We agree that there should be aids in checking best practices in code, but don’t feel that BPA is the right tool for the job. Software like FxCop or plug-ins to Visual Studio and Management Studio would be the ideal location for such checks."

There are also technical challenges around why we could not do it in this release. I apologize for the inconvenience.

Paul A. Mestemaker II

Program Manager

Microsoft SQL Server Manageability

http://blogs.msdn.com/sqlrem/

BPA - Clustered SQLServer

Are there any known issues with running BPA against a clustered SQL Server instance?
What's BPA?
Mark Allison, SQL Server MVP
http://www.markallison.co.uk
|||SQL Server Best Practices Analyzer.
-Sue
On Mon, 29 Mar 2004 06:36:07 -0800, Mark Allison
<marka@.no.tinned.meat.mvps.org> wrote:

>What's BPA?
|||Sue Hoegemeier wrote:
> SQL Server Best Practices Analyzer.
>
Thanks! :-)
Mark Allison, SQL Server MVP
http://www.markallison.co.uk
|||No issue that I'm aware of.
- Christian
This posting is provided "AS IS" with no warranties, and confers no rights.
"Greg" <anonymous@.discussions.microsoft.com> wrote in message
news:C8426F85-5337-4C92-94EB-E71C22FD98AF@.microsoft.com...
> Are there any known issues with running BPA against a clustered SQL Server
instance?