Connecting to Integration Services Failed with “Access Denied”


Overview

Today, when trying to connect to my local SQL Server Integration Services instance for the first time I received an error message.

SSIS Error

It was a new installation of SQL 2012 so I didn’t know for sure that it was even running. I checked to verify that SSIS was actually installed and that the service was running. I also verified DCOM permissions for MsDtsServer100 and added myself to the Distributed COM Users group, even though I am a local administrator. Of course none of that worked.

However, after a little looking I was able to find some talk about User Account Control (UAC) potentially causing this issue. UAC is able to intercept requests for administrative access and ask you about them before they’re allowed or terminate them all together. In this case it was terminating the request and SSMS was returning an Access Denied message.

To fix this problem you have one of two options. First you can close SSMS then right-click the icon, selecting Run as Administrator, each time you want to run it and connect to SSIS. The second option is to disable UAC. Of course this poses additional security risks since you’ll no longer be notified of requests for administrative access. However, if you want to do this the instructions are below.

Disabling UAC

  1. Click Start and then Control Panel.
  2. Click User Accounts and then User Accounts again in the next window.
  3. Click the Change User Account Control settings link.
  4. Slide setting down to “Never notify” and click OK.
  5. Restart your system.

Delete Visual Studio Online Project


Overview
I recently had a project that I wanted to remove from my Visual Studio Online source control system. I hadn’t done this before so I went about attempting to remove the projects via the normal means. Here is how I went about it.

Trial and Error
Naturally I first logged into my Visual Studio Online account, opened the project in the Collection Administration page and searched for some way to delete the project. However, I found that there was no available way to do this.

The next thing I tried is to delete the project from within Visual Studio 2013. I connected to my Visual Studio Online source control system, opened the Source Control Explorer and found that there was an option to right-click the project and select Delete. Of course it wasn’t that easy though. Upon selecting Delete the following error dialog appeared.

Delete Project Error

Error displayed when trying to delete a Visual Studio Online project locally.

Now I’m the administrator of the entire site so I knew permissions weren’t an issue. It also surprised me that there was an option to delete a project from within Visual Studio, but that it wasn’t supported. I tried searching the Visual Studio Online support pages. I did find entries for deleting projects from Visual Studio Online. However, all of them directed me to pages for removing projects from within Visual Studio itself. Then I stumbled upon another article that showed me what I was missing.

How to Delete Projects
It turns out I was actually pretty close the first time. Here is how you delete a project from your Visual Studio Online account.

  1. Login to your Visual Studio Online account (you must be an admin).
  2. Click the gear to the right of your name in the upper-right hand corner.
  3. In the Control Panel page, click the “View the collection administration page” link at the bottom of the right pane.
  4. Right-click the project you wish to delete from the list of projects on the right.
  5. Check the “I understand that all data in the team project XXX will be deleted.” check box.
  6. Click the Delete Project button.
  7. Click the Close button.
  8. Click the refresh button on the project list (circular arrow) occasionally to check for when the project has been deleted.

Summary

That’s it! The project has now been deleted. The part I missed was step 4 (right-clicking the project name). It seems silly now that I wouldn’t try that. I guess I don’t generally expect web pages to have right-click functionality. There’s also nothing that I found to indicate that this functionality is available or how to do it. Now you know!

Clear Server Names From List in SQL Server Management Studio


Overview
In Microsoft SQL Server Management Studio (SSMS) a history of the server names you connect to are kept in the connection dialog’s server name field drop down list. Often servers can be replaced, you move on to other projects, connect to the wrong server, etc. and this list can become cluttered.

Here is how you clear items from this list.

  1. Open the Microsoft SQL Server Management Studio (SSMS) version you want to affect.
  2. Open the Connect to Server dialog (File->Connect Object Explorer, Object Explorer->Connect->Database Engine, etc.).
  3. Click on the Server Name field drop down list’s down arrow.
  4. Hover over the items you want to remove.
  5. Press the delete (DEL) key on your keyboard.
  6. Repeat 4-5 for each server you want to remove from the list.

There are other ways to do this as well, like removing your MRU.DAT or SqlStudio.bin file from SSMS’s directory. However, it’s a little more difficult and resets all of your customized settings (those in Tools->Options). This could lead to changes to your Transaction Isolation Level, Results or Text Editor settings, etc. That isn’t much fun since we all spend a bunch of time getting those setup just right.

First Ever Passing of Turing Test!


Well Saturday, June 7, 2014 was a big day for the technology world. For the first time ever a computer has passed the Turing Test. This test was developed by Alan Turing in 1950 and is commonly used judge the presence of Artificial Intelligence (AI) in computing. There have been many attempts over the years, but none have been able to convince the requisite 1/3 (66.66_%) of the panel that they were human. The closest was in 2012 when a computer convinced 29% of the judges that it was human.

This event holds particular interest for me since I’m a software engineer, work in the technology industry and have always been involved in computing. It was a day I was looking forward to (and secretly fearing). As with Stephen Hawking, I fear the potential for opening “Pandora’s Box”. The day when we cross the singularity. This quote from Stephen Hawking sums up my fears perfectly.

“Whereas the short-term impact of AI depends on who controls it, the long-term impact depends on whether it can be controlled at all.” – Stephen Hawking

Anyone who’s seen The Matrix can imagine the potential outcomes. Once that boundary is crossed, the evolution is only limited by the speed in which the platform operates. This event would likely take place on a supercomputer. As of 2013 the fastest of these is the National University of Defense Technology (NUDT) Tianhe-2 in Guangzhou, China. This system is capable of 33.86 PFLOPS. This means it is capable of calculating 10,000,000,000,000,000 (10 Quadrillion) floating point operations per second.

