<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.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>Search results matching tags 'DBA', 'SQL Server', and 'Best Practices'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=DBA,SQL+Server,Best+Practices&amp;orTags=0</link><description>Search results matching tags 'DBA', 'SQL Server', and 'Best Practices'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Use Those Schemas, People!</title><link>http://sqlblog.com/blogs/buck_woody/archive/2010/05/18/use-those-schemas-people.aspx</link><pubDate>Tue, 18 May 2010 12:39:35 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:25246</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;Database Schemas are just containers – they aren’t users or anything else – think of a sub-directory on the hard drive. In early versions of SQL Server we “hid” schemas, placing all objects under “dbo”, which gave the erroneous perception that Schemas are users. &lt;/p&gt;  &lt;p&gt;In SQL Server 2005, we “un-hid” or re-introduced schemas within the database. Users can have a default schema (a place where their new objects go), you can add new schemas and transfer objects between them, and they have many other benefits.&lt;/p&gt;  &lt;p&gt;But I still see a lot of applications, developed by shops I know as well as vendors, that don’t make use of a Schema. Everything is piled under dbo. I completely understand this – since permissions can be granted to a schema, they feel a lot like a user, so it’s just easier not to worry about both users and schemas when you create a database. But if you’ll use them properly you can make your application more understandable and portable.&lt;/p&gt;  &lt;p&gt;You should at least take a few minutes and read more about them – you owe it to your users: &lt;a href="http://msdn.microsoft.com/en-us/library/ms190387.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms190387.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Backup those keys, citizen</title><link>http://sqlblog.com/blogs/buck_woody/archive/2010/04/20/backup-those-keys-citizen.aspx</link><pubDate>Tue, 20 Apr 2010 12:14:50 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24408</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;Periodically I back up the keys within my servers and databases, and when I do, I blog a reminder here. This should be part of your standard backup rotation – the keys should be backed up often enough to have at hand and again when they change.&lt;/p&gt;  &lt;p&gt;The first key you need to back up is the Service Master Key, which each Instance already has built-in. You do that with the &lt;a href="http://msdn.microsoft.com/en-us/library/ms190337.aspx" target="_blank"&gt;BACKUP SERVICE MASTER KEY command, which you can read more about here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The second set of keys are the Database Master Keys, stored per database, if you’ve created one. You can back those up with the &lt;a href="http://technet.microsoft.com/en-us/library/ms174387.aspx" target="_blank"&gt;BACKUP MASTER KEY command, which you can read more about here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Finally, you can use the keys to create certificates and other keys – those should also be backed up. &lt;a href="http://msdn.microsoft.com/en-us/library/ms189586.aspx" target="_blank"&gt;Read more about those here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Anyway, the important part here is the backup. Make sure you keep those keys safe!&lt;/p&gt;</description></item><item><title>What to leave when you're leaving</title><link>http://sqlblog.com/blogs/buck_woody/archive/2010/03/15/what-to-leave-when-you-re-leaving.aspx</link><pubDate>Mon, 15 Mar 2010 14:09:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:23390</guid><dc:creator>BuckWoody</dc:creator><description>&lt;P&gt;There's already a post on&amp;nbsp;this topic - sort of. &lt;A href="http://www.mssqltips.com/tip.asp?tip=1960&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+MSSQLTips-LatestSqlServerTips+%28MSSQLTips+-+Latest+SQL+Server+Tips%29" target=_blank&gt;I read this entry, where the author did a good job on a few&amp;nbsp;steps&lt;/A&gt;, but I found that a&amp;nbsp;few other tips might be useful, so if you want to check that one out and then this post, you might be able to put together your own plan for when you leave your job.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I once took over the system administrator (of which the Oracle and SQL Server servers were a part) at a mid-sized firm. The outgoing administrator had about a two-&amp;nbsp;week-long scheduled overlap with me, but was angry at the company and told me "hey, I know this is going to be hard on you, but I want them to know how important I was. I'm not telling you where anything is or what the passwords are. Good luck!" He then quit that day.&lt;/P&gt;
&lt;P&gt;It took me about three days to find all of the servers and crack the passwords. Yes, the company tried to take legal action against the guy and all that, but he moved back to his home country and so largely got away with it.&lt;/P&gt;
&lt;P&gt;Obviously, this isn't the way to leave a job. Many of us have changed jobs in the past, and most of us try to be very professional about the transition to a new team, regardless of the feelings about a particular company. I've been treated badly at a firm, but that is no reason to leave a mess for someone else. So here's what you should put into place at a&amp;nbsp;minimum before you go. Most of this is common sense - which of course isn't very common these days - and another good rule is just to ask yourself "what would I&amp;nbsp;want to know"?&lt;/P&gt;
&lt;P&gt;The article I referenced at the top of this post focuses on a lot of documentation of the systems. I think that's fine, but in actuality, I really don't need that. Even with this kind of documentation, I still perform&amp;nbsp;a full audit on the systems, so in the end I create my own system documentation. There are actually only&amp;nbsp;four big items I need to know to get started with the systems:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1. Where is everything/everybody?&lt;BR&gt;&lt;/STRONG&gt;The first thing I need to know is where all of the systems are. I mean not only the street address, but the closet or room, the rack number, the IU number in the rack, the SAN luns, all that. A picture here is worth a thousand words, which is why I really like Visio. It combines nice graphics, full text and all that. But use whatever you have to tell someone the physical locations of the boxes. Also, tell them the physical location of the folks in charge of those boxes (in case you aren't) or who share that responsibility. And by "where" in this case, I mean names and phones.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;2. What do they do?&lt;/STRONG&gt;&lt;BR&gt;For both the servers and the people, tell them what they do. If it's a database server, detail what each database does and what application goes to that, and who "owns" that application. In my mind, this is one of hte most important things a Data Professional needs to know. In the case of the other administrtors or co-owners, document each person's responsibilities.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3. What are the credentials?&lt;/STRONG&gt;&lt;BR&gt;Logging on/in and gaining access to the buildings are things that the new Data Professional will need to do to successfully complete their job. This means service accounts, certificates, all of that. The first thing they should do, of course, is change the passwords on all that, but the first thing they need is the ability to do that!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;4. What is out of the ordinary?&lt;BR&gt;&lt;/STRONG&gt;This is the most tricky, and perhaps the next most important thing to know. Did you have to use a "special" driver for that video card on server X? Is the person that co-owns an application with you mentally unstable (like me) or have special needs, like "don't talk to Buck before he's had coffee. Nothing will make any sense"? Do you have service pack requirements for a specific setup? Write all that down. Anything that took you a day or longer to make work is probably a candidate here.&lt;/P&gt;
&lt;P&gt;This is my short list - anything you care to add?&lt;/P&gt;</description></item><item><title>Have you backed up your keys lately?</title><link>http://sqlblog.com/blogs/buck_woody/archive/2010/03/01/have-you-backed-up-your-keys-lately.aspx</link><pubDate>Mon, 01 Mar 2010 14:06:04 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:22679</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;Did you know that you already have a Server Master Key (SMK) generated for your system? That’s right – while a Database Master Key (DMK) is generated when you encrypt a certificate or Asymmetric Key with code, the Server Master Key is generated automatically when you start the Instance. &lt;/p&gt;  &lt;p&gt;So you should back all of those keys up periodically, and then store that backup AWAY from the server itself. &lt;/p&gt;  &lt;p&gt;There are two reasons for this – first, if the drives get stolen and you’re storing the key backup there, well, that should be obvious why that’s bad. Second, you want to protect the keys in case the system is destroyed or you can’t recover the drives. You will need those keys if you have encrypted anything in the database to get the data back.&lt;/p&gt;  &lt;p&gt;More here: &lt;a href="http://technet.microsoft.com/en-us/library/bb964742.aspx"&gt;http://technet.microsoft.com/en-us/library/bb964742.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;No, the standard Maintenance Wizards don’t get this data. And no, I haven’t seen it addressed in most of the maintenance scripts out there anyway – sometimes for good reason, but this means you need to take care of it manually, and then document where you put that backup.&lt;/p&gt;</description></item><item><title>How Does Microsoft Do IT?</title><link>http://sqlblog.com/blogs/buck_woody/archive/2010/02/03/how-does-microsoft-do-it.aspx</link><pubDate>Wed, 03 Feb 2010 14:17:24 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:21774</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;Microsoft is a big company – and of course we have a lot of IT infrastructure that we have to manage. It might surprise you to learn that we have an IT group, just like at your company. We have a networking team, a server hardware team, software teams, DBA’s, the whole bit. In fact, we have more Mac computers than just about anyone (other than that company down south from here) and we write some of the best-selling Apple software. We have a Linux lab. &lt;/p&gt;  &lt;p&gt;How do we do that? How do you manage 80,000+ seats, especially when most of your company are a bunch of tech-savvy geeks? It’s a tough job, but the neat thing is that we tell you how we’re doing it – everything – right here: &lt;a href="http://technet.microsoft.com/en-us/library/bb687780.aspx"&gt;http://technet.microsoft.com/en-us/library/bb687780.aspx&lt;/a&gt;. If you want to focus in on just SQL Server, just check here: &lt;a href="http://technet.microsoft.com/en-us/library/bb687798.aspx"&gt;http://technet.microsoft.com/en-us/library/bb687798.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;(By the way - I *totally* should be doing our marketing – isn’t that title catchy? My catch-phrases and product names would be a lot better than what we normally come up with. I’m just sayin’.)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>SQL Server Best Practices: Use Roles When You Can</title><link>http://sqlblog.com/blogs/buck_woody/archive/2009/12/07/sql-server-best-practices-use-roles-when-you-can.aspx</link><pubDate>Mon, 07 Dec 2009 14:49:46 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:19566</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;SQL Server has two major security vectors: “Principals”, which are primarily users and roles (groups), and “Securables”, which are primarily objects on the server or in the database, like tables or views. Many applications use Logins for their users, and then tie those Instance Logins to Database Users. The Database Users are then given rights and permissions to database objects like tables or stored procedures.&lt;/p&gt;  &lt;p&gt;If you can, it’s a good idea to apply permissions not to the individual users, but to database roles. The reason is that you can move users in and out of the roles without changing the permission scheme. &lt;/p&gt;  &lt;p&gt;It also helps if you want to transfer the database to another server. All you have to do is script out the groups and permissions, and when you transfer the database to another system you simply add the users on that system to the proper roles – no permission changes needed.&lt;/p&gt;</description></item></channel></rss>