Without attracting too much publicity, LinkedIn updated their privacy conditions (again).  Unless you take action, LinkedIn is now permitted to use your name and picture in any of their advertisements.

If you’re anything like me and value your reputation, then take these simple steps:

1. From your LinkedIn home page, place the cursor on your name at the top right corner of the screen. From the small pull down menu that appears, select “settings”

2. Then click “Account” on the left/bottom

3. In the column next to Account, select the option “Manage Social Advertising”

4. Finally uncheck the box “LinkedIn may use my name and photo in social advertising”

5. and Save

To stay informed of the dynamic and fast-paced world of reputation management , I recommend following the @UpSearchSEO Twitter community. We are dedicated to helping leaders and organizations improve their online relevance.

Shawn Upchurch | LinkedIn | Twitter | Google+ | leads UpSearch | fierce advocate for equality

Posted in Reputation Mgt, UpSearchCoach | Tagged , , , , | Leave a comment

On August 28, 1963, Martin Luther King Jr. delivered his famous “I Have a Dream” oration from the steps of the Lincoln Memorial in Washington, D.C. In my opinion, this particular speech is probably the most amazing, and most thought provoking of King’s speeches, and maybe of anyone’s.

Let me direct your attention to one specific line of King’s “I Have a Dream†speech.

“I have a dream that my four children will one day live in a nation where they will not be judged by the color of their skin, but by the content of their character.â€

Focus for just a moment on the phrase “content of character.”

It’s specifically in “content of character” that King gave us tremendous insight into how each of us can make the world a better place, a place where all people are created free and equal.

This is not about affirmative action or diversity training, but rather the critical importance of participating in, and building, inclusive environments where people with varied perspectives, skills and experiences collaborate.

One of your highest responsibilities as a leader is to set the conditions for equality in the workplace.  Let’s define equity as the assurance that your workplace gives every person a fair and equal chance to be successful.

As you prepare workplace programs for 2012, consider how important equality is to your organization.

At UpSearch, it is important enough to craft an equality statement.

Shawn Upchurch | LinkedIn | Twitter | Google+ | leads UpSearch | fierce advocate for equality

Posted in Reputation Mgt, UpSearchCoach, UpSearchLearn, UpSearchRecruit, UpSearchRetain | Tagged , , , , | Leave a comment

I’ll be presenting at the South East Michigan SQL Server User Group (SEMSSUG) tonight. The session will be Gather SQL Server Performance Data with PowerShell.

We all know how important it is to keep a baseline of performance metrics that allow us to know when something is wrong and help us to track it down and fix the problem. We don’t always know how to do this easily and consistently. This session will walk you through a series of PowerShell scripts you can schedule which will capture the most important data and a set of reports to show you how to use that data to keep your server running smoothly.

You can register for the meeting via this link: http://semssug20111208.eventbrite.com/

The meeting will be at the Raymond James Southfield Offices, 25900 Telegraph Rd, Southfield, MI 48033. (Actual entrance is on Civic Center Drive, just 100 meters east of Telegraph Rd.) Directions found by clicking here.

The meeting starts at 6pm and runs until 8pm, and DBSophic is the sponsor, providing the pizza.

I hope to see you there.

Allen

Posted in UpSearchSQL | Tagged , , | Leave a comment

Regardless if you celebrate America’s holiday of thanks, I appreciate that we (you and I) are part of the same community.  To me, Thanksgiving transcends cultures and borders.

Let’s be irreverent for a moment.  Let’s release any attachment to national origin, traditions or names. Thanksgiving is much more than a celebration of America’s autumn, parades and gluttony.  It is a unique opportunity to reflect.

If you’re anything like me, then you probably carve out time each year for renewal.  Thanksgiving begins that period of reflection in my life and lasts through New Year’s.

All too often, we reflect, renew and then forget to follow through.  Our intentions and the impact of our actions don’t always match-up.  The good news is that you’ve already done the hard work by reflecting.  As you reflect on who you appreciate, consider taking action to reinforce your gratitude.

Its as simple as stating, “I appreciate you.â€Â  Don’t forget to insert space before changing topics.  The power of a small pause wonderfully reinforces your intention.

If there is any chance someone in your life does not feel valued, set them straight ASAP.  It’s a wonderful opportunity to practice the art of picking and polishing your words carefully.

Happy Thanksgiving!

Every day presents a new opportunity to appreciate someone.  If you missed it yesterday, make sure you follow through today.

“The supreme happiness of life is the conviction that we are loved.†~Victor Hugo (1802-1885)

Shawn Upchurch | LinkedIn | Twitter | Google+ | leads UpSearch | fierce advocate for equality

Posted in UpSearchCoach | Tagged , , , , , , , | Leave a comment

Yesterday Microsoft released RC0, Release Candidate 0, for download. I downloaded and installed it in a virtual machine, and today started poking around. I haven’t had much time to play with the various CTPs released so far, so I’m not sure what features have been added when.

