It had been a quiet afternoon, so I was taking time to study some paperwork in my office. Actually, I was studying the inside of my hat…through my eyelids. I was reclining recklessly in my office chair with my feet up and my hat pulled low. That was why I hit the floor when my phone rang.
The voice on the other end of the phone asked whether I was interested in the supernatural. Personally, I believe the natural world has enough mysteries without concerning myself with the supernatural. I was about hang up when the caller blurted out he believed he had a server that was possessed. Now, I've never seen a computer spew pea soup out its DVD drive or spin its monitor around on its stand, so I picked myself up off the linoleum and headed for the allegedly haunted computer room.
When I reached the site, a nervous-looking office assistant showed me to the technology center. The assistant opened the door with his badge and without a word, retreated back down the hallway. I gave the door a push and it creaked open.
The inside of the server room did have a ghostly appearance. All the lights were off. The only illumination came from a hundred or so candles spread throughout the room. I was afraid all those flames were going to trigger the fire suppression system at any moment.
In the center of the candlelight was a woman. She wore a long skirt, a peasant blouse, a red scarf on her head, and earrings that went halfway down her upper arms. Her hands were resting on one of the rack-mounted servers.
She looked up and held me in her icy stare. "Who are you?"
Was this the ghost of the computer room my caller had told me about? I tried to remain calm, even nonchalant, but it wasn't easy with those black eyes drilling into me. "I was about to ask you the same question," I managed to say.
"I am Madame Vitario," she said, her gaze unwavering. "I haff been brought here to help Mr. Peterson vit his problem. I try to contact ze ghost, vich is now haunting his computing machine."
So, she wasn't the ghost. Just another consultant brought in on the case; different modus operandi-and much larger jewelry-but a fellow consultant nonetheless. Just then, a young man came down the hall behind me.
"Mr. Powers, I was told you had arrived," he said as he shook my hand briskly. "I see you have met Madame Vitario."
"Yes," I agreed. "She was just introducing herself when you came in."
"I introduce, but he has not," Madame Vitario spat out. "Who is dis? Vy you bring him here?"
"This is Mr. Powers," the young man said, completing the introductions. "He's a detective. I thought he might be able to help."
"I do not need his help. Madame Vitario vorks alone." Apparently, Madame Vitario did not share my collegial spirit.
"Nevertheless," I stated as I reached for the wall switch, "I may be able to shed some light on the situation." With that, I flipped the switch and the fluorescents came back to life.
"Aaakkk!" Madame Vitario screeched. "You ruin ze mood."
I turned to the young man. "You're the one who called me?"
"Yes," he said. "I'm glad you came. I'm Carl Peterson. I maintain the servers around here."
"And you believe one of those servers is possessed?" I asked.
"I don't have any other explanation," he began. "A few weeks ago some jobs started appearing in SQL Server Agent. They certainly weren't anything I had created, and they had the strangest names you ever saw. Some kind of code, I think."
"So you assumed these jobs were created by some kind of spirit?"
"Not at first. I ran every virus-detection and anti-spyware program I could think of. I checked for any unauthorized intrusions. Everything was fine. We hadn't been hacked or attacked, but there they were-these coded SQL jobs."
"What applications are you running on that server?" I prompted.
"It's our database server. SQL Server 2005 is the only thing running on that box. There's nothing unusual about this server, but there was definitely something unusual going on. The more I mulled it over, the more I thought, 'This is something Uncle Wally would do.' My Uncle Wally was a great practical joker and he just loved codes when he was alive. He was in army intelligence during the war, you know."
I interrupted, "While he was alive?"
"Oh, yes," Peterson confirmed. "He passed away about three years ago. Apparently, he didn't pass very far away."
I turned back to the gypsy. "And you, Madame Vitario, you believe that Peterson's Uncle Wally has taken up residence in the server?"
"I can feel his presence," she asserted. "Zare is a vibration in ze machine."
"Probably just a hard drive going bad," I surmised. "You might want to check into that, Peterson, before it gets worse. But for now, let's have a look at those mysterious jobs."
"No!" Madame Vitario protested. "You vill disturb Uncle Wally."
"I don't think Uncle Wally will mind if we take a quick look," I contradicted. "Peterson, why don't you show me these mysterious SQL Server Agent jobs."
Peterson logged into the "possessed" server and opened SQL Server Management Studio. There were the mysterious jobs, just as Peterson had said. (Figure 1) He pointed to the sequences of numbers and letters. "That's got to be code. It must be from my uncle."
"Those look like they could be GUID's," I offered.
Madame Vitario brightened. "Druids? Did you say zese are from ancient monks?"
"GUID's," I corrected. "Globally Unique Identifiers. GUID's. Are you using Reporting Services?" I queried.
"Yes, but it's installed on a different server," Peterson responded.
"That may be, but I'll bet you the first round at O'Malley's that the report catalog databases for Reporting Services are installed on this database server."
"I thought of that, actually," Peterson said defensively. "Even though I installed Reporting Services on the Microsoft IIS server, I did check to see if it had created any jobs."
Peterson opened a browser and brought up the Report Manager site on the IIS server. Then he clicked Site Settings in the upper-right corner of the page. Finally, he clicked the Manage Jobs link in the lower-left corner. The Manage Jobs page appeared in the browser. (Figure 2) It was completely empty.
I placed a hand on Peterson's shoulder. "You had the right idea, but a bit more Reporting Services knowledge might have saved you from a very large bill for candle expenses. The Manage Jobs page in Report Manager doesn't show all of the Reporting Services jobs, only those that are currently running. In fact, a job has to run for 30 seconds before it shows up on that page. None of those mysterious SQL Agent jobs is running now, right?"
"No, none," Peterson responded quietly.
"But they would show up in SQL Server Management Studio," I continued. I double-clicked one of the GUID job names. The Job Properties dialog box appeared. (Figure 3) Reporting Services was clearly referenced in the Category and Description fields.
Peterson slumped in his chair. "So, it isn't the supernatural?"
"Not unless you consider Reporting Services supernatural in its ability to deliver reports throughout your enterprise. In a distributed installation such as yours, the Reporting Services Windows service, the Report Manager Web site, and the ReportServer Web service are all running on your IIS server. The installation program puts the report catalog databases on your SQL Server database server and even creates a special database security role called RSExecRole in several of the system databases. When Reporting Services needs to schedule a process to occur at some time in the future, it uses the rights granted through RSExecRole to create SQL Server Agent jobs on the database server. To ensure that each job has a unique name, Reporting Services uses GUID's. That's what we're looking at here."
Peterson sniffed back a tear. "I really wanted it to be Uncle Wally."
"I know you did," I said comfortingly.
At that moment, there was a power surge in the building. Madame Vitario leapt to her feet. "You see zose lights blink? Quickly, take me to ze fuse box! It must be Uncle Wally."
I left the gypsy and the server administrator lighting candles in the utility closet. Mysteries I can solve, but delusions are something else again.
It turned out there was nothing supernatural in this case. But the next case definitely included some magic.
About the Author
B.I. Powers shares an office at Superior Consulting Services in Minneapolis with Brian Larson, a frequent presenter about SQL Server business intelligence and author of Microsoft SQL Server 2005 Reporting Services and Delivering Business Intelligence with Microsoft SQL Server 2005 (both from Osborne/McGraw-Hill). Powers is too cheap to get his own email box but may be contacted through Brian's email at [email protected]