A couple of years ago I put together a training session to demonstrate various types of backups and restores. The driving factor behind me building this session was the response I got from talking to a dozen or so DBA’s about disaster recovery. I asked how many have ever performed a restore where you had to apply transaction logs. I expected everyone to raise their hand but I only had one person. This was from a group where everyone was responsible for backup and recovery of their environment.
With something so simple I realized there is a big need for demonstrating these actions so that at least everyone is familiar with the process. I had to spice things up since performing backups and restores are not all that sexy. In my presentation I demonstrate traditional backups using full and log, then full with differential and logs, a file group level backup with piecemeal restore and finally tail log backups.
With the tail log backup I backup the tail end of the transaction log after deleting the data file as well as attaching a transaction log from a database on one virtual machine to a database on another virtual machine and still back up the tail end of the log. This is always well received.
During my presentation I demo a set of scripts that I use to generate the restore script. I share that many have adapted these scripts to their production routines to generate their restore script after every backup. This helps tremendously for restore validations as well as production restores and could also be leveraged in your DR procedures.
I have included a download of my sample databases, scripts and presentation here >>> KnowBackups
When I started with the SQL Community I was first encourage to start blogging which I started in Sept of 2010. While at the PASS Summit in 2010 I was encourage to submit to speak at a SQL Saturday. I submitted my first ever session for SQL Saturday #62 and got selected to speak. This event was held on Jan 15th 2011. Thank you to Jose Chinchilla for encouraging me to submit. (He didn’t really give me a choice)
It has been an incredible journey since then with speaking at events in numerous states within the US and multiple countries. My most recent out of the country trip was to Costa Rica to speak at SQL Saturday 282. I am very fortunate to have a good friend who lives there who encouraged me to come visit. I met Kenneth a couple of years prior at a SQL Skills class in Tampa Florida. A nice thing that SQL Skills does is one night during each week of training they have a “free for all” where the attendees can get up and present a short talk. I took advantage of this and gave a trimmed down version of my session “Getting Involved and Getting Ahead” where I share my journey with volunteering in the SQL Community.
Little did I know that giving this talk would have such a profound impact on someone in the audience. This is where I met my now good friend Kenneth Urena. After my talk Kenneth approached me with lots of questions on how to do this himself. I shared everything I knew. I talked about local PASS Chapters, virtual chapters, SQL Saturdays, etc. We connected with each other on social media so we could stay in touch and we have.
While at Summit this past year in Charlotte NC we made a deal, if I come to Costa Rica and present a session that Kenneth would come to Atlanta and present. We both held up our end of the agreement however what I did not realize is that it would be the first time my friend presented a technical session in English. I did not realize this until an hour before his session. Kenneth sent me a text to come help him review his slides during lunch (his session was right after lunch). When I arrived he was very nervous but we went through his material and he was awesome. His language was excellent, his slides were great and he knew the material very well. My only advice was to take things slow, not to rush and speak clearly. I hope this helped to calm his nerves because when he got to his room it was packed.
You should read Kenneth’s account of how he came to start speaking and how his session went in Atlanta. The interaction with the room monitor is worth reading the post. http://sqlcr.com/content/my-first-sql-saturday-english-speaker-few-years-journey
Kenneth, thank you for giving back to the SQL Community and helping to extend the #SQLFamily to Latin America. You all are awesome. I had the best time in Costa Rica and can’t wait to come back.
My largest client recently purchased BMC Control-M to use as our enterprise scheduler. Since this product went live in our environment I have been watching it displace other schedulers to become the centralized scheduler. As I have learned more about the capabilities of Control-M as well as becoming more alert to seeing references to the product in the market place I have become a huge fan.
Being a database professional I have become very attached to SQL Server Agent for scheduling anything SQL related. However I know the limitations of SQL Server Agent when it comes to the SQL task being one of many factors in a much larger process. Over the years I have seen very complex processes implemented to schedule a multi-process job. In cases where one process (non sql) creates a file that another process (sql job) ingests, manipulates, and outputs additional files that will be used by another process (non sql). Those three jobs have to run in a particular order so the IT admins have to get creative with scheduling.
What I have found with Control-M is that it can schedule each task to run in a workflow so each job becomes a task for a single process flow within Control-M. The design of the workflows in Control-M is much like SSIS. The major benefit with letting Control-M execute these processes is the ability for it to monitor each process, send notifications on success or failure and immediately kick off the next process in the workflow after successful completion of the previous task.
As a DBA giving up control over scheduling my jobs was an uneasy feeling, however if you are like me, many times you have a job fail due to a dependency. For me it is usually that a file my job is importing didn’t arrive. If this job was part of a Control-M process then my job would not have ran due to the dependency failure and whomever is responsible for the file I need would be notified.
Our most recent big success with BMC Control-M for Cloud was installing the module for VMware. We have virtual servers that need weekly reboots (mostly web servers) and using Control-M for Cloud has automated that process eliminating the need for a VMware Admin or someone in our Network Operations Center from having to issue these reboots. A good friend of mine blogged about his experience setting that up here >> ControlMWithBigAl.Wordpress.com
Andy Leonard (b | t | l | f) of Linchpin People, has announced a new training class called ‘From Zero to SSIS‘. The first class is being offered in Reston, VA, May 19-23 2014. Andy is one to the top guru’s of SSIS. If you are looking to improve your SSIS skills then you need to attend SSIS Training from the master!
“From Zero to SSIS! is designed to train technology professionals in the fine art of using SQL Server Integration Services (SSIS) to build data integration and Extract-Transform-Load (ETL) solutions. The course is focused around labs and emphasizes a hands-on approach.
The target audience for this training is database professionals, application developers, and business intelligence practitioners interested in acquiring or expanding their existing SSIS skill set. No experience with SQL Server or SQL Server Integration Services is required before attending this training. It is helpful (but not required) that students possess some knowledge of and experience with relational databases. SQL Server knowledge/experience will be more helpful than experience and knowledge with other technologies.”
You can find more details here, if you plan to attend the register for the event at here. Why attend an in person class? Unlike proctored classes, this class is taught by an industry expert on the subject. Hundreds of hours have gone into perfecting this class so that you learn real world knowledge that you can immediately apply to your job. You get hands on experience and access to a true master.
Getting locked out of a SQL Server can happen in a number of ways. You could inherit a server that was managed by someone that left the company and only that person had System Admin rights for example. A recent encounter I had was were a database server was built and provisioned in one active directory domain and then moved and joined to another non trusted domain. All the accounts provisioned within the server include those for the DBA admins were basically useless since they couldn’t be authenticated. The built in SA account is locked down per policy so no one knows the password.
What do you do if you find that you are locked out of a SQL Server instance? The way I handle it is to start SQL Server in single user mode, launch SQLCMD and create a new user. I then still using SQLCMD grant the new user the system admin role. Once I have the new user created I restart SQL Server Service and log in using the new credentials. I can then clean up the instance by granting proper access.
If this was a newly inherited server I then take the time to do a health check of the instance to make sure that everything is to our standards. (Usually this means more work)
To start SQL Server in single user mode I open a command prompt as an administrator
I type the following minus the quotes (“ “)
“net stop mssqlserver” and press enter
“net start mssqlserver /m” and press enter
“sqlcmd” and press enter
“CREATE LOGIN security WITH PASSWORD = ‘Rec0very123’ “ and press enter
“GO” and press enter
“sp_addsrvrolemember ‘security’, ‘sysadmin’ “ and press enter
“GO” and press enter
“quit” and press enter
“net stop mssqlserver” and press enter
“net start mssqlserver” and press enter
You have now stop and restarted mssql in single user mode, created a new login called ‘security’ and given the user ‘security’ system admin rights. You then stopped and started mssql to put it back in multi user mode. I have included a screen shot of me completing the task on a development workstation so you can see the syntax and steps.
At this point you can connect to the server with SQL Server Management Studio with the new user and reset the SA password and or provision the proper people access.