After restoring a backup to my favorite demo database, AdventureWorks, I started exploring, and noticed a new menu item when you right click certain objects in Object Explorer – Facets.

When I point to the Server and select Facets a window pops up showing me a list of properties and their settings in the window. Some properties are shown in grey and others in black. Those in black are those you can change in the New Facets window!

Notice the second item down – Backup Directory! For years I’ve been telling people in PowerShell sessions that the only way you can access that property is either through the registry (regedit or xp_regread) or using SMO. Now, here it is in a dialog window in Management Studio, along with all the other Server object properties that have been difficult to discover until now.
If I point to the AdventureWorks database, right-click and select Facets I get a similar window showing the Database properties for that database.

I think this will make things much easier to see what the properties of all your database objects are.

Allen

Posted in UpSearchSQL | Tagged , , | Leave a comment

Other than changing planes once at Heathrow Airport, I’ve never been to England, so I’m getting really excited about traveling there next week for SQLBits 9 – Query across the Mersey!

My wife and I will be spending a couple of days in London first, and since I’m a descendant of the Howard family from the Tudor period, I’m most interested in seeing the sites relevant to that time. I also want to spend as much time as I can at the British Museum, home of the Rosetta Stone and the Elgin Marbles.

During the SQLBits conference I’ll be presenting a full Training Day session entitled Automate and Manage SQL Server with Powershell. I’ll spend time introducing you to basics of PowerShell, so you don’t need to know anything about it to start. I will be covering how to manage SQL Server with PowerShell using SMO (Server Management Objects), as well as going through the SQL Server provider and the cmdlets included with SQL Server 2008.

On Friday, September 30, I’ll be delivering my session on Gather SQL Server Performance Data with PowerShell. The methods and scripts I’ll show in this sessions are what I use at client sites to gather performance information to monitor their baseline performance and look for any anomalies.

Saturday, October 1, I’ll present my session on Let Service Broker Help You Scale Your Application. I love how Service Broker can get information quickly and reliably to other servers, other databases, or even other tables within your current database asynchronously, so you don’t have lock contention on highly active tables to worry about (as much). I’ve used it successfully in client implementations and this session will give you the basics on how to get started with Service Broker.

The SQLBits team has put together a great conference and I hope to see you all there!

Allen

Posted in UpSearchSQL | Leave a comment

To be a social media maven, just do it!  I mean literally try all kinds of ideas.  Here is just one example of how you can help blaze a social media path.

Remember all those LinkedIn and Facebook groups you joined over the years?  Let’s validate their usefulness by authoring a discussion and request members support each other’s business.   At a minimum, this low effort activity will position you as a leader willing to pay it forward.

The following script is exactly what we’ve used to build our social media base.   Since we previously spent most of our time with Twitter, it wasn’t a surprise we realized the most impressive increases there.  Here is my script, word-for-word;

Subj line: Get more social media fans! Post your Twitter, Facebook and LinkedIn business page here! (for open networkers)

Body: We all know how challenging it can be to grow your social media fan base. So let’s follow each others business.

If you’ve got a business page on Twitter, Facebook and/or LinkedIn, simply leave a comment with your links below – short url(s) preferred.

It is a simple, easy and painless networking tool that benefits participating parties.

I then modeled the request by posting the first comment, as followed:

Please follow UpSearch by searching directly or following these links:

Twitter: http://tiny.ly/nvMu
Facebook: http://tiny.ly/8m6A
LinkedIn: http://tiny.ly/fApb

If you or anyone you know find value in this blog post, then feel free to copy, paste and modify with one condition; leave a comment.  It would make me feel great if you shared ideas and successes!

Shawn Upchurch | LinkedIn | Twitter | Google+ | leads UpSearch | fierce advocate for equality

Posted in UpSearchCoach | Tagged , , , , , | 1 Comment

The IT Con event this Saturday, June 18, is an event similar to SQL Saturday. It has three tracks, an IT Professional track, a Development track and a Career Development track. I’ll be presenting two sessions in the IT Professional track.

Gather SQL Server Performance Data with PowerShell

We all know how important it is to keep a baseline of performance metrics that allow us to know when something is wrong and help us to track it down and fix the problem. We don’t always know how to do this easily and consistently. This session will walk you through a series of PowerShell scripts you can schedule which will capture the most important data and a set of reports to show you how to use that data to keep your server running smoothly.

Let Service Broker Help You Scale Your Application

Service Broker was introduced in SQL Server 2005 to provide asynchronous messaging in your database applications, but it’s seldom used because it isn’t well understood. In this session we’ll walk you through the basics of Service Broker and show how you can use it to build highly scalable applications.

You can register for the IT Con here. It’s taking place at the Holiday Inn on Rt. 18 in Montrose, near Akron, Ohio.

The location is fairly convenient for anyone coming from Akron, Cleveland, Canton and Youngstown, so I hope to see you there!

Allen

