Not SQL related. But ME related.
I came home from work yesterday, and noticed the neighbors at the end of the cul-de-sac were all standing around a hole in their fence. I don't remember there being a hole in the fence... Beyond the hole, I could see bits and pieces of wood. Seems odd that they would be tearing out a small section of fence and replacing it with vinyl. So I wandered over, and met another neighbor along the way. Asking him what happened, he smilingly teased me with various options that could have occurred, slowly revealing the story as we approached the carnage. Into my neighbors back yard we walked, noticing a trail of destruction. Grass was chewed up, bits of concrete and old fence wood littered the area as we traversed the backyard. People were milling about, as if they had all become afternoon construction workers. Stuff was everywhere. Piles had started to form and I could only slightly make out what had occurred. Apparently, a bus crashed through my neighbors' yards in our cul-de-sac earlier in the afternoon. The driver had finished dropping off kids, made a wrong turn, and then, well, we don't actually know why, but went into my neighbors yard, thru their fence, down their hill, taking out their obviously offensive shed minding its business in the corner of their property. After dealing with the shed, the bus decided it hated the fence on the back of this neighbors property, and went thru it. Now it had more area to hate, and proceeded to hate a couple trees, and the corner of that property behind my neighbors. Was the hating bus done? No! It saw another fence that it hated, and killed it too. There, it stopped hating, and sat on its haunches, waiting to be pulled out of its newly acquired parking spot. The driver exited and entered the bus a number of times, and no one knows yet why this bus or its driver apparently hated all these fences.
Here's the local news report.
No children were on the bus. No children were playing in any of the 3 yards where the hating bus traversed its seeds of destruction. No one was hurt. Just stuff.
We were blessed.
My journal of the adventures and activities that I enjoy in my life. Some posts will be work related. Other posts will be family related. A smattering of me is what you will get by reading this blog.
Thursday, August 27, 2009
Wednesday, August 26, 2009
Who owns my database?
We often get database generated by a TestLab group, or QA group. They can have VMs cranked out with cookie cutter databases on them. We will get these dbs, apply pieces, and hand them on to the next group. This is a process that one becomes accustomed too, and one ends up not noticing the small things, like who owns the database.
So, we often get to verify that the correct owner in fact owns it. However, its usually a quick task that forces one to simply rely on the UI to perform the verification and subsequent alterations. Using the UI is not a bad thing. But i was taught early in my career to not trust the UI, but to learn what is being done underneath, dig into it, understand it, and if possible script out the actions.
I do love that management studio allows for much more scripting than previous UI tools did. I tend to use this and profiler to perform the snooping, then i massage the results into a script or job or something that i can use to repeat.
Today, i finally got tired of using the UI to verify the owner of the database. I have previously used the wonderful proc sp_changedbowner to alter the ownership. And often, simply cheated, and assigned it to 'sa' without even checking if it was owned or not by 'sa'. I dug into some procs, traced some actions of Management Studio, and saved me a simple script that can validate the owner, and even spit out for me the subsequent change sql needed to alter owner. I'm only sharing this with the rest of you because, if you are like me, you like having these scripts handy. Maybe they will help you out. Someday, you'll remember this, look for it, and viola! save yourself precious seconds or minutes.
So, here is it.
select
sd.name as [DatabaseName],
suser_sname(sd.sid) as [Owner],
case
when suser_sname(sd.sid) <> 'sa' then
'use ' + name + ' exec sp_changedbowner ''sa'''
else ''
end as ChangeDatabaseOwner,
sd.*
from master.dbo.sysdatabases sd
where suser_sname(sd.sid) <> 'sa'
run this with or without the where clause. I like to do both. Take the results, which look like this...
use db1 exec sp_changedbowner 'sa'
use db2 exec sp_changedbowner 'sa'
use db3 exec sp_changedbowner 'sa'
use db4 exec sp_changedbowner 'sa'
and execute them. Not elegant. Not a fancy UI. But little thought needs to go into it. Quick, dirty, and works. I'm saving this into a file in my [_helpers] folder for future use. already, I've quickly altered 50+ databases on 4 db servers. Blamo!
So, we often get to verify that the correct owner in fact owns it. However, its usually a quick task that forces one to simply rely on the UI to perform the verification and subsequent alterations. Using the UI is not a bad thing. But i was taught early in my career to not trust the UI, but to learn what is being done underneath, dig into it, understand it, and if possible script out the actions.
I do love that management studio allows for much more scripting than previous UI tools did. I tend to use this and profiler to perform the snooping, then i massage the results into a script or job or something that i can use to repeat.
Today, i finally got tired of using the UI to verify the owner of the database. I have previously used the wonderful proc sp_changedbowner to alter the ownership. And often, simply cheated, and assigned it to 'sa' without even checking if it was owned or not by 'sa'. I dug into some procs, traced some actions of Management Studio, and saved me a simple script that can validate the owner, and even spit out for me the subsequent change sql needed to alter owner. I'm only sharing this with the rest of you because, if you are like me, you like having these scripts handy. Maybe they will help you out. Someday, you'll remember this, look for it, and viola! save yourself precious seconds or minutes.
So, here is it.
select
sd.name as [DatabaseName],
suser_sname(sd.sid) as [Owner],
case
when suser_sname(sd.sid) <> 'sa' then
'use ' + name + ' exec sp_changedbowner ''sa'''
else ''
end as ChangeDatabaseOwner,
sd.*
from master.dbo.sysdatabases sd
where suser_sname(sd.sid) <> 'sa'
run this with or without the where clause. I like to do both. Take the results, which look like this...
use db1 exec sp_changedbowner 'sa'
use db2 exec sp_changedbowner 'sa'
use db3 exec sp_changedbowner 'sa'
use db4 exec sp_changedbowner 'sa'
and execute them. Not elegant. Not a fancy UI. But little thought needs to go into it. Quick, dirty, and works. I'm saving this into a file in my [_helpers] folder for future use. already, I've quickly altered 50+ databases on 4 db servers. Blamo!
Wednesday, August 12, 2009
SQL Quiz 5: SANs Mirroring
My turn to answer Chris Shaw’s questions “Do I feel I have a reliable SAN solution?” and “Describe Database Mirroring for the layman?” Thanks Grant for tagging me. More important to me than the sharing of knowledge, is the building the community through our interactions. Besides, I'm not an expert or even novice in these subjects. So be forewarned before proceeding.
SAN:
I recall in the beginning of my DBA career, a Database server was a box I could see, touch and if necessary, kick. One day, it became a smaller box that was in a backroom somewhere, in a 'rack'. With access to this special room, I could still kick it. Now, we use SANS. What the heck are these things? I don't have access to them. I can't see them. I cant even find the room where they are at. I'm definitely no longer allowed to kick them.
Now we have to go through folk with magic fingers and pixie dust to get some space for a db server. They do all kinds of things that I don't understand. But if they do it right, I get an IP address or name of a DB server, and its so much better than it used to be, with much more stuffs than I could ever hope for previously. Tons of space, and it's uptime is so much better. When something does break, its usually not the DBA's fault. Like when converting from generator power to real power, and forgetting to connect the SAN your standby topology is on at the same time. Fun stuff! But I do miss the days I could walk into a room and kick my DB server and it was all in 1 box. Mainly I liked to see it sitting there and often, kick it.
Mirroring:
Many years ago, in the beginning of our marriage, we went to a car dealer. They had a special on two cars at the time. We almost bought them both, and would have had two identical cars. If we kept them both tuned and in good working order, I could go out in the morning and take one of them. If something happened to that one, I could take the other, and not really notice the difference. My tasks would still be accomplished in the same way, and if I didn't pay close attention, I'd be none the wiser.
This is how I imagine mirroring functions. There are two dbs out there, that are identical. Something keeps them running the same. If one has an issue, we start using the other. Quite magically. You, the end user, simply gets in the DB, and drives off, returns it to its parking space, and viola, repeats when necessary.
You don't need to know that behind the curtain there are any number of processes, people and other stuffs switching things out, configuring things, setting things up, and so on. What you see is a functioning item on your side of the fence, and its available when you need it.
To sum this all up in my own words wouldn't be as much fun as realizing my conclusion is the same as Grant's. So to plagiarize Grant, "So to sum up, the answer to both questions is, I don’t know. Pretty pathetic, but honest." -Grant Fritchey
Now tagging Pat Wright and Andy Leonard.
SAN:
I recall in the beginning of my DBA career, a Database server was a box I could see, touch and if necessary, kick. One day, it became a smaller box that was in a backroom somewhere, in a 'rack'. With access to this special room, I could still kick it. Now, we use SANS. What the heck are these things? I don't have access to them. I can't see them. I cant even find the room where they are at. I'm definitely no longer allowed to kick them.
Now we have to go through folk with magic fingers and pixie dust to get some space for a db server. They do all kinds of things that I don't understand. But if they do it right, I get an IP address or name of a DB server, and its so much better than it used to be, with much more stuffs than I could ever hope for previously. Tons of space, and it's uptime is so much better. When something does break, its usually not the DBA's fault. Like when converting from generator power to real power, and forgetting to connect the SAN your standby topology is on at the same time. Fun stuff! But I do miss the days I could walk into a room and kick my DB server and it was all in 1 box. Mainly I liked to see it sitting there and often, kick it.
Mirroring:
Many years ago, in the beginning of our marriage, we went to a car dealer. They had a special on two cars at the time. We almost bought them both, and would have had two identical cars. If we kept them both tuned and in good working order, I could go out in the morning and take one of them. If something happened to that one, I could take the other, and not really notice the difference. My tasks would still be accomplished in the same way, and if I didn't pay close attention, I'd be none the wiser.
This is how I imagine mirroring functions. There are two dbs out there, that are identical. Something keeps them running the same. If one has an issue, we start using the other. Quite magically. You, the end user, simply gets in the DB, and drives off, returns it to its parking space, and viola, repeats when necessary.
You don't need to know that behind the curtain there are any number of processes, people and other stuffs switching things out, configuring things, setting things up, and so on. What you see is a functioning item on your side of the fence, and its available when you need it.
To sum this all up in my own words wouldn't be as much fun as realizing my conclusion is the same as Grant's. So to plagiarize Grant, "So to sum up, the answer to both questions is, I don’t know. Pretty pathetic, but honest." -Grant Fritchey
Now tagging Pat Wright and Andy Leonard.
Friday, July 24, 2009
So much to do!
A couple weeks ago, we had an incident at work, that caused some long days of work, over the weekend. Since then, its slowed down a bit, but its still busy, as we lost time dealing with an incident that wasn't planned. This is akin to taking a vacation. The work doesn't simply get done, it waits; waits for you to return. This seems to make it harder to take any time off, or enjoy time off; knowing that that creature is simply waiting for you, waiting to consume your time again, as soon as it's let lose.
That wasn't the point I was trying to make, but out it came anyway. Writing is like that for me. It's a bit cathartic and allows my brain to simply output whatever is in it. Sometimes for good; oft times, not.
So, the point, was that we need to realize when we are in a down time. By down time, I mean that our head is on straight, we can see into the future, even if its only a short distance, and we can seem to see clearly. These moments pop up at the rarest times. I've had them on a Monday afternoon. Rarely on a Friday. They tend to be elusive and are controlled by some puppet master who's schedule is random and haunting. Make a practice of watching for the signs of that moment approaching, and take advantage of it. When the moment is upon you, shirk everything, see clearly into your future, and have some tasks that you can perform while experiencing this short period of clearheadedness. It might be a good idea to keep a journal or even sticky note of tasks. When you realize you are living in the proper moment, grab your list, and start cranking out tasks.
The things that should be on your list are those things that will make your life easier. In your environment, you have hurdles that occur all the time. Something that helps you identify, monitor, measure and overcome those hurdles are highest priority. Let me make a simple suggestion. We have replication in our environment. 2 distinct types of replication. This is monitored by another group via tools like sitescope. However, for me to know the exact level of latency, can greatly improve my time and direction of action. I created a script that would report to me latency for a given threshold. However, we have 4 servers that can report latency for a few different systems. I finally made 4 scripts, hardcoded the sql to work for each environment, added them to a SSMS project, with the connections to each set. Now, I can open script 1, and execute it. It tells me whats going on. I then can repeat this for 3 other scripts. All very similar, but no need to change connections, copy 1 script to run elsewhere. Simple. This is just one idea that has helped me out, because I do not have to think about it, and can quickly produce data to measure statuses, allowing me to jump into action quicker.
The reason that this comes to light now, is that when we had an incident, I had some of these things already prepped, and was more nimble. However, there were some I still do not have, and these caused struggle. In a perfect world, we'd never struggle. We'd always have all the tools on hand to assist us.
Make your list. Keep it handy. When the winds of mood hit you, act upon them. Share these with others, and build your toolbox. When something happens, you will be ready, more ready than you have ever been. Each iteration of this will propel you forward to more successes.
That wasn't the point I was trying to make, but out it came anyway. Writing is like that for me. It's a bit cathartic and allows my brain to simply output whatever is in it. Sometimes for good; oft times, not.
So, the point, was that we need to realize when we are in a down time. By down time, I mean that our head is on straight, we can see into the future, even if its only a short distance, and we can seem to see clearly. These moments pop up at the rarest times. I've had them on a Monday afternoon. Rarely on a Friday. They tend to be elusive and are controlled by some puppet master who's schedule is random and haunting. Make a practice of watching for the signs of that moment approaching, and take advantage of it. When the moment is upon you, shirk everything, see clearly into your future, and have some tasks that you can perform while experiencing this short period of clearheadedness. It might be a good idea to keep a journal or even sticky note of tasks. When you realize you are living in the proper moment, grab your list, and start cranking out tasks.
The things that should be on your list are those things that will make your life easier. In your environment, you have hurdles that occur all the time. Something that helps you identify, monitor, measure and overcome those hurdles are highest priority. Let me make a simple suggestion. We have replication in our environment. 2 distinct types of replication. This is monitored by another group via tools like sitescope. However, for me to know the exact level of latency, can greatly improve my time and direction of action. I created a script that would report to me latency for a given threshold. However, we have 4 servers that can report latency for a few different systems. I finally made 4 scripts, hardcoded the sql to work for each environment, added them to a SSMS project, with the connections to each set. Now, I can open script 1, and execute it. It tells me whats going on. I then can repeat this for 3 other scripts. All very similar, but no need to change connections, copy 1 script to run elsewhere. Simple. This is just one idea that has helped me out, because I do not have to think about it, and can quickly produce data to measure statuses, allowing me to jump into action quicker.
The reason that this comes to light now, is that when we had an incident, I had some of these things already prepped, and was more nimble. However, there were some I still do not have, and these caused struggle. In a perfect world, we'd never struggle. We'd always have all the tools on hand to assist us.
Make your list. Keep it handy. When the winds of mood hit you, act upon them. Share these with others, and build your toolbox. When something happens, you will be ready, more ready than you have ever been. Each iteration of this will propel you forward to more successes.
Monday, June 22, 2009
Spend a month with me on my deserted island
I was tagged by Grant Fritchey for this latest viral quiz.
I welcome him to come visit my current home state anytime. I've been having so much fun at work lately and trying to play when not at work, that I just barely got to answering the quiz.
Here are the Quiz details
“So You’re On A Deserted Island With WiFi and you’re still on the clock at work. Okay, so not a very good situational exercise here, but let’s roll with it; we’ll call it a virtual deserted island. Perhaps what I should simply ask is if you had a month without any walk-up work, no projects due, no performance issues that require you to devote time from anything other than a wishlist of items you’ve been wanting to get accomplished at work but keep getting pulled away from I ask this question: what would be the top items that would get your attention?”
This is an interesting little question. What would I do if I could do whatever I want? Let's assume that I have a brain lapse and do not take any of this time to enjoy the island i'm on. Nor do I decide to spend any time with my family, as I assume that I am alone here. for some reason, all that I want to do is work. Now that we are in the correct frame of mind, let's proceed.
One of the things that I want to do more of is write. It's why I blog, but I often don't take enough time to blog/article/so on. Given time, I'd like to spend more time doing this task. However, I know I would not be able to spend the entire month doing this. Let's say that I would carve out some needed time to do this task.
When the "fit hits the shan", I have often felt unprepared with my scripts and tools to dig into the source of the problems. I have built quite an arsenal of favorite scripts that assist me in this endeavor. But I do find myself adapting them to situations on occasion. I would like to spend some time cleaning up these scripts, making some more, even making some other tools/apps/and so on. Prepping these items, documenting them, practicing with them, are all valuable ways to spend my time.
We use a third party replication tool called GoldenGate. I have dealt with this tech a lot, but not on a very deep level yet. I would love to spend quite a bit of time digging into the tool. Making some new tools that interfaced with it, to gather specific statuses, perform pre-determined tasks. There are ways that I would like to make our jobs easier when we deal with this tech that we currently do not have. Spending time with this task would ensure that I have more time in the future.
Learning new things. I would love to learn some new things that I simply have not gotten under my belt yet. Powershell. DMV's. New features of 2008. Performance monitoring. Basically, all the things I dont know yet. This list is pretty massive, so I should simply take it one item at a time, and get one under my belt as it comes along.
The list above is obviously an odd one, with distinct items that have little cross-over. I would spend a bit of time on each. In reality, I should apply percentages to each, and be anal about how much time I do spend on each, to maximize my effectiveness. Or maybe, each day, i'll simply work on whichever one I want. after all, its my list, my priorities and my desert island.
I will tag the following fine folks to continue on with this viral storyline.
Andy Leonard (@AndyLeonard)
Chris Shaw (@SQLShaw)
Pat Wright (@SqlAsylum)
I welcome him to come visit my current home state anytime. I've been having so much fun at work lately and trying to play when not at work, that I just barely got to answering the quiz.
Here are the Quiz details
“So You’re On A Deserted Island With WiFi and you’re still on the clock at work. Okay, so not a very good situational exercise here, but let’s roll with it; we’ll call it a virtual deserted island. Perhaps what I should simply ask is if you had a month without any walk-up work, no projects due, no performance issues that require you to devote time from anything other than a wishlist of items you’ve been wanting to get accomplished at work but keep getting pulled away from I ask this question: what would be the top items that would get your attention?”
This is an interesting little question. What would I do if I could do whatever I want? Let's assume that I have a brain lapse and do not take any of this time to enjoy the island i'm on. Nor do I decide to spend any time with my family, as I assume that I am alone here. for some reason, all that I want to do is work. Now that we are in the correct frame of mind, let's proceed.
One of the things that I want to do more of is write. It's why I blog, but I often don't take enough time to blog/article/so on. Given time, I'd like to spend more time doing this task. However, I know I would not be able to spend the entire month doing this. Let's say that I would carve out some needed time to do this task.
When the "fit hits the shan", I have often felt unprepared with my scripts and tools to dig into the source of the problems. I have built quite an arsenal of favorite scripts that assist me in this endeavor. But I do find myself adapting them to situations on occasion. I would like to spend some time cleaning up these scripts, making some more, even making some other tools/apps/and so on. Prepping these items, documenting them, practicing with them, are all valuable ways to spend my time.
We use a third party replication tool called GoldenGate. I have dealt with this tech a lot, but not on a very deep level yet. I would love to spend quite a bit of time digging into the tool. Making some new tools that interfaced with it, to gather specific statuses, perform pre-determined tasks. There are ways that I would like to make our jobs easier when we deal with this tech that we currently do not have. Spending time with this task would ensure that I have more time in the future.
Learning new things. I would love to learn some new things that I simply have not gotten under my belt yet. Powershell. DMV's. New features of 2008. Performance monitoring. Basically, all the things I dont know yet. This list is pretty massive, so I should simply take it one item at a time, and get one under my belt as it comes along.
The list above is obviously an odd one, with distinct items that have little cross-over. I would spend a bit of time on each. In reality, I should apply percentages to each, and be anal about how much time I do spend on each, to maximize my effectiveness. Or maybe, each day, i'll simply work on whichever one I want. after all, its my list, my priorities and my desert island.
I will tag the following fine folks to continue on with this viral storyline.
Andy Leonard (@AndyLeonard)
Chris Shaw (@SQLShaw)
Pat Wright (@SqlAsylum)
Monday, June 15, 2009
What I Learned at PASS
There’s a contest going on at PASS looking for answers to “Best Thing I Learned at PASS”. I have been busy enough that I kept putting this on the back burner. But it's time to put in my 2-cents.
Since the contest has a size limit, I am partitioning the story below from the rest of this blog entry.
Contest Entry starts here
--------------------------
Let’s start at the beginning. I wanted to learn more about SQL Server, and found a local User Group, and attended.
After a few meetings, I got to know a few people, including the President. Having these contacts, and being able to ask questions of these local ‘knowledge stores’ when I needed help was priceless. If the story ended there, it would already be a success story. I had networked and learned. I was a better DBA for it.
But that’s not the end. The President told me that I should go to PASS. Since I trusted him already, I went. My family came with me to Florida, and went to DisneyWorld, as I went to PASS. I remember being alone with people all around me. But I soon noticed tons of people, just like me, wanting to learn. During the conference, I saw a few people that I knew, and recognized some names from books I had read. Soon, I realized that all the people attending and speaking, were just like me. This is the 1st great thing that I learned; there are no experts that are better than me, they are people just like me, they just learned this stuff earlier. Now they are sharing with the rest of us. I too can learn what they know. The quantity of knowledge and contacts I have gained because I attended PASS cannot be measured. And that’s why we are all here at PASS. To learn and to network.
--------------------------
Contest Entry ends here
I just wanted to say a few more words in regards to PASS summits that wouldnt fit in the contest.
I have been to many PASS summits, as many as my employer has allowed. Some times, my employer has not allowed it. This has been a source of frustration to me. This annual event is where I get to join up with others of my kind, and learn from them. This has increased my knowledge so much. I hope that i get to go this year, and in future years. Regardless of attendance, I am an avid volunteer in various pieces of the PASS puzzle. This volunteerism gives me a satisfaction that i cannot gain elsewhere, especially at work. Its a great opportunity. All should attend and learn and network and better themselves. Then return and repeat.
Since the contest has a size limit, I am partitioning the story below from the rest of this blog entry.
Contest Entry starts here
--------------------------
Let’s start at the beginning. I wanted to learn more about SQL Server, and found a local User Group, and attended.
After a few meetings, I got to know a few people, including the President. Having these contacts, and being able to ask questions of these local ‘knowledge stores’ when I needed help was priceless. If the story ended there, it would already be a success story. I had networked and learned. I was a better DBA for it.
But that’s not the end. The President told me that I should go to PASS. Since I trusted him already, I went. My family came with me to Florida, and went to DisneyWorld, as I went to PASS. I remember being alone with people all around me. But I soon noticed tons of people, just like me, wanting to learn. During the conference, I saw a few people that I knew, and recognized some names from books I had read. Soon, I realized that all the people attending and speaking, were just like me. This is the 1st great thing that I learned; there are no experts that are better than me, they are people just like me, they just learned this stuff earlier. Now they are sharing with the rest of us. I too can learn what they know. The quantity of knowledge and contacts I have gained because I attended PASS cannot be measured. And that’s why we are all here at PASS. To learn and to network.
--------------------------
Contest Entry ends here
I just wanted to say a few more words in regards to PASS summits that wouldnt fit in the contest.
I have been to many PASS summits, as many as my employer has allowed. Some times, my employer has not allowed it. This has been a source of frustration to me. This annual event is where I get to join up with others of my kind, and learn from them. This has increased my knowledge so much. I hope that i get to go this year, and in future years. Regardless of attendance, I am an avid volunteer in various pieces of the PASS puzzle. This volunteerism gives me a satisfaction that i cannot gain elsewhere, especially at work. Its a great opportunity. All should attend and learn and network and better themselves. Then return and repeat.
Monday, June 08, 2009
Turning off / on SQL Server Agent
Today, i was writing a script to detach and attach some databases. We have a set of dbs that are in 2 modes now, with 2 copies of dbs to support those modes. I needed to quickly be able to 'toggle' between them. In 1 mode, the SQL Server Agent needed to be disabled, while in the other mode, it needs to remain on.
So, I searched my local drive for a solution, some script or document. Nothing.
I turned to google. Simultaneously turned to Twitter. I ended up at SQL Server Central, and found some folks talking about it.
Ultimately, i opened up Profiler and turned a local machine db's SQL Agent on and off, while tracing the activity. After a few failed attempts, i narrowed it down to these pieces of code.
--off
EXECUTE master.dbo.xp_sqlagent_monitor 'STOP', NULL, 0, 1
exec sys.sp_configure @configname = N'Agent XPs', @configvalue = 0
reconfigure with override
--on
EXECUTE master.dbo.xp_sqlagent_monitor 'START', N'', 1
exec sys.sp_configure @configname = N'Agent XPs', @configvalue = 1
reconfigure with override
I would execute the off, while Agent was on, and then have to refresh SSMS to see the change. Sure enough it was off. I'd then execute the on code, refresh, and saw it was on. Viola! I exclaimed in a loud voice my manliness and heorism to all around me. Thats when a small voice from the next cube reminded me that the server I was to 'toggle' was a Cluster, and that the SQL Agent needed to be altered from Cluster Administrator.
Oh well. I learned something. Now I want to know if it will work with Clusters. But i do not have the means to test that thought, since the box I was toggling is live, and i shouldnt be testing on it. Someday, I'll get a better test, or find out the answer, and post it here.
So, I searched my local drive for a solution, some script or document. Nothing.
I turned to google. Simultaneously turned to Twitter. I ended up at SQL Server Central, and found some folks talking about it.
Ultimately, i opened up Profiler and turned a local machine db's SQL Agent on and off, while tracing the activity. After a few failed attempts, i narrowed it down to these pieces of code.
--off
EXECUTE master.dbo.xp_sqlagent_monitor 'STOP', NULL, 0, 1
exec sys.sp_configure @configname = N'Agent XPs', @configvalue = 0
reconfigure with override
--on
EXECUTE master.dbo.xp_sqlagent_monitor 'START', N'', 1
exec sys.sp_configure @configname = N'Agent XPs', @configvalue = 1
reconfigure with override
I would execute the off, while Agent was on, and then have to refresh SSMS to see the change. Sure enough it was off. I'd then execute the on code, refresh, and saw it was on. Viola! I exclaimed in a loud voice my manliness and heorism to all around me. Thats when a small voice from the next cube reminded me that the server I was to 'toggle' was a Cluster, and that the SQL Agent needed to be altered from Cluster Administrator.
Oh well. I learned something. Now I want to know if it will work with Clusters. But i do not have the means to test that thought, since the box I was toggling is live, and i shouldnt be testing on it. Someday, I'll get a better test, or find out the answer, and post it here.
Monday, May 25, 2009
Memorial Day
My grandpa served in the military, many, many years ago. My father was spared the draft, because I was to be born soon, and he got a bye and didn't goto Vietnam. I don't have uncles or other close relatives that served in the military. I do have a strong desire to support and honor those that have served. I have often reflected on their continued service and protection of our way of life, and felt overwhelmed. I have a neighbor that served in Vietnam, in the motor pool He tells stories of the building next to his, where he slept, being destroyed by enemy fire. The entire building was leveled, while his stood unscathed. We call have stories that we can tell of people we know that served.
Today, as we stayed home from work, and before we went out to play on this vacation day, I logged into the internet and hit Facebook. I saw a couple posts from friends of mine, talking about another friend I went to school with. We were friends. This person, Jason George, was a year younger than me, and we hung in the same circles. After high school, he went on to Westpoint, and more and more education. I only recently reconnected with him over Facebook and we had a few interactions. It was nice to reconnect and see what life had brought him. A while after we reconnected, he was called up to serve again. He spent some time on Facebook trying to get his life here in order, before being sent out to his assignments in Iraq. In April, he arrived in Iraq, and on the 5th of May he arrived in Iraq. While doing foot patrol last week, he, along with 2 other soldiers and 25 Iraqi citizens were killed by a suicide bomber.
This I learned on the morning of Memorial Day. I honor his memory. I will always think of him when I see someone wearing shorts and a sweater. Certain things will always remind me of him, even though we had lost contact these past few years. He bettered himself, and worked hard to gain skills and knowledge. He used this in his professional life as well as his time in the military. He selflessly went over there to assist in the rebuilding of their economy. He hoped to use his skills and knowledge to make it a better place. He put on a soldiers uniform, and tried to make the world a better place. He died doing this. I will always remember him, and especially on this holiday, Memorial Day.
Read his story here.
Today, as we stayed home from work, and before we went out to play on this vacation day, I logged into the internet and hit Facebook. I saw a couple posts from friends of mine, talking about another friend I went to school with. We were friends. This person, Jason George, was a year younger than me, and we hung in the same circles. After high school, he went on to Westpoint, and more and more education. I only recently reconnected with him over Facebook and we had a few interactions. It was nice to reconnect and see what life had brought him. A while after we reconnected, he was called up to serve again. He spent some time on Facebook trying to get his life here in order, before being sent out to his assignments in Iraq. In April, he arrived in Iraq, and on the 5th of May he arrived in Iraq. While doing foot patrol last week, he, along with 2 other soldiers and 25 Iraqi citizens were killed by a suicide bomber.
This I learned on the morning of Memorial Day. I honor his memory. I will always think of him when I see someone wearing shorts and a sweater. Certain things will always remind me of him, even though we had lost contact these past few years. He bettered himself, and worked hard to gain skills and knowledge. He used this in his professional life as well as his time in the military. He selflessly went over there to assist in the rebuilding of their economy. He hoped to use his skills and knowledge to make it a better place. He put on a soldiers uniform, and tried to make the world a better place. He died doing this. I will always remember him, and especially on this holiday, Memorial Day.
Read his story here.
Friday, May 15, 2009
Releasing Database Objects : Release Management Process
All this week, I have been working on two large releases to our database topology. We have a complicated system, at least when it comes to releasing schema changes. We use a third party replication system that doesnt replicate DDL changes. So, we have to go thru some hoops to push changes out to the systems. And there are multiple systems, some being HOT, others WARM, and so on. We also have multiple environments, Prod, Stage, Integration, and so on.
When our Development group pushes changes out, they are in an Agile mode of developement, and often do not know the actual dates they want to push things out. Often, we'll have slippage of dates, and projects leapfrogging one another. Being on the Service Delivery side of the fence, across the field from the Development group, and apparantly speaking an entirely different dialect of the IT language we all speak, we end up having issues. This week was one of those. A lot of time was spent digging into the release requirements, seeing how this could best be applied to our systems, creating release plans to perform the individual steps, and actually testing these steps in a test environment that mimics our multiple server Production environment. It takes a bit of time to prep the environment, and ensure that the release is ready to be performed, then to actually perform it. Once done, reversing what we just did, and doing it again often occurs.
Needless to say, we are always trying to make the process better, cleaner, smoother, and more effective. The whole idea now is to spend this time now, before a release, and test it over and over, to ensure it succeeds on the actual release time. So far, so good. We are making good progress. The last release, was one of the larger ones we've ever done, and we had no failures or rollbacks.
The biggest problem with these releases and processes? Not the Tech. Not the database. Not the data. Its people dealing with other people. I alluded to it earlier with the IT language quip. But this seems to be the crux of any issues. And I do not stand on the fence saying that those people over there are he fault. Its human interactions and communications that is the problem.
Picking a date and time for a release seems to be an almost impossible task. We currently can pick any day but Friday. Prod releases occur after 6pm, while Stage and all other lower environments can happen any day, any time. And they often do, regardless of the time that was set and agreed upon. Things happen, times slip, often dates slip. Every other scheduled time and date subsequent to the first slippage naturally occurs.
If you have read this far, and was secretly hoping that you'd stumble upon the solution to the above issues, i fear i have to dissapoint you. I do not have them. Each time I think I do, I find that I end up introducing issues that others complain about. Often this is an unforseen side effect to my statements. What I do hope that happens is that if you have read this far, you have applied this story to your systems, and have seen discrepancies between mine and yours and have ways to improve ours. Or, maybe you actually had some ideas of how to alter a release management process and want to share.
So, lets talk, discuss and share.
When our Development group pushes changes out, they are in an Agile mode of developement, and often do not know the actual dates they want to push things out. Often, we'll have slippage of dates, and projects leapfrogging one another. Being on the Service Delivery side of the fence, across the field from the Development group, and apparantly speaking an entirely different dialect of the IT language we all speak, we end up having issues. This week was one of those. A lot of time was spent digging into the release requirements, seeing how this could best be applied to our systems, creating release plans to perform the individual steps, and actually testing these steps in a test environment that mimics our multiple server Production environment. It takes a bit of time to prep the environment, and ensure that the release is ready to be performed, then to actually perform it. Once done, reversing what we just did, and doing it again often occurs.
Needless to say, we are always trying to make the process better, cleaner, smoother, and more effective. The whole idea now is to spend this time now, before a release, and test it over and over, to ensure it succeeds on the actual release time. So far, so good. We are making good progress. The last release, was one of the larger ones we've ever done, and we had no failures or rollbacks.
The biggest problem with these releases and processes? Not the Tech. Not the database. Not the data. Its people dealing with other people. I alluded to it earlier with the IT language quip. But this seems to be the crux of any issues. And I do not stand on the fence saying that those people over there are he fault. Its human interactions and communications that is the problem.
Picking a date and time for a release seems to be an almost impossible task. We currently can pick any day but Friday. Prod releases occur after 6pm, while Stage and all other lower environments can happen any day, any time. And they often do, regardless of the time that was set and agreed upon. Things happen, times slip, often dates slip. Every other scheduled time and date subsequent to the first slippage naturally occurs.
If you have read this far, and was secretly hoping that you'd stumble upon the solution to the above issues, i fear i have to dissapoint you. I do not have them. Each time I think I do, I find that I end up introducing issues that others complain about. Often this is an unforseen side effect to my statements. What I do hope that happens is that if you have read this far, you have applied this story to your systems, and have seen discrepancies between mine and yours and have ways to improve ours. Or, maybe you actually had some ideas of how to alter a release management process and want to share.
So, lets talk, discuss and share.
Thursday, May 07, 2009
Social Networking : It does work
Today, as I looked at my RSS feed, I noticed a new tweep (@AdamMechanic) had a funny comment about twitter. He basically said that he had 'swalloed the twitter-colored pill. With reference to the Matrix, and the blue vs red colored pill scene. So, I thought, what colored pill would it be? The first color that came to my mind was my favorite color of all time. Chartreuse. This color has been a part of my life for as long as I can remember. Many things became painted that color. I would hunt it out and purchase items with it. Then it became a fashionable color, and I started seeing others using it. Many more products were available. This too, like all things, waned and I was left alone again with my favorite color.
Back to twitter, and the comment I made about this being the color of the twitter-colored pill. Back and forth a couple comments flew between me and he about this color, and i learned something new. Apparently, Chartreuse is a color halfway between yellow and green that was named because of its resemblance to the green color of one of the French liqueurs called green chartreuse, introduced in 1764. 1764? This, my favorite color for 20 plus years, a color I had tried to learn about and incorporate into my life, has been around that long and was named after a liqueur? I had no idea. I learned something new. I was amazed.
So, even this has nothing to do with SQL, or may career, it does have to do with the power of talking to people, and being open to learning new things. This technique has been applied to my career and SQL in specific. These are the reasons I blog and joined twitter. But be careful. You must do more than just your career and intended goal of twitter communication to make it work. Expand your communication with others, talk about all kinds of things. Not all the time, but often. Form that ever so slight connection with another human on a level that they can share something with you, and vice-a-versa. Repeat the process with this person and many others.
Then, someday, you tool will have in your toolbox the powerful tool that twitter and social networking can be.
As a side note, later that same morning, I had a simple question that was not SQL related. I posed it on twitter, and got 8 responses 6 people withing 15 minutes. Its like a room full of experts that I can stand in front of and ask a question. Some will respond. Others may not. But you will find that when its your turn to the in the audience, and you can answer, and you do, the answers you will soon need will flow your direction when the tables are turned.
So, join in to the conversation. Speak up. Answer questions. Ask questions. Get involved and tell your tales of how your container of knowledge has increased by your interacting with others.
Back to twitter, and the comment I made about this being the color of the twitter-colored pill. Back and forth a couple comments flew between me and he about this color, and i learned something new. Apparently, Chartreuse is a color halfway between yellow and green that was named because of its resemblance to the green color of one of the French liqueurs called green chartreuse, introduced in 1764. 1764? This, my favorite color for 20 plus years, a color I had tried to learn about and incorporate into my life, has been around that long and was named after a liqueur? I had no idea. I learned something new. I was amazed.
So, even this has nothing to do with SQL, or may career, it does have to do with the power of talking to people, and being open to learning new things. This technique has been applied to my career and SQL in specific. These are the reasons I blog and joined twitter. But be careful. You must do more than just your career and intended goal of twitter communication to make it work. Expand your communication with others, talk about all kinds of things. Not all the time, but often. Form that ever so slight connection with another human on a level that they can share something with you, and vice-a-versa. Repeat the process with this person and many others.
Then, someday, you tool will have in your toolbox the powerful tool that twitter and social networking can be.
As a side note, later that same morning, I had a simple question that was not SQL related. I posed it on twitter, and got 8 responses 6 people withing 15 minutes. Its like a room full of experts that I can stand in front of and ask a question. Some will respond. Others may not. But you will find that when its your turn to the in the audience, and you can answer, and you do, the answers you will soon need will flow your direction when the tables are turned.
So, join in to the conversation. Speak up. Answer questions. Ask questions. Get involved and tell your tales of how your container of knowledge has increased by your interacting with others.
Wednesday, May 06, 2009
GoldenGate replication issues - No More?
Before today, we have not had good luck releasing schema changes to our environment without affecting our GoldenGate replication topology adversely. All ill effects have been surmountable, but stressful, nonetheless. We have a Hot, Warm and DR set of servers that has GoldenGate sending the data from Hot to Warm and Hot to DR. Most of the data is replicated in this fashion, and its fast. We have very little latency, compared to Native Replication we have used in the past.
But doing a release has always been a scary proposition. We would turn things back on, only to have massive errors, and time spent fixing the errors. We have tested and tested and performed more tests to ensure that we have a plan of attack that will succeed.
Today was the day! It all paid off!! We now have a process that allows us to block a table, perform a schema change to it, and through appropriate steps, stop and restart replication where needed. Many steps are needed to perform this, and in this case, it was a two man job to perform the release. The bulk was done in about 14 minutes, with us taking our time, being cautious, and validating our changes. The rest of the release proceeded as a simple release should, and went off without a hitch.
This is a happy day. We have a successful release plan to update schema on live tables, being replicated with GoldenGate replication, without bring it down upon our heads. Yeah.
But doing a release has always been a scary proposition. We would turn things back on, only to have massive errors, and time spent fixing the errors. We have tested and tested and performed more tests to ensure that we have a plan of attack that will succeed.
Today was the day! It all paid off!! We now have a process that allows us to block a table, perform a schema change to it, and through appropriate steps, stop and restart replication where needed. Many steps are needed to perform this, and in this case, it was a two man job to perform the release. The bulk was done in about 14 minutes, with us taking our time, being cautious, and validating our changes. The rest of the release proceeded as a simple release should, and went off without a hitch.
This is a happy day. We have a successful release plan to update schema on live tables, being replicated with GoldenGate replication, without bring it down upon our heads. Yeah.
Thursday, April 23, 2009
Are we there yet?
When I was growing up, while on trips with the family, we'd always ask my dad if we were there yet. For some reason, we needed to know how much longer we'd be in the vehicle. My dad's answer was always the same. A half hour. This seemed to satisfy us for a while. When we repeated the request, the answer was the same, regardless of the actual time.
Obviously we stopped believing the answer with time. But that didn't prevent us from asking and more importantly, from wanting to know. My own children ask similar questions. My son likes to know what we are doing, or watching, and so on. We humans like to know that things have a finite length of existence. We like to plan things. Start them. Know when they will end or when they will be over.
Recall when you would copy a file in older versions of Windows, the flying file icon and the guessed completion time. It aggravated me to find out that this was just a guess, and was often wrong. Why couldn't it tell me the correct duration? Why couldn't I be privy to this knowledge. It would help me to plan what I would do next, based on how long this action could take.
Where am I going with this? The other day at work, we were performing some tasks. We kicked off the task. As soon as it was running, we wanted to know how long it would take to complete. Sometimes we can lean on scripts and processes that we have previously written. When we do not have canned scripts or tools ready, we often panic. We will try to invent something on the spot. In a few occasions I have asked the twitterverse for assistance, and received help there. Other coworkers have provided help as well. But each time, I wanted to know much sooner than I was able too, when it would be done. What I should have done was taken the time before hand, to create the needed script or tool or means to determine progress, prior to kicking off the process. This is not always an option. Its a good idea though.
Once the process has completed, I want so desperately to spend time writing these scripts or tools. If I can, I will, and save them for the next time. Keeping these tools handy will better allow me to answer these questions next time. Take the time now to better prepare these tools. Do it when your head is clear, and you can write them without the pressure of a running process. Share them with others, coworkers and the SQL community.
Ideas
backups, native and 3rd party
bcp or bulk insert processes
dts/ssis packages and its steps
reindexing scripts
attaching/restoring database
These are the ones that appear on the tip of my tongue. You will have others that ring a bell for you. Identify them now. Come up with the tools to answer that burning question, 'Are we there yet?'
Obviously we stopped believing the answer with time. But that didn't prevent us from asking and more importantly, from wanting to know. My own children ask similar questions. My son likes to know what we are doing, or watching, and so on. We humans like to know that things have a finite length of existence. We like to plan things. Start them. Know when they will end or when they will be over.
Recall when you would copy a file in older versions of Windows, the flying file icon and the guessed completion time. It aggravated me to find out that this was just a guess, and was often wrong. Why couldn't it tell me the correct duration? Why couldn't I be privy to this knowledge. It would help me to plan what I would do next, based on how long this action could take.
Where am I going with this? The other day at work, we were performing some tasks. We kicked off the task. As soon as it was running, we wanted to know how long it would take to complete. Sometimes we can lean on scripts and processes that we have previously written. When we do not have canned scripts or tools ready, we often panic. We will try to invent something on the spot. In a few occasions I have asked the twitterverse for assistance, and received help there. Other coworkers have provided help as well. But each time, I wanted to know much sooner than I was able too, when it would be done. What I should have done was taken the time before hand, to create the needed script or tool or means to determine progress, prior to kicking off the process. This is not always an option. Its a good idea though.
Once the process has completed, I want so desperately to spend time writing these scripts or tools. If I can, I will, and save them for the next time. Keeping these tools handy will better allow me to answer these questions next time. Take the time now to better prepare these tools. Do it when your head is clear, and you can write them without the pressure of a running process. Share them with others, coworkers and the SQL community.
Ideas
backups, native and 3rd party
bcp or bulk insert processes
dts/ssis packages and its steps
reindexing scripts
attaching/restoring database
These are the ones that appear on the tip of my tongue. You will have others that ring a bell for you. Identify them now. Come up with the tools to answer that burning question, 'Are we there yet?'
Wednesday, April 22, 2009
Release Management - how do you do it?
I've been in different IT shops with many different ways of releasing code to the database. Some have been very loose in their security and processes. Simply pushing code thru a sql tool straight into production, without even testing it in other environments. Sometimes it was written by the DBA or by a developer.
Other IT shops have had much more strict release management processes. Change control boards meet to discuss the changes and approve or disapprove of them. Actions occur based on these decisions.
Still other IT shops have had many layers of systems in the which sql code was released, tested, approved. Different groups pushing code to different servers along the way. Production pushes being the most complex, with a lot of people involved on conference calls to ensure proper execution of planned steps.
I have heard of the perfect world, where everything had been taken care of for us, and at the push of a button, code is released in a controlled fashion, with no problems whatsoever. none of us live there. So lets talk about the world we live in.
For production releases, we have instituted a process that forces as little human interactions with the code as possible. A tool had been created that executes the sql code. This code is stored in a source control system. There is a single document that describes the actual files to be pushed, with filenames. The files are all listed out in this file, within specific groupings and the tool can parse this data and manage it for us. We simply load a production file, and the tool pulls in all the needed files. We can select specific ones to be released, or release them all at once. We simply indicate the server to be released too, and hit a button.
This sounds easy, but it still has some complexities. With certain types of code that will be pushed, we have to do it in a specific fashion. For example, data that needs to be released should only go to certain servers. Pushing ad-hoc sql is not allowed. We've instituted a process for data changes to be included in a stored procedure. This proc is released, executed and dropped. I know what you are thinking, isn't this the same as a human executing the sql? Remember, this is one of the goals, removing the human interactions. The old way we'd do it was to execute the code in a sql tool. But we could select the wrong portion of code, or miss typed the proc name we released, or even put in the wrong parameters.
So, putting the SQL into a tool that performs the action removes that human interactions, the possibility of the DBA miss selecting portions of code. Putting the SQL code into a proc, releasing this to the appropriate database, executing it and dropping it, all from the release tool, makes it even more removed from the human interactions. By forcing this release to be performed and tested in multiple environments prior to production, we can be ensured that it should succeed, in production.
So far, so good. We've been able to successfully release code into all environments in the fashion with few goofups. Where previously we had instances that we executed code in a tool and caused issues. Performing a release is stressful enough. Why introduce more layers of problems with possible code issues.
Well, like it or not, thats the process we are supporting currently. There are parts i like about it, and parts i would like to alter, enhance, and so on. What I'd like to know is how others do their code pushes, mainly to production. Specifically, how you release data changes. There are few permutations to releasing a schema change, new objects, or security. Those are fairly cut and dried. But how we push data changes, I;d like to know how you do it.
Comment on your process, what you like, what you dislike, how you would do it in a perfect world. Lets all learn from each other.
Other IT shops have had much more strict release management processes. Change control boards meet to discuss the changes and approve or disapprove of them. Actions occur based on these decisions.
Still other IT shops have had many layers of systems in the which sql code was released, tested, approved. Different groups pushing code to different servers along the way. Production pushes being the most complex, with a lot of people involved on conference calls to ensure proper execution of planned steps.
I have heard of the perfect world, where everything had been taken care of for us, and at the push of a button, code is released in a controlled fashion, with no problems whatsoever. none of us live there. So lets talk about the world we live in.
For production releases, we have instituted a process that forces as little human interactions with the code as possible. A tool had been created that executes the sql code. This code is stored in a source control system. There is a single document that describes the actual files to be pushed, with filenames. The files are all listed out in this file, within specific groupings and the tool can parse this data and manage it for us. We simply load a production file, and the tool pulls in all the needed files. We can select specific ones to be released, or release them all at once. We simply indicate the server to be released too, and hit a button.
This sounds easy, but it still has some complexities. With certain types of code that will be pushed, we have to do it in a specific fashion. For example, data that needs to be released should only go to certain servers. Pushing ad-hoc sql is not allowed. We've instituted a process for data changes to be included in a stored procedure. This proc is released, executed and dropped. I know what you are thinking, isn't this the same as a human executing the sql? Remember, this is one of the goals, removing the human interactions. The old way we'd do it was to execute the code in a sql tool. But we could select the wrong portion of code, or miss typed the proc name we released, or even put in the wrong parameters.
So, putting the SQL into a tool that performs the action removes that human interactions, the possibility of the DBA miss selecting portions of code. Putting the SQL code into a proc, releasing this to the appropriate database, executing it and dropping it, all from the release tool, makes it even more removed from the human interactions. By forcing this release to be performed and tested in multiple environments prior to production, we can be ensured that it should succeed, in production.
So far, so good. We've been able to successfully release code into all environments in the fashion with few goofups. Where previously we had instances that we executed code in a tool and caused issues. Performing a release is stressful enough. Why introduce more layers of problems with possible code issues.
Well, like it or not, thats the process we are supporting currently. There are parts i like about it, and parts i would like to alter, enhance, and so on. What I'd like to know is how others do their code pushes, mainly to production. Specifically, how you release data changes. There are few permutations to releasing a schema change, new objects, or security. Those are fairly cut and dried. But how we push data changes, I;d like to know how you do it.
Comment on your process, what you like, what you dislike, how you would do it in a perfect world. Lets all learn from each other.
Wednesday, April 15, 2009
SQL Quiz : Who has been a great leader in your career and what made them a great leader?
I was tagged by Chris Shaw in his latest SQL Quiz.
As Chris mentioned, great leaders and great managers are not always embodied in the same person. I take this a bit further, and a person may even have flashes of being a great leader or manager or both, and not sustain it. It is difficult to sustain both, but it can be accomplished.
1 bad example was a boss I had recently. His idea was that his people needed training. They needed time set aside for said training. It was understood that you would find the time and get the training you could. This was rather vague and open ended. I completely agree that a company should allow its people receive training, in many different forms, and it should be allowed. The downfall was that no follow through occurred. It would have been better if there was a structure, suggestions, reporting, and so on, on our progress and training. But now. So, that would be an anti-example. But it was headed in the correct direction.
My suggestion here is to create a plan of action to follow through, if this is a goal that you as a manager have. Make it happen. Make it make a difference in the lives of your employees. Not just a 'talk about'.
Let me now give you a good example of a manager and leader. As DBA's, we often work strange hours. This lifestyle is difficult to get used too. I have been in many jobs in IT where I was expected to be in my desk between 8 and 5. If I was not at my desk, it was assumed I was not working. We know that this is not the case, most of the time. This habit was ingrained into me in such a fashion that I had a hard time with a job that required odd hours of work. Some weeks, I would end up working my normal block of 40 hours, only to find that I needed to work 10-20 hours after hours. The expectation that I had was that my boss would somehow 'know' what was going on, and reward me with comp time. As this perceived reward never materialized, I grew increasingly frustrated. This soon became apparent, to my manager. In the best way possible, I would describe my frustrations of how much I was working, how much extra, all the personal events that I was missing, and so on. His response took me off guard. He asked me why I had allowed this to occur. My response to this was, 'what a jerk!' He should have seen how hard I was working and given me that 'reward'. We went on to talk, and I learned some great lessons. He didn't feel that it was his job to ensure that I was not being overworked. He had laid the groundwork of this, set the policies, and expected us to comply. It was within me and under my control to comply and thus, live my work life appropriately.
Granted that this interaction seems short and enlightened here, it was more painful and grueling to work through in my head. The point was he was not only teaching me how to fish, but dumping me on the banks of a river, and letting me do it on my own.
He managed his employees expectations of a work/personal life balance. He lead with example. He expected us to simply comply and have a better life for it.
It has taken some practice, but its a much better life on this side of the fence because of it.
I guess my point here was that a great leader and manager can coexist. They have to see the problems, come up with solutions, continually manage the people until they became habitualized with the new way of doing it, then let them do it on their own. Then he would move onto the next task, and repeat. It has been an interesting journey to watch and travel. Work life balance has improved, moral has improved, quality of work has improved. And its not over. Its a continual battle.
I am tagging the following people.
Kendal Van Dyke (who was tagged by BrentO already)
Pat Wright
Tim Ford
As Chris mentioned, great leaders and great managers are not always embodied in the same person. I take this a bit further, and a person may even have flashes of being a great leader or manager or both, and not sustain it. It is difficult to sustain both, but it can be accomplished.
1 bad example was a boss I had recently. His idea was that his people needed training. They needed time set aside for said training. It was understood that you would find the time and get the training you could. This was rather vague and open ended. I completely agree that a company should allow its people receive training, in many different forms, and it should be allowed. The downfall was that no follow through occurred. It would have been better if there was a structure, suggestions, reporting, and so on, on our progress and training. But now. So, that would be an anti-example. But it was headed in the correct direction.
My suggestion here is to create a plan of action to follow through, if this is a goal that you as a manager have. Make it happen. Make it make a difference in the lives of your employees. Not just a 'talk about'.
Let me now give you a good example of a manager and leader. As DBA's, we often work strange hours. This lifestyle is difficult to get used too. I have been in many jobs in IT where I was expected to be in my desk between 8 and 5. If I was not at my desk, it was assumed I was not working. We know that this is not the case, most of the time. This habit was ingrained into me in such a fashion that I had a hard time with a job that required odd hours of work. Some weeks, I would end up working my normal block of 40 hours, only to find that I needed to work 10-20 hours after hours. The expectation that I had was that my boss would somehow 'know' what was going on, and reward me with comp time. As this perceived reward never materialized, I grew increasingly frustrated. This soon became apparent, to my manager. In the best way possible, I would describe my frustrations of how much I was working, how much extra, all the personal events that I was missing, and so on. His response took me off guard. He asked me why I had allowed this to occur. My response to this was, 'what a jerk!' He should have seen how hard I was working and given me that 'reward'. We went on to talk, and I learned some great lessons. He didn't feel that it was his job to ensure that I was not being overworked. He had laid the groundwork of this, set the policies, and expected us to comply. It was within me and under my control to comply and thus, live my work life appropriately.
Granted that this interaction seems short and enlightened here, it was more painful and grueling to work through in my head. The point was he was not only teaching me how to fish, but dumping me on the banks of a river, and letting me do it on my own.
He managed his employees expectations of a work/personal life balance. He lead with example. He expected us to simply comply and have a better life for it.
It has taken some practice, but its a much better life on this side of the fence because of it.
I guess my point here was that a great leader and manager can coexist. They have to see the problems, come up with solutions, continually manage the people until they became habitualized with the new way of doing it, then let them do it on their own. Then he would move onto the next task, and repeat. It has been an interesting journey to watch and travel. Work life balance has improved, moral has improved, quality of work has improved. And its not over. Its a continual battle.
I am tagging the following people.
Kendal Van Dyke (who was tagged by BrentO already)
Pat Wright
Tim Ford
Tuesday, April 07, 2009
SSWUG Virtual Conference
Yesterday, I had the distinct pleasure and privilege to goto Tucson Arizona and present on some topics for their Virtual Conference occurring in April 22, 23 and 24. Back in December, Chris Shaw contacted me and asked me if I would be interested in speaking for their organizations virtual conference. I was humbled and surprised to be requested. I prepped a bunch of presentation ideas, abstracts, and submitted them to Chris. I had 7 accepted, 4 for the Virtual Conference, and the others for the ITUplink. So, for the past few months, I have been preparing presentations, practicing, adding demos, and trying to perfect them. It does seem that each time I look at a slide deck, I find a way to alter it, perfect it a bit more. At some point, I have too stop editing them, and simply give the presentation.
I had the chance to practice a couple of these on my User Group, and glad that I did. The more practice, the better. I worked out some kinks, and got further ready to present to the larger audience. Even though, while doing it, there is no audience. You have to imagine it. They will be there, but not when you are recording it. Practicing in front of an audience, large or small, really helps. But presenting to no one is useful too. I've presented a few times to a phone. Or a live meeting with no one talking to you or giving feedback. Each type of presentation is unique and rewarding in its own way. But each is very different.
Presenting for the SSWUG organization is in its own sphere, similar to the other ways described, but unique as well. Having to look into a camera, well, thats something that is not normal for the DBA. If anything, I am usually behind the camera in my personal life, taking pictures of my family. I rarely end up in front of the camera. And especially not in front of nice cameras like the ones at Bits on the Wire. And 3 of them. One on the right side, one on the left, and in the far left, another one that is stuck in the corner, and apparently black & white. While you are presenting, and trying to not lean on the table in front of you, and remember where you are supposed to stand, and the fact that you have no audience to give you feedback, you also have to remember which camera to look into. If you forget, the fine folks in the recording booth will flash a light on one of the cameras to remind you which one you should be looking into. In between the two color cameras, there is a screen with a clock. It lets you know how much time you have used. I would end up looking at it on occasion, and out of the corner of my eye, see a flashing blue light reminding me the camera to look at.
I should backup and describe my experience more fully, though not too detailed. Just the highlights. I chose to film on a Monday, so that I didnt eat into too much work time off. I had to fly out Sunday night to ensure that I reached Tucson to film on Monday. I got in late Sunday, went down the stairs of the airport, and was greated by a gentleman that gave me a ride to the hotel. I had secretly hoped I'd see my name on a paper, cause I've never had that happen to me yet. But a paper with Bits on the Wire was close enough. After getting into the hotel, I had some time to chill and get to sleep. Not terribly eventful. The next morning, I had the entire morning to do nothing, as I was to report to the studio around 1pm. Waking up late seems lie a luxury these days, and I took full advantage of that Monday morning. Waking up late, wondering downstairs to get a free breakfast, with no one telling me what to do, seemed like the most glorious of vacations. After eating, I returned to my hotel room and prepped my presentations. As I have mentioned earlier, I kept making more and more changes.
Before I knew it, it was time to shower, grab some food and then meet my ride to the offices. Once there, I was able to meet Stephen Wynkoop and the rest of the crew. Stephen even sat with me and interviewed me for a bit, making me feel like a celebrity he was excited to finally meet, just as I felt it was to meet him, finally. We had a great little discussion, followed by me jumping right into my presentations. After a quick practice start to ensure I knew which camera to look at (I would later forget), we jumped into the real presentations. The first one that I recorded was the most prepared and ready. This was planned by me, so that I could get an easy one under my belt, before struggling a bit on some parts of the other ones. One after another we cranked them out. In between I would grab my BlackBerry, send a quick tweet, and check for missed calls or emails. Just a quick glance, then back to the sessions and onto the next one. Before I knew it, I had finished 4 presentations, taking close to 5 hours of time. Whew. It was pretty intense, pretty enjoyable, pretty wild.
Once it was all over, a euphoria overcame me. I had one of those natural highs for a bit. I tried to sit back at the hotel, but became bored with TV. Hungry. Yeah, thats it. Venturing out into the outside world, I soon found food. At sometime afterwards, I started to come down from my natural high. Work crept into my world at this time, and I spent a few hours connected to work via VPN until it was bed time. Rising early the next day, I went to the airport earlier than i needed too, and awaited my flight. Once on the ground again in SLC, it was back to normal and back to work.
All the while, before, during and after, I tweeted my journey via Ping.fm. Posting went to Facebook as well as LinkedIn and Twitter. People in all those worlds were able to follow my progress and adventure, adding to my trip with their insights and suggestions. I love being alone, yet connected to so many people, all at the same time.
I hope that my sessions prove to be helpful for people, once they are released in the virtual conference. In the meantime, take a peek at what has been posted as a preview of one of my sessions.
I have a discount code for the SSWUG Virtual Conference. You can register for the conference here and make sure you use my code 'SPVTBESP09'.
More information here : http://tjaybelt.blogspot.com/2009/02/sswug-vip-code.html
I had the chance to practice a couple of these on my User Group, and glad that I did. The more practice, the better. I worked out some kinks, and got further ready to present to the larger audience. Even though, while doing it, there is no audience. You have to imagine it. They will be there, but not when you are recording it. Practicing in front of an audience, large or small, really helps. But presenting to no one is useful too. I've presented a few times to a phone. Or a live meeting with no one talking to you or giving feedback. Each type of presentation is unique and rewarding in its own way. But each is very different.
Presenting for the SSWUG organization is in its own sphere, similar to the other ways described, but unique as well. Having to look into a camera, well, thats something that is not normal for the DBA. If anything, I am usually behind the camera in my personal life, taking pictures of my family. I rarely end up in front of the camera. And especially not in front of nice cameras like the ones at Bits on the Wire. And 3 of them. One on the right side, one on the left, and in the far left, another one that is stuck in the corner, and apparently black & white. While you are presenting, and trying to not lean on the table in front of you, and remember where you are supposed to stand, and the fact that you have no audience to give you feedback, you also have to remember which camera to look into. If you forget, the fine folks in the recording booth will flash a light on one of the cameras to remind you which one you should be looking into. In between the two color cameras, there is a screen with a clock. It lets you know how much time you have used. I would end up looking at it on occasion, and out of the corner of my eye, see a flashing blue light reminding me the camera to look at.
I should backup and describe my experience more fully, though not too detailed. Just the highlights. I chose to film on a Monday, so that I didnt eat into too much work time off. I had to fly out Sunday night to ensure that I reached Tucson to film on Monday. I got in late Sunday, went down the stairs of the airport, and was greated by a gentleman that gave me a ride to the hotel. I had secretly hoped I'd see my name on a paper, cause I've never had that happen to me yet. But a paper with Bits on the Wire was close enough. After getting into the hotel, I had some time to chill and get to sleep. Not terribly eventful. The next morning, I had the entire morning to do nothing, as I was to report to the studio around 1pm. Waking up late seems lie a luxury these days, and I took full advantage of that Monday morning. Waking up late, wondering downstairs to get a free breakfast, with no one telling me what to do, seemed like the most glorious of vacations. After eating, I returned to my hotel room and prepped my presentations. As I have mentioned earlier, I kept making more and more changes.
Before I knew it, it was time to shower, grab some food and then meet my ride to the offices. Once there, I was able to meet Stephen Wynkoop and the rest of the crew. Stephen even sat with me and interviewed me for a bit, making me feel like a celebrity he was excited to finally meet, just as I felt it was to meet him, finally. We had a great little discussion, followed by me jumping right into my presentations. After a quick practice start to ensure I knew which camera to look at (I would later forget), we jumped into the real presentations. The first one that I recorded was the most prepared and ready. This was planned by me, so that I could get an easy one under my belt, before struggling a bit on some parts of the other ones. One after another we cranked them out. In between I would grab my BlackBerry, send a quick tweet, and check for missed calls or emails. Just a quick glance, then back to the sessions and onto the next one. Before I knew it, I had finished 4 presentations, taking close to 5 hours of time. Whew. It was pretty intense, pretty enjoyable, pretty wild.
Once it was all over, a euphoria overcame me. I had one of those natural highs for a bit. I tried to sit back at the hotel, but became bored with TV. Hungry. Yeah, thats it. Venturing out into the outside world, I soon found food. At sometime afterwards, I started to come down from my natural high. Work crept into my world at this time, and I spent a few hours connected to work via VPN until it was bed time. Rising early the next day, I went to the airport earlier than i needed too, and awaited my flight. Once on the ground again in SLC, it was back to normal and back to work.
All the while, before, during and after, I tweeted my journey via Ping.fm. Posting went to Facebook as well as LinkedIn and Twitter. People in all those worlds were able to follow my progress and adventure, adding to my trip with their insights and suggestions. I love being alone, yet connected to so many people, all at the same time.
I hope that my sessions prove to be helpful for people, once they are released in the virtual conference. In the meantime, take a peek at what has been posted as a preview of one of my sessions.
I have a discount code for the SSWUG Virtual Conference. You can register for the conference here and make sure you use my code 'SPVTBESP09'.
More information here : http://tjaybelt.blogspot.com/2009/02/sswug-vip-code.html
Sunday, April 05, 2009
Wednesday, April 01, 2009
SQLPASS Auditing & Compliance SIG LiveMeeting
Today, the Auditing & Compliance SIG had our first live meeting event. We held a presentation about Sarbanes-Oxley and the DBA.
Many different topics were presented, with possible solutions provided.
We discussed ways to remedaite the following topics, and how to provide auditable documentation for auditors.
Change Management
Division of duties
Backup and Recovery
Restoration
Data Structure Changes
Back End Database User Access
Database Authentication & Access
Job Monitoring
Data Monitoring Controls
Data Transfer
Physical Access
I felt like it went well, and hopefully helped folks out with their concerns and needs with this topic. A few people asked for the slides or the recording. I hope that it got recorded, but in the short term i have posted the slides here.
When I find out about the recording, I'll post it somewhere we can get to it.
I hope that this is the first of many events that will help us DBA's with Auditing & Compliance.
Many different topics were presented, with possible solutions provided.
We discussed ways to remedaite the following topics, and how to provide auditable documentation for auditors.
Change Management
Division of duties
Backup and Recovery
Restoration
Data Structure Changes
Back End Database User Access
Database Authentication & Access
Job Monitoring
Data Monitoring Controls
Data Transfer
Physical Access
I felt like it went well, and hopefully helped folks out with their concerns and needs with this topic. A few people asked for the slides or the recording. I hope that it got recorded, but in the short term i have posted the slides here.
When I find out about the recording, I'll post it somewhere we can get to it.
I hope that this is the first of many events that will help us DBA's with Auditing & Compliance.
Friday, March 27, 2009
My columns are goofed!!!
I have a table in production and dev environments that is not getting replicated data via GoldenGate replication properly. I have spent the last 2 weeks on and off the phone with support. We have tried this way and that way to get the data to pump from source to destination. All without fail.
2 days ago, the support tech suggested that we create a new table, and map to it on the destination, and see if we can pump the data from source to destination that way. Something had to be wrong with the original destination table. I thought this was an odd test, but in fairness, figured anything is worth trying. I will often do silly things to test that i may not think would or should work, if for no other reason than to eliminate them from the possible choices.
So, I create another table, and setup replication to map to this new table. I update a record, and viola! it worked... Wild. Ok, so what's the difference between these tables? Where are the discrepancies? I start digging in to see whats different, if anything, and find nothing. Other than the table name, i see no obvious differences. There are some constraint names different between them, but thats a SQL naming thing, and can usually be ignored. So, I drop the table, and recreate it with another script. This one from Enterprise Manager (previously created the table with a script from SSMS). Once the table was created, I altered data on the source, expecting to see it flow to the destination, and no. Was denied. Now it wasn't working.
So, I thought I had narrowed it down to something. Different tools had created 2 distinct scripts, something had to be different between these two scripts for this new table. So I dropped the table, and recreated it with the original SSMS script, and repeated my steps to update data. Nothing flowed. Now it wasn't working again.
Much to my dissapointment, and the support techs, we didnt know what had caused the 1 instance of success.
Back to the drawing board, which had now become a brick wall, upon which i had bloodied my forehead through repeated banging. None of which seemed to help, but did help me forget my problems for a moment as I furtively impacted my head to wall.
Later that day, the support tech suggested i execute a query to pull some info out about the Identity field. Guess I should explain about the oddness of this table first...
The table has a primary key of UserName, which is a varchar. It also has an ID field in the field list that is an Identity int field. Why this field is not the PK, i do not know. It is the way it is. This seemed to be causing our problems, having an identity field, not the PK, and another the PK. So, when we mapped this with replication, we needed to use KeyCols and include both these fields, to ensure we had unique constraints for GoldenGate replication to properly apply the data.
Ok, back to the query the support tech requested.
select
col.colid,
col.name,
ColumnProperty(col.id, col.name, 'IsIdentity')
from syscolumns col
where col.id = Object_Id('dbo.users')
This was going to prove to them and me, what fields were Identity fields once and for all. This has caused quite a bit of confusion during the process, as we were constantly confused at the UserName being the PK, and having an ID as an Identity.
So, I run the query on dev environment, and give them the results from both the source and destination table. I did this quickly, as I didnt see the need for it, not the interest. I knew and had repeated what the PK was, and what the Identity was, well, repeatedly. Why the support tech was so worried about this, I do not know. But I am happy he was covering all his bases. For out of this query result, we found an interesting thing.
Look back at the query, you'll notice that we return the colid field with each field. Nothing special about this in the query, in fact, it really didnt even need to be there for the purpose of finding the Identity field. But the numbering, the ordering of the results were key. Colid 1 is UserName. This we expected. Its the first column. The second column in the table is FirstName. Its colid should be [2]. It is not!!! It is [3]. From there on out, the number is consistent.
So, in our table of 16 fields, we have colid 1,3-17, missing colid 2 entirely. A quick check show that this is true in dev as well as in production. A quick check of a new table I create shows the colids in order 1-16. I attempt a new test, and sure enough, the data moves to this new table, with the correct colid numbering sequence.
It would appear that GoldenGate replication needs this colid to be in sequence properly to function properly. This one table seems to have been goofed at sometime, colids all out of whack, and this could be the cause for why replication is having a hard time moving data to it.... Yeah!
The story ends here, as this is as far as I have gotten. I actually stopped working on it to document it as it was fresh in my mind. As I find solutions to this issue, I will update this or post another entry to cover it.
Yeah, though. Up until now, we had no idea what was causing our issue. Tons of attempted tests and supposed resolutions have all proved fruitless. Along the way, I have learned a lot of valuable information about the replication system with GoldenGate. I have been able to gain experience with a lot of different aspects of it, so the entire process has been positive, even though frustrating.
Now to figure out how this happened to this table... search for a solution to it, and even investigate other tables, see if they have missing number sequences... maybe other tables are having issues that we do not know about.
2 days ago, the support tech suggested that we create a new table, and map to it on the destination, and see if we can pump the data from source to destination that way. Something had to be wrong with the original destination table. I thought this was an odd test, but in fairness, figured anything is worth trying. I will often do silly things to test that i may not think would or should work, if for no other reason than to eliminate them from the possible choices.
So, I create another table, and setup replication to map to this new table. I update a record, and viola! it worked... Wild. Ok, so what's the difference between these tables? Where are the discrepancies? I start digging in to see whats different, if anything, and find nothing. Other than the table name, i see no obvious differences. There are some constraint names different between them, but thats a SQL naming thing, and can usually be ignored. So, I drop the table, and recreate it with another script. This one from Enterprise Manager (previously created the table with a script from SSMS). Once the table was created, I altered data on the source, expecting to see it flow to the destination, and no. Was denied. Now it wasn't working.
So, I thought I had narrowed it down to something. Different tools had created 2 distinct scripts, something had to be different between these two scripts for this new table. So I dropped the table, and recreated it with the original SSMS script, and repeated my steps to update data. Nothing flowed. Now it wasn't working again.
Much to my dissapointment, and the support techs, we didnt know what had caused the 1 instance of success.
Back to the drawing board, which had now become a brick wall, upon which i had bloodied my forehead through repeated banging. None of which seemed to help, but did help me forget my problems for a moment as I furtively impacted my head to wall.
Later that day, the support tech suggested i execute a query to pull some info out about the Identity field. Guess I should explain about the oddness of this table first...
The table has a primary key of UserName, which is a varchar. It also has an ID field in the field list that is an Identity int field. Why this field is not the PK, i do not know. It is the way it is. This seemed to be causing our problems, having an identity field, not the PK, and another the PK. So, when we mapped this with replication, we needed to use KeyCols and include both these fields, to ensure we had unique constraints for GoldenGate replication to properly apply the data.
Ok, back to the query the support tech requested.
select
col.colid,
col.name,
ColumnProperty(col.id, col.name, 'IsIdentity')
from syscolumns col
where col.id = Object_Id('dbo.users')
This was going to prove to them and me, what fields were Identity fields once and for all. This has caused quite a bit of confusion during the process, as we were constantly confused at the UserName being the PK, and having an ID as an Identity.
So, I run the query on dev environment, and give them the results from both the source and destination table. I did this quickly, as I didnt see the need for it, not the interest. I knew and had repeated what the PK was, and what the Identity was, well, repeatedly. Why the support tech was so worried about this, I do not know. But I am happy he was covering all his bases. For out of this query result, we found an interesting thing.
Look back at the query, you'll notice that we return the colid field with each field. Nothing special about this in the query, in fact, it really didnt even need to be there for the purpose of finding the Identity field. But the numbering, the ordering of the results were key. Colid 1 is UserName. This we expected. Its the first column. The second column in the table is FirstName. Its colid should be [2]. It is not!!! It is [3]. From there on out, the number is consistent.
So, in our table of 16 fields, we have colid 1,3-17, missing colid 2 entirely. A quick check show that this is true in dev as well as in production. A quick check of a new table I create shows the colids in order 1-16. I attempt a new test, and sure enough, the data moves to this new table, with the correct colid numbering sequence.
It would appear that GoldenGate replication needs this colid to be in sequence properly to function properly. This one table seems to have been goofed at sometime, colids all out of whack, and this could be the cause for why replication is having a hard time moving data to it.... Yeah!
The story ends here, as this is as far as I have gotten. I actually stopped working on it to document it as it was fresh in my mind. As I find solutions to this issue, I will update this or post another entry to cover it.
Yeah, though. Up until now, we had no idea what was causing our issue. Tons of attempted tests and supposed resolutions have all proved fruitless. Along the way, I have learned a lot of valuable information about the replication system with GoldenGate. I have been able to gain experience with a lot of different aspects of it, so the entire process has been positive, even though frustrating.
Now to figure out how this happened to this table... search for a solution to it, and even investigate other tables, see if they have missing number sequences... maybe other tables are having issues that we do not know about.
Wednesday, March 25, 2009
Presenting for the Auditing & Compliance SIG
On April 1st at 12PM MST, that’s 11AM to those of you on the West Coast, and 2PM for those on the East Coast, I will be giving a presentation for the Auditing & Compliance SIG about SOX (Sarbanes Oxley), and the DBA perspective.
Many years ago, I was tasked with bring a system into compliance that I was DBA for. We started at scratch, and built up policy, procedure and a few systems to assist us. I later used this knowledge setting up another shot. Now I want to share this with you.
Live Meeting URL: http://www.sqlpass.org/Community/SIGs/AuditingandComplianceSIG/tabid/84/Default.aspx
Audio Dial-In Information:
Conference Dial in: (866) 379-8990
Conference code: 6489756
More information locate on the SIG page:
http://www.sqlpass.org/Events/ctl/ViewEvent/mid/521.aspx?ID=103
A few articles I've written on the subject.
http://www.sql-server-performance.com/articles/audit/Automate_Audit_Requests%20_p1.aspx
http://www.sql-server-performance.com/articles/audit/Audit_Data_Modifications_p1.aspx
http://www.sqlservercentral.com/articles/Auditing/63249/
Many years ago, I was tasked with bring a system into compliance that I was DBA for. We started at scratch, and built up policy, procedure and a few systems to assist us. I later used this knowledge setting up another shot. Now I want to share this with you.
Live Meeting URL: http://www.sqlpass.org/Community/SIGs/AuditingandComplianceSIG/tabid/84/Default.aspx
Audio Dial-In Information:
Conference Dial in: (866) 379-8990
Conference code: 6489756
More information locate on the SIG page:
http://www.sqlpass.org/Events/ctl/ViewEvent/mid/521.aspx?ID=103
A few articles I've written on the subject.
http://www.sql-server-performance.com/articles/audit/Automate_Audit_Requests%20_p1.aspx
http://www.sql-server-performance.com/articles/audit/Audit_Data_Modifications_p1.aspx
http://www.sqlservercentral.com/articles/Auditing/63249/
Friday, March 20, 2009
PASS Call for Speakers Now Open
Hey, is that a bandwagon i see? Wonder if I should hop on? Yeah, it will be a fun ride. I know lots of the guys on there, and it seems they are having fun. So, here I go!!!
I rarely blog these types of infos, since others typically do before me.
But today, i was in a weird mood, and wanted to do a fun blog for a Friday, and this was all i could come up with.
Since others have already done this, i'll just list their blogs, and count them as my own... hehe
http://sqlbatman.com/2009/03/pass-call-for-speakers-now-open/
http://wiseman-wiseguy.blogspot.com/2009/03/pass-summit-2009-call-for-speakers.html
Well, it turns out, thats it. Those are the only ones so far that have blogged about it. Crud, I shoulda jumped on the bandwagon and blogged about it. Wait, thats what I'm doing, but under the disguise that I am doing a funny blog about it, and not actually doing the call for speakers... so, you decide.
I was just bored on a Support call, saw a few tweets come across my screen, and got a funny notion in my head. Its probably only funny to me, but in the end, that all that really matters. Did I make me laugh? If so, blog it. Check and mate.
So, i hit Search.twitter.com and looked for more. I did find more folks talking about it there...
sql_joker: SQL Batman - PASS Call for Speakers Now Open: Did you want to speak at the upcoming PASS 2009 Commun.. http://tinyurl.com/cf3egu (expand)
23 minutes ago from twitterfeed
AndyLeonard: RT @SQLBatman: [Blog] PASS Call for Speakers Now Open:Did you want to speak at the upcoming PASS 2009 Community Summit? http://s3nt.com/d8rb
34 minutes ago from TweetDeck
SQLBatman: [Blog] PASS Call for Speakers Now Open: Did you want to speak at the upcoming PASS 2009 Community Summit? Well, now ... http://s3nt.com/d8rb
36 minutes ago from Ping.fm
unclebiguns: New blog post: http://tinyurl.com/cv4k9e (expand) - PASS Summit 2009 Call for Speakers Open
about 2 hours ago from web
SqlAsylum: RT @sqlpass: PASS Summit 2009 Call For Speakers Opens Friday 3/20 and will close on Friday 4/10. Check out the PASS Home Page for details.
1 day ago from TweetDeck
AndyLeonard: RT @sqlpass: PASSSummit2009 Call For Speakers Opens Friday 3/20 and will close on Friday 4/10.Check out the PASS Home Page for more details.
2 days ago from TweetDeck
BetsyLM: RT @sqlpassPASS Summit 2009 Call For Speakers Opens Friday 3/20 and will close on Friday 4/10. Check out the PASS Home Page for more details
2 days ago from web
sqlpass: PASS Summit 2009 Call For Speakers Opens Friday 3/20 and will close on Friday 4/10. Check out the PASS Home Page for more details.
2 days ago from TinyTwitter
SqlAsylum: RT @sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks. it's going to be a great Summit!
7 days ago from TweetDeck
peschkaj: RT @sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks.
7 days ago from TweetDeck
statisticsio: Retweeting @sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks.
7 days ago from OutTwit
AndyLeonard: RT @sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks... it's going to be a great Summit!
7 days ago from TweetDeck
sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks. With your help it's going to be a great Summit!
7 days ago from TinyTwitter
So, get out and get your presentations dusted off. Submit them. Prepare yourself for an incredible experience at PASS by becoming a presenter. Its a thrill of a lifetime. Or so i have been told. I'm to scared to do it myself, and who would wanna listen to my half baked ideas anyway. Wait, i should listen to the other advice i just gave, and do it myself. I did submit an abstract a couple years ago... Maybe i still have it somewhere....
I rarely blog these types of infos, since others typically do before me.
But today, i was in a weird mood, and wanted to do a fun blog for a Friday, and this was all i could come up with.
Since others have already done this, i'll just list their blogs, and count them as my own... hehe
http://sqlbatman.com/2009/03/pass-call-for-speakers-now-open/
http://wiseman-wiseguy.blogspot.com/2009/03/pass-summit-2009-call-for-speakers.html
Well, it turns out, thats it. Those are the only ones so far that have blogged about it. Crud, I shoulda jumped on the bandwagon and blogged about it. Wait, thats what I'm doing, but under the disguise that I am doing a funny blog about it, and not actually doing the call for speakers... so, you decide.
I was just bored on a Support call, saw a few tweets come across my screen, and got a funny notion in my head. Its probably only funny to me, but in the end, that all that really matters. Did I make me laugh? If so, blog it. Check and mate.
So, i hit Search.twitter.com and looked for more. I did find more folks talking about it there...
sql_joker: SQL Batman - PASS Call for Speakers Now Open: Did you want to speak at the upcoming PASS 2009 Commun.. http://tinyurl.com/cf3egu (expand)
23 minutes ago from twitterfeed
AndyLeonard: RT @SQLBatman: [Blog] PASS Call for Speakers Now Open:Did you want to speak at the upcoming PASS 2009 Community Summit? http://s3nt.com/d8rb
34 minutes ago from TweetDeck
SQLBatman: [Blog] PASS Call for Speakers Now Open: Did you want to speak at the upcoming PASS 2009 Community Summit? Well, now ... http://s3nt.com/d8rb
36 minutes ago from Ping.fm
unclebiguns: New blog post: http://tinyurl.com/cv4k9e (expand) - PASS Summit 2009 Call for Speakers Open
about 2 hours ago from web
SqlAsylum: RT @sqlpass: PASS Summit 2009 Call For Speakers Opens Friday 3/20 and will close on Friday 4/10. Check out the PASS Home Page for details.
1 day ago from TweetDeck
AndyLeonard: RT @sqlpass: PASSSummit2009 Call For Speakers Opens Friday 3/20 and will close on Friday 4/10.Check out the PASS Home Page for more details.
2 days ago from TweetDeck
BetsyLM: RT @sqlpassPASS Summit 2009 Call For Speakers Opens Friday 3/20 and will close on Friday 4/10. Check out the PASS Home Page for more details
2 days ago from web
sqlpass: PASS Summit 2009 Call For Speakers Opens Friday 3/20 and will close on Friday 4/10. Check out the PASS Home Page for more details.
2 days ago from TinyTwitter
SqlAsylum: RT @sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks. it's going to be a great Summit!
7 days ago from TweetDeck
peschkaj: RT @sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks.
7 days ago from TweetDeck
statisticsio: Retweeting @sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks.
7 days ago from OutTwit
AndyLeonard: RT @sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks... it's going to be a great Summit!
7 days ago from TweetDeck
sqlpass: PASS Call For Speakers opens 3/20, closing on 4/3! Get your abstracts together folks. With your help it's going to be a great Summit!
7 days ago from TinyTwitter
So, get out and get your presentations dusted off. Submit them. Prepare yourself for an incredible experience at PASS by becoming a presenter. Its a thrill of a lifetime. Or so i have been told. I'm to scared to do it myself, and who would wanna listen to my half baked ideas anyway. Wait, i should listen to the other advice i just gave, and do it myself. I did submit an abstract a couple years ago... Maybe i still have it somewhere....
Subscribe to:
Posts (Atom)