Let me tell you… I’d have a hard time doing 1 mathematical operation per second let alone 10 quadrillion, per second… every second, of every minute, of every hour, of every day… endlessly. You can see how something that’s able to compute at that speed could get out of hand in very short order. How many seconds do you think it’d take it to determine humans are inferior?

Of course this doesn’t mean the end of humanity or anything. This achievement was not what I would consider A.I. It is essentially just a sophisticated chat bot and not an actual sentient computer. This begs the question though. Now that the Turing Test has been passed, how do we actually judge sentience in computing? This was thought of as the “Holy Grail” of A.I. research.

With regards to A.I. though, I’m not all doom and gloom. I don’t just go around worrying about the A.I. hiding under my bed at night. The technology could present some very real benefits to humanity as well (e.g. medical, materials, aerospace, astrophysics, etc.). Imagine being able to model every possible combination of molecular structure and test it on modeled humans without having to actually do anything. It would simply spit out a list of theoretically safe drugs to move on to lab tests with. The environment could benefit as well. What about having it think up an entirely new approach to moving humans from one place to another that wouldn’t hurt the environment or cost absurd amounts of money to implement? There’s really a bottomless pit of problems that need solving and what better than something that never needs to take a break or sleep and can operate billions of times faster than us?

Well, here’s to a new landmark! Now keep in mind that the truly sentient forms of AI I am discussing are still a long way off. Simply passing the Turing Test doesn’t automatically mean sentience, so don’t worry. However, it’s a big step in that direction!

Click Here for Article

Discover File Changes Made Outside of Visual Studio


Overview

I recently had an issue where I had to rollback an entire branch in TFS and then hand apply a whole mess of changes. There were entire sub-branches that needed to remain the latest version and other files that had to be hand edited. Overall it was a large job.

In an effort to speed up the process for those folders that needed to remain as the latest version I decided to work outside of Visual Studio and TFS. I manually removed the rolled back versions of the folders and copied the folder from a backup I’d made before rolling back into the appropriate location in my local source control folder. The only problem was that Visual Studio / TFS didn’t recognize that a change had been made.

Here’s how you get those changes made outside of Visual Studio to be recognized as changed in Visual Studio.

Steps

  1. Visit the Visual Studio Extensions site for Team Foundation Server Power Tools (TFPT).
  2. Download and install the package.
  3. Once installed, open a command prompt.
  4. Navigate to the TFPT installation folder (where tfpt.exe is located).
  5. Run the “tfpt.exe online” and optionally include the following switches as needed.
    1. “/adds” will pick up any added files.
    2. “/deletes” will pick up any removed files.
    3. “/diff” will pick up any changed files.
    4. “/recursive” will look for changes through all sub folders.
    5. PATH is where to look for changes.

The complete command is as follows.

tfpt online /adds /deletes /diff /recursive PATH

Summary

This has allowed me to pick up all of those changes I made outside of the IDE and apply them to TFS as usual. One thing I noticed though is that even folders such as bin, obj, Debug, etc. will be picked up. You will need to make a determination yourself as to whether you want these included in your source control.

I hope this helps!

How to Terminate Remote Desktop Sessions


Overview

I’ve worked in several companies where I’ve had to share the default 2 simultaneous remote desktop sessions on a single server. This isn’t a big deal if you only have 2 developers or other developers really don’t remote into the servers that much. However, what if you have a group of developers who all regularly access the server, or your coworkers always seem to click the “X” in the top-right corner instead of logging off? Well then you wind up with these connections constantly tied up. Usually the number of available connections is inversely proportional to the criticality of the needed connection.

So what do you do if you really need to get into the server? Here’s how to kick them or at least view who’s connected and what they’re doing.

Steps

  1. Remote Desktop into another server (or logon locally to another server if you have one).
  2. Navigate to the Administrative Tools menu from either Start Menu or Control Panel.
    1. Location varies by Windows Server version and configuration.
  3. Open the Terminal Services menu that’s inside the Administrative Tools menu.
  4. Open the Terminal Services Manager item (MMC plugin).
    1. You can also run “tsadmin.msc” if you can’t find this menu item.
  5. Click on the Action menu and select Connect to Computer.
  6. Select the Another computer radio button.
  7. Type in the computer name of the server you want to recover a remote desktop session on, or browse for it and then click OK.
  8. Select the server name from the list in the left pane.
  9. You should now see all of the sessions in the center content pane.
  10. From here you have some options.
    1. You can terminate the session by right-clicking on the session and selecting disconnect.
    2. You can reset the connection.
    3. You can log the user out, etc.
  11. Close the Terminal Services Manager.
  12. Log out of the server.

Note: Selecting Disconnect will recover the session but will terminate any running applications the user had open. For instance if they connect to the server, start an installation and then close the remote session but don’t log out (so the install stays running), it’ll kill this installation. However, if you know the person isn’t using the session and they simply closed out the session instead of logging out, you can recover this available connection by disconnecting them.

I hope this helps!

Watch “10 Ways the NSA Spies on You”


A lot of people don’t comprehend the degree to which the NSA has infiltrated the lives of even law abiding Americans.  This video was particularly good at showing some of the largely unknown ways this is happening right now. Some that stood out were that the NSA monitors all mobile traffic on android devices by recording the number called, duration of call and the nearest tower (essentially your rough location). All international calls are monitored. Also one that recently came to light is that the NSA actively works with companies like Google to write vulnerabilities they can exploit into their code. Check it out. This stuff isn’t conspiracy theory. It’s happening now. You might want to look at that mobile phone in your hands a little differently now.