Posted in Technology Solutions, UpSearchSQL | Leave a comment

Security is an important consideration when designing a database application. Who can get access to what data? How much damage can someone do if they get at your data?

In SQL Server 2005 Microsoft implemented column-based encryption, and in SQL Server 2008 they added Transparent Data Encryption. Both solutions work well for their intended use, and they’re not mutually exclusive.

When I walk into a new client it’s important for me to know what the security environment is, and how data is secured. Weak encryption is better than none at all, but strong encryption is better.

I’ve written a PowerShell script that reports by database what encryption keys have been implemented, and what algorithm is used for each key. First I load the SMO library and then connect to the SQL Server instance via SMO.

[System.Reflection.Assembly]::LoadWithPartialName( 'Microsoft.SqlServer.SMO') | out-null
$s = new-object ('Microsoft.SqlServer.Management.Smo.Server') 'MyServerMyInstance'

Then, I iterate through the databases, and within each database I grab the database name, then I pipe the AsymmetricKeys collection to a select where I return the database name, the key name and algorithm, then do the same thing for the symmetric keys.

# Iterate through the databases to check database names
foreach ($db in $s.Databases) {
	[string]$nm = $db.Name
	$keys = $db.AsymmetricKeys
	$keys | select @{Name="Database"; Expression = {$nm}}, Name, KeyEncryptionAlgorithm
	$keys = $db.SymmetricKeys
	$keys | select @{Name="Database"; Expression = {$nm}}, Name, EncryptionAlgorithm
	}

This gives me a quick view of what’s been set up. I look to see that a strong algorithm is used, like AES256 (or higher), and any use of DES or TripleDes is a big red flag, due to its weakness against dictionary attacks.

A discussion on encryption strategies is beyond the scope of what I wanted to do here, I just wanted to give you a way to find the keys you’re using and make sure they meet your needs.

Allen

Posted in Technology Solutions, UpSearchSQL | Leave a comment

Mark Freeman (@m60freeman) posted a question on Twitter using the #sqlhelp hashtag today, asking “Does anyone have a script to assign db_backupoperator for all databases in an instance to a login?” I looked and didn’t really have anything that fit, but felt it’d be useful to understand the SMO process to create it.

Note: one glaring hole I’ve found in SMO is the inability to add or remove logins and users to system and database roles, so that has to be done via T-SQL, as you’ll see.

First, I get the instance and login names as command-line arguments, load the SMO library, and connect to the instance using my Windows Authentication.

# Get the SQL Server instance name from the command line
param (
	[string]$inst,
	[string]$login
	)

# Load the SMO assembly
[System.Reflection.Assembly]::LoadWithPartialName( 'Microsoft.SqlServer.SMO') | out-null

# Connect to the instance using SMO
$s = new-object ('Microsoft.SqlServer.Management.Smo.Server') $inst

The next thing I do is check to see if the login already exists. If not, report it and get out of the script.

# Get the defined login - if it doesn't exist it's an error
$log = $s.Logins[$login]
if ($log -eq $null) {
	write-output "$login is not a valid SQL Server Login on this instance."
	break;
	}

We have a valid login, so cycle through the databases on the instance, and check if the login is a valid user. If not, add it by creating a new User object, set the User’s Login property to the login name, and Create the user.

# Cycle through the databases
foreach ($db in $s.Databases) {
	$dbname = $db.Name
	$logname = $log.Name

	# Check to see if the login is a user in this database
	$usr = $db.Users[$logname]
	if ($usr -eq $null) {

		# Not present, so add it
		$usr = New-Object ('Microsoft.SqlServer.Management.Smo.User') ($db, $logname)
		$usr.Login = $logname
		$usr.Create()
		}

Once we have a valid user in the database, check to see if the user is already a member of the role. (In this case, the db_backupoperator role.) If not, connect to the database using ADO.NET, pass the sp_addrolemember query to add it to the SqlCommand object and execute the query. Using this method allows me to execute the script whether or not I’ve got the SQL snapins loaded.

	# Check to see if the user is a member of the db_backupoperator role
	if ($usr.IsMember('db_backupoperator') -ne $True) {

		# Not a member, so add that role
		$cn = new-object system.data.SqlClient.SqlConnection("Data Source=$inst;Integrated Security=SSPI;Initial Catalog=$dbname");
		$cn.Open()
		$q = "EXEC sp_addrolemember @rolename = N'db_backupoperator', @membername = N'$logname'"
		$cmd = new-object "System.Data.SqlClient.SqlCommand" ($q, $cn)
		$cmd.ExecuteNonQuery() | out-null
		$cn.Close()

		}
	}

Now, the other thing I might want to do is to test the database’s IsSystemObject property, and perhaps exclude the system databases by testing if that’s true or false.

Yes, there are a number of ways to accomplish this, but this gives you one more tool in the belt.

Allen

Posted in Technology Solutions, UpSearchSQL | Tagged , , , , , , | Leave a comment