<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Nancy Hidy Wilson&#039;s Blog</title>
	<atom:link href="http://nancyhidywilson.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nancyhidywilson.wordpress.com</link>
	<description>Thoughts about SQL Server, PowerShell, and life in general</description>
	<lastBuildDate>Thu, 25 Apr 2013 23:56:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='nancyhidywilson.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/a5d81152e5a30a8d5dde164cd2248f79?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Nancy Hidy Wilson&#039;s Blog</title>
		<link>http://nancyhidywilson.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://nancyhidywilson.wordpress.com/osd.xml" title="Nancy Hidy Wilson&#039;s Blog" />
	<atom:link rel='hub' href='http://nancyhidywilson.wordpress.com/?pushpress=hub'/>
		<item>
		<title>SQL Server 2008 R2 Security Benchmark Released</title>
		<link>http://nancyhidywilson.wordpress.com/2012/12/10/sql-server-2008-r2-security-benchmark-released/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/12/10/sql-server-2008-r2-security-benchmark-released/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 14:10:19 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server 2008 R2]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=660</guid>
		<description><![CDATA[The Center for Internet Security (CIS) Security Benchmarks Division released “CIS Microsoft SQL Server 2008 R2 Database Engine Benchmark V1.0.0” on November 16, 2012. The best I can tell, this benchmark can also be used with SQL Server 2008. This is a consensus-based development of security best practices which have become the de facto security [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=660&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="color:#000000;">The </span><a href="http://www.cisecurity.org/"><span style="color:#0000ff;">Center for Internet Security</span></a><span style="color:#000000;"> (CIS) Security Benchmarks Division released “</span><a href="http://benchmarks.cisecurity.org/en-us/?route=downloads.browse.category.benchmarks.servers.database.mssql"><span style="color:#0000ff;">CIS Microsoft SQL Server 2008 R2 Database Engine Benchmark V1.0.0</span></a><span style="color:#000000;">” on November 16, 2012. The best I can tell, this benchmark can also be used with SQL Server 2008. </span></p>
<p><a href="http://benchmarks.cisecurity.org/en-us/?route=downloads.browse.category.benchmarks.servers.database.mssql"><img class="alignleft size-full wp-image-661" alt="CISSQL2008R2" src="http://nancyhidywilson.files.wordpress.com/2012/12/cissql2008r2.jpg?w=468&#038;h=266" height="266" width="468" /></a><span style="color:#000000;">This is a consensus-based development of security best practices which have become the de facto security configuration standards.  If you are in charge of your SQL Server security configuration, you need a copy of this document – it is what your auditors will be using soon!   </span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/security/'>Security</a>, <a href='http://nancyhidywilson.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/security/'>Security</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2008/'>SQL Server 2008</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2008-r2/'>SQL Server 2008 R2</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/660/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=660&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/12/10/sql-server-2008-r2-security-benchmark-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>

		<media:content url="http://nancyhidywilson.files.wordpress.com/2012/12/cissql2008r2.jpg" medium="image">
			<media:title type="html">CISSQL2008R2</media:title>
		</media:content>
	</item>
		<item>
		<title>SQLSaturday #150 – Baton Rouge: Presentations Uploaded</title>
		<link>http://nancyhidywilson.wordpress.com/2012/08/04/sqlsaturday-150-baton-rouge-presentations-uploaded/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/08/04/sqlsaturday-150-baton-rouge-presentations-uploaded/#comments</comments>
		<pubDate>Sun, 05 Aug 2012 02:40:30 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[SQL Saturday]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Data Collector]]></category>
		<category><![CDATA[Enterprise Management]]></category>
		<category><![CDATA[Policy-Based Management]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[SQLSaturday]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=657</guid>
		<description><![CDATA[My presentation slide decks and demo scripts from SQLSaturday #150 have been uploaded. Managing SQL Server in the Enterprise with TLAs SQL Server 2012 Database Engine – Why Upgrade? Thanks to the planning team for selecting my sessions and thanks to everyone who attended my sessions – I enjoyed the opportunity to share my passion. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=657&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">My presentation slide decks and demo scripts from SQLSaturday #150 have been uploaded. </span></span></span></p>
<ul>
<li><em><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=150&amp;sessionid=9842"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Managing SQL Server in the Enterprise with TLAs</span></a></em></li>
<li><em><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=150&amp;sessionid=9844"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">SQL Server 2012 Database Engine – Why Upgrade?</span></a></em></li>
</ul>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Thanks to the planning team for selecting my sessions and thanks to everyone who attended my sessions – I enjoyed the opportunity to share my passion.   </span></span></span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/sql-saturday/'>SQL Saturday</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/cms/'>CMS</a>, <a href='http://nancyhidywilson.wordpress.com/tag/data-collector/'>Data Collector</a>, <a href='http://nancyhidywilson.wordpress.com/tag/enterprise-management/'>Enterprise Management</a>, <a href='http://nancyhidywilson.wordpress.com/tag/policy-based-management/'>Policy-Based Management</a>, <a href='http://nancyhidywilson.wordpress.com/tag/speaking/'>Speaking</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2012/'>SQL Server 2012</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sqlsaturday/'>SQLSaturday</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/657/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=657&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/08/04/sqlsaturday-150-baton-rouge-presentations-uploaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>
	</item>
		<item>
		<title>SQLSaturday #150 – Baton Rouge – Signup Now!</title>
		<link>http://nancyhidywilson.wordpress.com/2012/07/27/sqlsaturday-150-baton-rouge-signup-now/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/07/27/sqlsaturday-150-baton-rouge-signup-now/#comments</comments>
		<pubDate>Fri, 27 Jul 2012 13:05:00 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[SQL Saturday]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Enterprise Management]]></category>
		<category><![CDATA[Policy-Based Management]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[SQLSaturday]]></category>
		<category><![CDATA[Training]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=638</guid>
		<description><![CDATA[There’s an awesome FREE technical training event coming to Baton Rouge on August 4, 2012. That’s right; SQLSaturday and Tech Day 2012 will be held at LSU’s new College of Business facility.  This is the fourth year that the Baton Rouge technical community has held this event and they expect around 400 people – if [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=638&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="color:#000000;font-family:Calibri;font-size:medium;">There’s an awesome FREE technical training event coming to Baton Rouge on August 4, 2012. That’s right; </span><a href="http://www.sqlsaturday.com/150/eventhome.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">SQLSaturday and Tech Day 2012</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> will be held at </span><a href="http://business.lsu.edu/Business-Education-Complex/Pages/BEC-Home.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">LSU’s new College of Business facility</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">.  This is the fourth year that the Baton Rouge technical community has held this event and they expect around 400 people – if you live anywhere close by, then you should be there!  William Assaf (</span><a href="http://www.sqltact.com/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">blog</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> | </span><a href="http://twitter.com/william_a_dba"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">twitter</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">) even got some local </span><a href="http://www.wafb.com/Category/240200/video-landing-page?autoStart=true&amp;topVideoCatNo=default&amp;clipId=7541884"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">TV exposure</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"> for the event this year.  </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">This event is bigger than your normal SQLSaturday. In addition to tracks for the SQL Server professional, there are also tracks for .NET developers, Windows Phone developers, SharePoint, and general professional development. Check out the full schedule </span><a href="http://www.sqlsaturday.com/150/schedule.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">here</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">, and then sign up </span><a href="http://www.sqlsaturday.com/150/register.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">here</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">.</span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">Why am I plugging this event? Well, for one thing the Baton Rouge SQL Server community has always come west across the state line to support our SQLSaturdays in Houston. Secondly, I’ll be speaking at their event this year on “</span><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=150&amp;sessionid=9842"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Managing SQL Server in the Enteprise with TLAs</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">”.  TLA is “Three-Letter Acronym” for those unsure. We have lots of those in techno-speak. I’ll be covering CMS, PBM, EPM, MDW, and more…. If you work with SQL Server and don’t know what those are or how they can help you, then </span><a href="http://www.sqlsaturday.com/150/register.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">register</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> today for SQLSaturday #150 and come to my session at 8:20am in Room 1700! </span></span></span></p>
<p><strong><em><span style="color:#000000;font-family:Calibri;font-size:medium;">Addendum: I’ll now also be presenting a second session “</span><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=150&amp;sessionid=9844"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">SQL Server 2012 Database Engine – Why Upgrade?</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">” in the 2:45pm slot in Room 1700.</span></span></span></em></strong></p>
<p>&nbsp;</p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;"><a href="http://www.sqlsaturday.com" target="_blank"><img class="alignleft size-full wp-image-642" title="SQLSat_logo" src="http://nancyhidywilson.files.wordpress.com/2012/07/sqlsat_logo.png?w=468" alt=""   /></a>If you can’t attend this event, then check </span><a href="http://www.sqlsaturday.com/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">here</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"> for all the currently scheduled SQLSaturdays in the US and around the world! </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">  </span></span></span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/sql-saturday/'>SQL Saturday</a>, <a href='http://nancyhidywilson.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/cms/'>CMS</a>, <a href='http://nancyhidywilson.wordpress.com/tag/enterprise-management/'>Enterprise Management</a>, <a href='http://nancyhidywilson.wordpress.com/tag/policy-based-management/'>Policy-Based Management</a>, <a href='http://nancyhidywilson.wordpress.com/tag/speaking/'>Speaking</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sqlsaturday/'>SQLSaturday</a>, <a href='http://nancyhidywilson.wordpress.com/tag/training/'>Training</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/638/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=638&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/07/27/sqlsaturday-150-baton-rouge-signup-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>

		<media:content url="http://nancyhidywilson.files.wordpress.com/2012/07/sqlsat_logo.png" medium="image">
			<media:title type="html">SQLSat_logo</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Server &#8220;Agent XPs&#8221; Behavior</title>
		<link>http://nancyhidywilson.wordpress.com/2012/07/24/sql-server-agent-xps-behavior/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/07/24/sql-server-agent-xps-behavior/#comments</comments>
		<pubDate>Tue, 24 Jul 2012 13:08:59 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[SQLAgent]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=630</guid>
		<description><![CDATA[Ever realize you’ve been doing something a certain way for so long and you don’t remember why? Or what the consequences would be if you changed how you did things? I was testing our new SQL Server installation process this week. We create a configuration file programmatically from user input and some set defaults and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=630&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Ever realize you’ve been doing something a certain way for so long and you don’t remember why? Or what the consequences would be if you changed how you did things? </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">I was testing our new SQL Server installation process this week. We create a configuration file programmatically from user input and some set defaults and then run the install unattended followed by executing a series of T-SQL and PowerShell scripts to make sure certain configurations are done. </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">Vicky Harp (</span><a href="http://vickyharp.com/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">blog</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> | </span><a href="http://www.twitter.com/vickyharp"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">twitter</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">) has a presentation on edge case testing which really caught my attention a few months back. For years, I’ve always made sure all parameters, required and optional, were explicitly defined for our installs. But, what if someone else runs this and isn’t as <em>precise </em>as I tend to be?(I know some of you are thinking of another word.) For the current test I was doing with our new process, I was only providing the absolute minimum required parameters and letting everything else default. The install ran great, and then the configuration files started executing. Surprisingly, I had two scripts report failure. I had successfully run the same set of scripts on a prior install earlier in the day. What changed?  You’ve probably already guessed, but bear with me through my analysis.</span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">My first thought was a SQL Server 2012 difference from SQL Server 2008 R2. The current install I was performing was 2012 while the earlier one was for 2008 R2. So, that seemed like the logical place to start – a difference between versions. But, I was confident that these scripts worked for both versions and had previously tested them independently of the install process. Then I looked a little more carefully at the error. The failing scripts were calling system stored procedures to modify SQLAgent’s job history settings. The error being reported was that the Agent XPs weren’t enabled.  I was confused – why did my SQL 2008 R2 install work fine with the same scripts and SQL 2012 fail? </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">While I’m pondering the mystery of what was different I remembered that the SQL 2012 Setup had returned error 3010 which means that a reboot is needed following the install; so I rebooted that box. In the meantime, I searched and verified that I indeed did not have a script which was explicitly enabling the Agent XPs, but somehow they were enabled on the SQL 2008 R2 system.  The SQL 2012 system came back up and I logged back on to continue my investigation. That was when I noticed that SQLAgent had not started following the reboot. Its start mode was set to “manual” which is the default if you do not specify the AGTSVCSTARTUPTYPE=”AUTOMATIC” in your configuration file. I opened SQL Server Configuration Manager and changed the SQLAgent service’s start mode to “Automatic” and started the service.  Then, I checked the value for <strong>sp_configure ‘Agent XPs’</strong> – and sure enough it was now 1 (enabled) and I could execute the scripts which previously failed. </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">At first I thought it was just changing the start mode to Automatic triggered the enabling of the Agent XPs, but I finally verified after testing several scenarios that <em>whenever</em> the SQLAgent service is started or stopped regardless of the start mode, it will enable or disable the Agent XPs respectively.  This is really confusing if you know that you have explicitly run:</span></span></span></p>
<p style="padding-left:30px;"><span style="font-size:medium;">sp_configure &#8216;Agent XPs&#8217;,<span style="color:#000000;"> 1</span>;</span></p>
<p style="padding-left:30px;"><span style="font-size:medium;">reconfigure;</span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Then you stop SQLAgent and don’t restart – it is now disabled as if you’d never run the above command. If you want to modify some aspect of SQLAgent while it is now stopped, you’ll have to run the above command again. </span></span></span></p>
<p style="padding-left:30px;"><span style="font-size:medium;">sp_configure &#8216;Agent XPs&#8217;,<span style="color:#000000;"> 1</span>;</span></p>
<p style="padding-left:30px;"><span style="font-size:medium;">reconfigure;</span></p>
<p style="padding-left:30px;"><span style="font-size:medium;">EXEC msdb.dbo.sp_set_sqlagent_properties @jobhistory_max_rows=<span style="color:#000000;">150000;</span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">So, you <em>can</em> modify the properties while SQLAgent is not running, you just have to remember to always enable the Agent XPs immediately beforehand. Since this behavior is </span><a href="http://msdn.microsoft.com/en-us/library/ms178127.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">by design</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"> for security purposes, then you’ll probably want to get the current setting before enabling it and if it was disabled, then set it back to disabled when you’ve finished running your command(s).  </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"><a href="http://nancyhidywilson.files.wordpress.com/2012/07/sqlagentxps.png"><img class="alignleft size-full wp-image-631" title="SQLAgentXPs" src="http://nancyhidywilson.files.wordpress.com/2012/07/sqlagentxps.png?w=468" alt=""   /></a>It’s pretty obvious when you use SSMS and the Agent XPs are disabled. You cannot access any SQLAgent nodes or even its properties. </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">You can leave the SQLAgent service stopped and run the sp_configure command to enable the XPs, and then you can access the SQLAgent properties in SSMS. Most of the time this shouldn’t be an issue, you’ll have SQLAgent running and the XPs will have been automatically enabled. But, just in case you ever run into an unexpected error with the Agent XPs like I did, hopefully, you’ll remember this behavior. </span></span></span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/configuration/'>Configuration</a>, <a href='http://nancyhidywilson.wordpress.com/tag/installation/'>Installation</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sqlagent/'>SQLAgent</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/630/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/630/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=630&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/07/24/sql-server-agent-xps-behavior/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>

		<media:content url="http://nancyhidywilson.files.wordpress.com/2012/07/sqlagentxps.png" medium="image">
			<media:title type="html">SQLAgentXPs</media:title>
		</media:content>
	</item>
		<item>
		<title>TSQL2sday #32 – A Day in the Life</title>
		<link>http://nancyhidywilson.wordpress.com/2012/07/17/tsql2sday-32-a-day-in-the-life/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/07/17/tsql2sday-32-a-day-in-the-life/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 12:39:31 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[T-SQL Tuesday]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[TSQL2sday]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=594</guid>
		<description><![CDATA[TSQL2sday is a monthly SQL Server blogger event started back in late 2009 by Adam Machanic (blog &#124; twitter). For more info on its beginning and purpose see the origin of TSQL2sday. Each month a different SQL Server blogger is the host (announces the theme and compiles a recap). This month’s event is hosted by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=594&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="color:#000000;font-family:Calibri;font-size:medium;"><a href="http://erinstellato.com/2012/07/invitation-for-tsql-tuesday-day-life/"><img class="size-full wp-image-398 alignleft" title="tsql2sday" src="http://nancyhidywilson.files.wordpress.com/2011/11/tsql2sday.jpg?w=468" alt=""   /></a>TSQL2sday is a monthly SQL Server blogger event started back in late 2009 by Adam Machanic (</span><a href="http://sqlblog.com/blogs/adam_machanic"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">blog</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> | </span><a href="http://www.twitter.com/adammachanic"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">twitter</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">). For more info on its beginning and purpose see </span><a href="http://sqlblog.com/blogs/adam_machanic/archive/2009/11/30/invitation-to-participate-in-t-sql-tuesday-001-date-time-tricks.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">the origin of TSQL2sday</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">. Each month a different SQL Server blogger is the host (announces the theme and compiles a recap). This month’s event is hosted by Erin Stellato (</span><a href="http://erinstellato.com/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">blog</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> | </span><a href="http://www.twitter.com/erinstellato"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">twitter</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">) and the selected theme for this month is “</span><a href="http://erinstellato.com/2012/07/invitation-for-tsql-tuesday-day-life/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">A Day in the Life</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">”.</span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Erin challenged us to track what we did in our jobs for a specific day and write about it. This is great because I often have trouble explaining to others (especially non-IT folk) what my title of SQL Server Service Engineer really means. However, as this exercise is just supposed to cover a single day, this is just a small sample of what I do. There is no such thing as a “normal” day for me. Sometimes my tasks are based on the “crisis du jour” prioritization method, and sometimes I can actually follow the team work plan. The variety in my job is one of the things I like about it. So here goes… </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"><span style="color:#000000;">Unless, I have an early morning meeting with global colleagues, my day nearly always begins with processing email. Since I work in a global organization in the region whose workday is last to begin, even if I’d cleared my Inbox the day before, I always open my mailbox to encounter new emails from European and Asia-Pacific colleagues who have already completed or are wrapping up their workday. In that sense, this day starts out as just a normal day (no early meetings!).</span></span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Unfortunately for this write-up, it appears that summer time may be impacting my email load in a positive sense as I have only a handful of emails and only as a cc on a couple of subjects which one of my teammates is handling.  One of the issues has to do with deploying SQL Server Enterprise Edition versus Standard Edition and licensing implications for the customer. My team is comprised of<em> technical </em>experts – we can tell the customer if what they are trying to do requires a specific edition of SQL Server to use the requested feature, but we are not involved in the licensing agreements between Microsoft and each customer.  That is for others to figure out!  </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Email done and no looming crisis for today, I can get back to the task I’ve been working on previously – writing an automated process to rollout multiple T-SQL Scripts to multiple instances using PowerShell. These are the scripts which update the standard tables and stored procedures in the admin database we install on all instances along with a set of SQLAgent jobs which the operational DBAs use for system maintenance. Every so often, we need to rollout updates to these objects. Our current automated process for doing this (which was developed for SQL 2005) isn’t as automated as we’d like it to be. We have since created a CMS and are utilizing registered groups to run various processes (like <a title="CodePlex EPM Framework" href="http://epmframework.codeplex.com/" target="_blank">EPM</a>) and now want to extend that concept to this activity as well. I’m thinking within a couple of hours I can write a script to save our operational DBAs literally hundreds of man-hours. Easy, right? </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">If you’ve worked with PowerShell any at all – or any programming language for that matter – you know there is always more than one way to write a process to accomplish the task at hand. The challenge is in finding the most efficient way that gives you what you want.  Our old script to run a set of .sql files was written in VBScript and called the sqlcmd utility. I figured I’m writing this in PowerShell, I’m using Invoke-Sqlcmd to get the list of instances from the CMS, I can use the Invoke-Sqlcmd cmdlet as shown </span><a href="http://technet.microsoft.com/en-us/library/cc281720.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">in BOL</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> in the second example and it will work just like sqlcmd. Wrong! It seems that example only works if you are running a SELECT statement in your InputFile.  This particular set of .sql files should have no output unless it is an error and in my test I have a script which I know produces an error – but my output file is empty. </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">I try various parameters such as -ErrorLevel and -SeverityLevel and I even use -Verbose to no avail – still nothing is piped to my output file.  I consult with my team mates to see if they tried this before; I search for examples on the Internet and the best I can find in one of the forums was someone else encountering the same thing, but with no solution for me. I can be stubborn some times and I’m not about to give up yet – after a couple of hours of struggling – I fire off an email to my SQL PowerShell buddy Allen White (</span><a href="http://sqlblog.com/blogs/allen_white/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">blog</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> | </span><a href="http://twitter.com/SQLRunr"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">twitter</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">) asking for his input – can I do what I’m trying to do with Invoke-Sqlcmd or should I revert to calling sqlcmd? </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">While waiting for Allen to respond, a couple of more emails have hit my Inbox.  Yea! It appears that our request to rebuild one of our team’s test servers has been completed.  We try not to do this too often, but part of engineering is writing scripts \ installing \ testing \ uninstalling \ enhancing scripts…repeat; over the course of time sometimes things get so messed up from all the testing (and occasional bad script) you just have to start over with a clean image.  This is now a box we plan to use for testing our processes on SQL Server 2012. </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">It doesn’t take long before I have a reply from Allen – I hope he doesn’t mind if I quote him: </span></span></span></p>
<p style="padding-left:30px;"><em><span style="font-size:medium;"><span style="font-family:Calibri;">I honestly believe that it&#8217;s best to use the tool that best suits the task, so I&#8217;d use sqlcmd here, because it works the way you want it to. </span></span></em></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Thanks Allen for the reminder not to use a hammer when a screwdriver is what you need! Sometimes, a hammer is all you have, but not in this case.  </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Now, it’s time for lunch. I head down to the cafeteria with my team mates and join other colleagues at our usual table. I don’t hang around too long chit-chatting as I want to get back to my desk and switch out my code and test so I can announce success at our afternoon team meeting. </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">Remember earlier what I said about more than one way to do something? Now, I have to decide how to go about calling sqlcmd.exe from PowerShell. I need to specify variables to all the parms based on the target instance and input file to execute – and the output filename and location is dynamically determined as well based on the target instance and input filename.  I start with looking at Invoke-Command, then move to Invoke-Expression, but I’m still not getting my output file like I want it and I’m not able to detect if sqlcmd experienced an error to report in my general execution log. I have an example using <strong>[diagnostics.process]::start($exe,$args).WaitForExit()</strong> that seems to be getting me close to what I want, but now it is time to break for my afternoon meeting. </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">I’m the Technical Team Lead for a team of three. We each have our areas of specialization within the overall work plan, but try to keep each other in the loop so we can back each other up at any time. As needed (usually every 1-2 weeks), we meet formally to update the work plan, assign/reassign new/old tasks if needed, catch each other up on what we’ve each been working on and brainstorm areas for improvement. This is one of those meetings and since last week was a holiday week and we didn’t meet, we have a lot to catch up on.  The nice thing about a team is having others to bounce ideas off of and this is what I do with my frustration in finding the exact syntax I need to be using to get the results I want from calling sqlcmd inside PowerShell.  The next thing I know, one of my colleagues has done their own search and found a code example – I look and express skepticism as it is very much like what I’m already doing, but with one key difference that might make a difference; what can it hurt to try? </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">We continue to discuss how far we want to take this initial rewrite of our update process.  We are also in progress of redesigning our whole automated install process and ultimately we want the update process to utilize what we are putting into place there.  However, we have a more immediate need to have the operations team rollout some updates and decide that version 1 of the update process will do no more than we have already in place today (in terms of reporting), but it will be automated such that the DBAs only need to review the central output file for any problems. Selection of the systems requiring an update into a special CMS group can be done in an automated fashion as well as scheduling the update itself in SQLAgent. We decide to make further enhancements for logging the process’s results into a central table in a future version. </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">Our meeting continues with more brainstorming about the consequences of developing an install and configuration solution for SQL Server which can account for multiple versions and differing customer standards (e.g. install locations). We plot out on the whiteboard differing ways we can handle this – probably the umpteenth discussion like this that we’ve had; but each time we come in with new experiences and thoughts from what we decided previously and in some cases started trying to implement and we are therefore continually refining the solution.  We are becoming more confident that we are developing a standardized, but flexible solution which is also more sustainable across multiple versions of SQL Server than our existing process. </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">The meeting concludes and although I’m anxious to try the code snippet my colleague found, it is really time for me to head home. I arrived at the office much earlier this morning than my normal start time trying to beat the rain and now I need to try to get home before the next round hits. There is some flooding already occurring around town. Working further on this script can wait until later. I know that once I do get started back on it, I won’t stop until I have it totally finished. That’s my life! </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">I probably learned more today in trying all the ways that didn’t work the way I thought they would than if the first code I tried had worked. This experience will pay off later, I know. </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"><a href="null"><img class="alignleft" src="http://upload.wikimedia.org/wikipedia/commons/2/29/Lightbulb.jpg" alt="" width="219" height="252" /></a></span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Today was an “Edison day”:</span></span></span></p>
<p style="padding-left:30px;"><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"><em>I am not discouraged, because every wrong attempt discarded is another step forward</em>. </span></span></span></p>
<p style="padding-left:30px;"><em><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">I have not failed. I’ve just found 10,000 ways that didn’t work. </span></span></span></em></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;"> </span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">P.S. I did finally get the script functioning the way I wanted the following day and it will save our operations team hundreds and maybe even thousands of hours. <em><strong>This</strong></em> is what I do!</span></span></span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/powershell/'>PowerShell</a>, <a href='http://nancyhidywilson.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>, <a href='http://nancyhidywilson.wordpress.com/category/t-sql-tuesday/'>T-SQL Tuesday</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/automation/'>Automation</a>, <a href='http://nancyhidywilson.wordpress.com/tag/cms/'>CMS</a>, <a href='http://nancyhidywilson.wordpress.com/tag/installation/'>Installation</a>, <a href='http://nancyhidywilson.wordpress.com/tag/powershell/'>PowerShell</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/tag/tsql2sday/'>TSQL2sday</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/594/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=594&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/07/17/tsql2sday-32-a-day-in-the-life/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>

		<media:content url="http://nancyhidywilson.files.wordpress.com/2011/11/tsql2sday.jpg" medium="image">
			<media:title type="html">tsql2sday</media:title>
		</media:content>

		<media:content url="http://upload.wikimedia.org/wikipedia/commons/2/29/Lightbulb.jpg" medium="image" />
	</item>
		<item>
		<title>Database Security Roles in msdb</title>
		<link>http://nancyhidywilson.wordpress.com/2012/07/16/database-security-roles-in-msdb/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/07/16/database-security-roles-in-msdb/#comments</comments>
		<pubDate>Mon, 16 Jul 2012 13:07:10 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[msdb]]></category>
		<category><![CDATA[SQL Server 2000]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server 2008 R2]]></category>
		<category><![CDATA[SQL Server 2012]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=587</guid>
		<description><![CDATA[All databases have a standard set of “fixed” database security roles which have been available since SQL Server 2000 and hopefully, even if you are new to SQL Server, you are familiar with this set: db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin db_denydatareader db_denydatawriter db_owner db_securityadmin Back in the day, the msdb database was primarily used for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=587&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">All databases have a standard set of “fixed” database security roles which have been available since SQL Server 2000 and hopefully, even if you are new to SQL Server, you are familiar with this set:</span></span></span></p>
</div>
<div>
<ul>
<li><strong>db_accessadmin</strong></li>
<li><strong>db_backupoperator</strong></li>
<li><strong>db_datareader</strong></li>
<li><strong>db_datawriter</strong></li>
<li><strong>db_ddladmin</strong></li>
<li><strong>db_denydatareader</strong></li>
<li><strong>db_denydatawriter</strong></li>
<li><strong>db_owner</strong></li>
<li><strong>db_securityadmin</strong></li>
</ul>
</div>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Back in the day, the <strong>msdb</strong> database was primarily used for managing backups, SQLAgent jobs, and DTS packages. And, other than the <strong>TargetServersRole</strong> role for multi-server job management via a master server and target servers, there were no other database roles defined for helping establish a separation of duties security model for tasks controlled via <strong>msdb</strong>.  </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">In SQL Server 2005 some long awaited new roles were added to <strong>msdb</strong> (</span><a href="http://msdn.microsoft.com/en-us/library/ms188283(SQL.90).aspx)"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">http://msdn.microsoft.com/en-us/library/ms188283(SQL.90).aspx)</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> which help with segregating permissions for managing SQLAgent Jobs, DTS\SSIS, Database Mirroring, and Database Mail (the replacement for SQL Mail): </span></span></span></p>
<ul>
<li><strong>DatabaseMailUserRole</strong></li>
<li><strong>db_dtsadmin</strong> &#8211; renamed in later versions as <strong>db_ssisadmin</strong></li>
<li><strong>db_dtsltduser </strong>-renamed in later versions as <strong>db_ssisltduser</strong></li>
<li><strong>db_dtsoperator</strong> &#8211; renamed in later versions as <strong>db_ssisoperator</strong></li>
<li><strong>dbm_monitor</strong> &#8211; does not appear until database mirroring is implemented</li>
<li><strong>SQLAgentUserRole</strong></li>
<li><strong>SQLAgentReaderRole</strong></li>
<li><strong>SQLAgentOperatorRole</strong></li>
</ul>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">Then, in SQL Server 2008 even more roles appeared as <strong>msdb</strong> took on increased importance in the management of new features such as the CMS (Central Management Server), PBM (Policy Based Management), Data Collection, and MDW (Management Data Warehouse). </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Thus, the following new roles may be found in SQL Server 2008+: </span></span></span></p>
<ul>
<li><strong>dc_admin </strong>– <a href="http://msdn.microsoft.com/en-us/library/bb630341(SQL.105).aspx"><span style="color:#0000ff;">see BOL for description of permissions for Data Collector &amp; MDW roles</span></a></li>
<li><strong>dc_operator</strong></li>
<li><strong>dc_proxy</strong></li>
<li><strong>mdw_admin</strong></li>
<li><strong>mdw_reader</strong></li>
<li><strong>mdw_writer</strong></li>
<li><strong>PolicyAdministratorRole</strong> – members can manage policies</li>
<li><strong>ServerGroupAdministratorRole </strong>– members can manage the CMS</li>
<li><strong>ServerGroupReaderRole </strong>– members can read from the CMS</li>
</ul>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">In SQL 2008 R2 one more set of roles was added for the Server Utility (UCP) feature: </span></span></span></p>
<ul>
<li><strong>UtilityCMRReader</strong></li>
<li><strong>UtilityIMRReader</strong></li>
<li><strong>UtilityIMRWriter</strong></li>
</ul>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">The above UCP roles are primarily assigned via the Server Utility configuration wizard and Utility Explorer Security tab. The “Utility Reader role” referenced in the Security tab is equivalent to the <strong>UtilityCMRReader</strong> role. As you may notice, certain service and administrator accounts are automatically in this role and cannot be changed (grayed out). </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;"><img class="alignnone size-full wp-image-589" title="UtilityReaderRole" src="http://nancyhidywilson.files.wordpress.com/2012/07/utilityreaderrole.png?w=468&#038;h=292" alt="" width="468" height="292" /></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">And, now in SQL Server 2012, believe it or not, there are no new roles in <strong>msdb</strong>!  So, if you haven’t kept up with all the changes in <strong>msdb</strong> in the past few versions, this is your chance to catch up and make sure that you are fully utilizing these features and roles as needed in your environment. For a recap of all the features which utilize <strong>msdb</strong>, you can also refer to an earlier post I wrote – </span><a href="http://nancyhidywilson.wordpress.com/2011/01/24/whats-in-your-msdb/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">“What’s in <em>Your</em> msdb?”</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">.</span></span></span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/security/'>Security</a>, <a href='http://nancyhidywilson.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/msdb/'>msdb</a>, <a href='http://nancyhidywilson.wordpress.com/tag/security/'>Security</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2000/'>SQL Server 2000</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2005/'>SQL Server 2005</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2008/'>SQL Server 2008</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2008-r2/'>SQL Server 2008 R2</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2012/'>SQL Server 2012</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/587/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=587&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/07/16/database-security-roles-in-msdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>

		<media:content url="http://nancyhidywilson.files.wordpress.com/2012/07/utilityreaderrole.png" medium="image">
			<media:title type="html">UtilityReaderRole</media:title>
		</media:content>
	</item>
		<item>
		<title>Discontinued Features in SQL Server 2012 – Part 4</title>
		<link>http://nancyhidywilson.wordpress.com/2012/07/10/discontinued-features-in-sql-server-2012-part-4/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/07/10/discontinued-features-in-sql-server-2012-part-4/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 13:05:40 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[Backward Compatibility]]></category>
		<category><![CDATA[Deprecated Features]]></category>
		<category><![CDATA[SQL Server 2000]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server 2008 R2]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Upgrade]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=580</guid>
		<description><![CDATA[In the previous installment on this topic, I looked at discontinued features in SQL Server 2012 which may mostly impact your administration scripts.  Today, we are widening the net and looking at discontinued features which may impact either the application layer or administration programs and scripts. Most of these items have been deprecated as far [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=580&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="color:#000000;font-family:Calibri;font-size:medium;">In the </span><a href="http://nancyhidywilson.wordpress.com/2012/07/03/discontinued-features-in-sql-server-2012-part-3/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">previous installment</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> on this </span><a href="http://nancyhidywilson.wordpress.com/tag/deprecated-features/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">topic</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">, I looked at discontinued features in SQL Server 2012 which may mostly impact your administration scripts.  Today, we are widening the net and looking at discontinued features which may impact either the application layer or administration programs and scripts. Most of these items have been deprecated as far back as SQL Server 2000, so it isn’t like they have gone away overnight. However, if you are still running on SQL Server 2000, then you really haven’t had a need to go replace them…until now. </span></span></span></p>
<p><span style="color:#000000;"><span style="font-size:medium;"><span style="font-family:Calibri;"><strong>SQL Mail</strong> is finally gone! It would have been totally fine with me if SQL Mail had been discontinued as soon as </span></span></span><a href="http://msdn.microsoft.com/en-us/library/ms189635"><strong><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Database Mail</span></strong></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> was added in SQL Server 2005.  However, you do lose functionality (receive mail processing) with Database Mail, but the trade-off is much improved reliability, security, supportability, and scalability. For example, you no longer need an Extended MAPI client (e.g. Outlook) installed; you don’t run the risk of attacks via reading mail; and Database Mail is supported on clusters. So, if you are still using the read\process mail functionality of SQL Mail, you’ll need to find another method for your application to use before upgrading to SQL Server 2012.  If all you are doing are send mail tasks, including notifications from </span><a href="http://msdn.microsoft.com/en-us/library/ms186358(v=sql.105)"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">SQLAgent</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">, then the switch to Database Mail is a no-brainer and you can do it </span><a href="http://msdn.microsoft.com/en-us/library/ms187891(SQL.105).aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">now</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"> in SQL Server 2005/2008/2008R2. However, this is more than just a configuration change; it does require usage coding changes for example from <strong>xp_sendmail</strong> to <strong>sp_send_dbmail</strong>.  </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">Unless you’ve been stuck on SQL Server 2000, you have probably already started converting applications using </span><a href="http://msdn.microsoft.com/en-us/library/aa258911(v=sql.80).aspx"><strong><span style="color:#0000ff;font-family:Calibri;font-size:medium;">SQL-DMO</span></strong></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> (Database Management Objects) to use </span><a href="http://msdn.microsoft.com/en-us/library/ms162169"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">SQL-SMO</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> (SQL Server Management Objects) when you found you wanted to access newer features in SQL Server 2005+ that were not available via SQL-DMO.  If you want to use your SQL-DMO scripts against SQL Server 2012 – you must convert to SQL-SMO; SQL-DMO is discontinued. </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">If you have databases in compatibility mode 80, it might be because the code using them is still using the old <strong>non-ANSI outer join syntax “*=” or “=*”</strong>.  This syntax is not supported in later compatibility modes and because </span><a href="http://nancyhidywilson.wordpress.com/2012/06/26/discontinued-features-in-sql-server-2012-part-2/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">compatibility mode 80 is not supported in SQL Server 2012</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">, this syntax is no longer recognized in SQL Server 2012 in any scenario.  You’ll need to get all of this code up-to-date with current ANSI join syntax used in the </span><a href="http://msdn.microsoft.com/en-us/library/ms177634.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">FROM</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> clause.</span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">Another T-SQL syntax which is disappearing is the <strong>COMPUTE</strong> / <strong>COMPUTE BY</strong> clause in SELECT statements; you will need to convert these statements to use the </span><a href="http://msdn.microsoft.com/en-us/library/ms177673.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">ROLLUP</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> option of the GROUP BY clause. </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">If you tried to speed up the results returned to your client or force a particular query plan by using the <strong>FASTFIRSTROW</strong> query hint, you’ll need to switch to the OPTION (FAST n) syntax as FASTFIRSTROW is no longer available.  For more info on the overall impact of using this option, see this </span><a href="http://blogs.msdn.com/b/queryoptteam/archive/2006/03/30/564912.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">blog</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> from the SQL Server Query Optimization team and this </span><a href="http://www.scarydba.com/2008/05/15/fast-n-query-hint/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">one</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> from SQL MVP Grant Fritchey. As with all query hints, you should re-evaluate these periodically as they may no longer be as beneficial as when originally added. </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">In SQL Server 2012, you can no longer invoke an ad-hoc error message number using <strong>RAISERROR <em>integer ‘message’</em> </strong>syntax as in: </span>RAISERROR<span style="color:#000000;"> 50111 </span>&#8216;Sample error message&#8217;<span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">.  You’ll need to convert to the RAISERROR() syntax:  </span></span></span>RAISERROR (&#8216;Sample error message&#8217;,<span style="color:#000000;"> 10</span>,<span style="color:#000000;"> 1</span>)<span style="color:#000000;font-family:Calibri;font-size:medium;">. But, if you want to really get your code current, convert to </span><a href="http://msdn.microsoft.com/en-us/library/ms175976"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">TRY…CATCH</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> (available since SQL Server 2005) and use </span><a href="http://msdn.microsoft.com/en-us/library/ee677615"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">THROW</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> (new in SQL Server 2012). There are some differences in behavior between RAISERROR and THROW and these are documented in </span><a href="http://msdn.microsoft.com/en-us/library/ee677615"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">BOL&#8217;s THROW entry</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">.</span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">I’ve only highlighted a sample of discontinued features in this set of </span><a href="http://nancyhidywilson.wordpress.com/tag/deprecated-features/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">articles</span></a>;<span style="color:#000000;font-family:Calibri;font-size:medium;"> for the complete list of discontinued database engine features in SQL Server 2012, please reference </span><a href="http://technet.microsoft.com/en-us/library/ms144262"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">BOL</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">. And for help finding out if you are using these features (which were deprecated in earlier releases), I covered that </span><a href="http://nancyhidywilson.wordpress.com/2011/03/22/sql-server-deprecated-features-part-3/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">here</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">. </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Happy upgrading! </span></span></span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/backward-compatibility/'>Backward Compatibility</a>, <a href='http://nancyhidywilson.wordpress.com/tag/deprecated-features/'>Deprecated Features</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2000/'>SQL Server 2000</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2005/'>SQL Server 2005</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2008/'>SQL Server 2008</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2008-r2/'>SQL Server 2008 R2</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2012/'>SQL Server 2012</a>, <a href='http://nancyhidywilson.wordpress.com/tag/upgrade/'>Upgrade</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/580/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=580&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/07/10/discontinued-features-in-sql-server-2012-part-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>
	</item>
		<item>
		<title>Discontinued Features in SQL Server 2012 – Part 3</title>
		<link>http://nancyhidywilson.wordpress.com/2012/07/03/discontinued-features-in-sql-server-2012-part-3/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/07/03/discontinued-features-in-sql-server-2012-part-3/#comments</comments>
		<pubDate>Tue, 03 Jul 2012 13:10:42 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[Backward Compatibility]]></category>
		<category><![CDATA[Deprecated Features]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Upgrade]]></category>
		<category><![CDATA[Windows PowerShell]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=575</guid>
		<description><![CDATA[Part 1 discussed some discrepancies between documentation of discontinued features in SQL Server 2012 and actual implementation. Part 2 discussed the database compatibility level minimum requirement. Now, in this installment, let’s look at some features which have disappeared from SQL Server 2012 which may impact your administration scripts. The first one, the DATABASEPROPERTY function, I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=575&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://nancyhidywilson.wordpress.com/2012/05/31/discontinued-features-in-sql-server-2012-part-1/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Part 1</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;"> discussed some discrepancies between documentation of discontinued features in SQL Server 2012 and actual implementation. </span><a href="http://nancyhidywilson.wordpress.com/2012/06/26/discontinued-features-in-sql-server-2012-part-2/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Part 2</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> discussed the database compatibility level minimum requirement. Now, in this installment, let’s look at some features which have disappeared from SQL Server 2012 which may impact your administration scripts. </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">The first one, the <strong>DATABASEPROPERTY</strong> function, I already covered in </span><a href="http://nancyhidywilson.wordpress.com/2012/05/31/discontinued-features-in-sql-server-2012-part-1/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Part 1</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">. While it doesn’t appear to be completely gone, the documentation states that it is gone. So, as you edit your scripts for all the other items mentioned next don’t forget to make the change to use DATABASEPROPERTYEX instead of DATABASEPROPERTY. </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">Next up, <strong>sp_dboption</strong> is gone. That’s right – it’s not there… You get a nice red error message in SSMS when you try to use it. </span></span></span></p>
<p><span style="color:#ff0000;">Msg 2812, Level 16, State 62, Line 1</span></p>
<p><span style="color:#ff0000;">Could not find stored procedure ‘sp_dboption’.</span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">Everything you needed to set using <strong>sp_dboption</strong> is now available via the ALTER DATABASE syntax – and pretty much has been since SQL Server 2000. But, if you are as “experienced” as I am (going back to 4.21), then you may still have some old scripts laying around with sp_dboption in them.  Unless you still have some 7.0 or earlier systems on which to use those scripts – update them to use ALTER DATABASE and they should work on SQL Server 2000 and up (with an exception for the database ownership chaining option which was added in SQL Server 2000 SP3 and only available to set via sp_dboption in SQL Server 2000). </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">Now – how about a review of your Backup and Restore scripts?  Did you make use of the <strong>WITH PASSWORD</strong> or <strong>WITH MEDIAPASSWORD</strong> options on your BACKUP DATABASE and BACKUP LOG commands? If so, you’ll need to remove those options for use on SQL Server 2012. These options have been deprecated since SQL Server 2005, so in theory you should have stopped using them at that point in time. You can still use these options with the RESTORE command for those old backups which used a password, but you can’t make any new backups using the password options.  Keep in mind though that the ability to use the RESTORE command for backups with passwords is deprecated and will be removed in future version. </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">This next one will really date you (and me!) – do you have <strong>RESTORE DATABASE…WITH DBO_ONLY</strong> syntax in any scripts?  If so, you should have replaced <strong>WITH DBO_ONLY</strong> as <strong>WITH RESTRICTED_USER </strong>starting with SQL Server 2000. </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">Do you run scripts to dump the meta-data from the system tables\views?  Do they include the <strong>sys.database_principal_aliases</strong> view? If so, it is gone now, too. You’ll receive error 208 (invalid object name) if you reference it.  Aliases have been replaced by roles. </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">OK – so now you know what to look for, but how about an easy way to find where these keywords are used in your scripts?  Here’s a quick PowerShell command example (adapted from </span><a href="http://guyellisrocks.com/powershell/powershell-grep/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">http://guyellisrocks.com/powershell/powershell-grep/</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">) to help:  </span></span></span></p>
<p><strong><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Get-ChildItem -include *.sql -recurse | Select-String &#8220;sp_dboption&#8221;</span></span></span></strong></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">Have fun hunting down these obsolete keywords!</span></span></span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/powershell/'>PowerShell</a>, <a href='http://nancyhidywilson.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/backward-compatibility/'>Backward Compatibility</a>, <a href='http://nancyhidywilson.wordpress.com/tag/deprecated-features/'>Deprecated Features</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2012/'>SQL Server 2012</a>, <a href='http://nancyhidywilson.wordpress.com/tag/upgrade/'>Upgrade</a>, <a href='http://nancyhidywilson.wordpress.com/tag/windows-powershell/'>Windows PowerShell</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/575/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/575/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=575&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/07/03/discontinued-features-in-sql-server-2012-part-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>
	</item>
		<item>
		<title>Discontinued Features in SQL Server 2012 – Part 2</title>
		<link>http://nancyhidywilson.wordpress.com/2012/06/26/discontinued-features-in-sql-server-2012-part-2/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/06/26/discontinued-features-in-sql-server-2012-part-2/#comments</comments>
		<pubDate>Tue, 26 Jun 2012 14:40:31 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[Backward Compatibility]]></category>
		<category><![CDATA[Deprecated Features]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[Upgrade]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=569</guid>
		<description><![CDATA[Previously I discussed a couple of features where there is a discrepancy between the documentation and the implementation as to their status as either discontinued or deprecated in SQL Server 2012. Today, I’m looking at another discontinued feature which you will need to identify and address before upgrading to SQL Server 2012 – database compatibility [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=569&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://nancyhidywilson.wordpress.com/2012/05/31/discontinued-features-in-sql-server-2012-part-1/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Previously</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> I discussed a couple of features where there is a discrepancy between the documentation and the implementation as to their status as either discontinued or deprecated in SQL Server 2012. Today, I’m looking at another discontinued feature which you will need to identify and address before upgrading to SQL Server 2012 – <strong>database compatibility level 80</strong>. </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">A database’s compatibility level is used by the database engine to ensure that most behavior is consistent to that version for the specific database.  This database-level setting is intended as a work around to allow applications to upgrade to a newer version of the database engine for which usually all databases can derive some benefits without requiring the application to make any changes (in theory). If an individual application database is using a feature or syntax previously supported for which the behavior changed in the later version, then you can set a down-level compatibility to keep the original behavior from that version….until your application development team or your vendor can make the code compatible with the current version of SQL Server.  </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">Beginning with SQL Server 2008, Microsoft’s announced life cycle policy for SQL Server was that a new version will attempt backwards compatibility with only the 2 previous versions. Since databases in SQL Server 2012 are compatibility level 110, then only compatibility level 100 (used for both SQL Server 2008 and SQL Server 2008 R2) and compatibility level 90 (SQL Server 2005) are additionally supported.  Thus, <strong>database compatibility level 80</strong> (SQL Server 2000) will not be supported in SQL Server 2012 and is therefore classified as a discontinued feature. </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">If you are a fairly new DBA who inherited your database systems and don’t know their history, you’d better check all the databases carefully for compatibility level.  While SQL Server 2008 and SQL Server 2008 R2 both support databases in 80, 90, and 100 compatibility mode, SQL Server 2005 supports databases in 70, 80, and 90 compatibility modes (and allows 60 &amp; 65!).  Thus, although you can upgrade a SQL Server 2005 instance to SQL Server 2012 – you need to check that all of the application databases are at compatibility level 90. You might be surprised (or not) to find that you still have databases which exist with compatibility level 6x on your SQL Server 2005 instances!  </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">So, how do you find these? One way is to use a multi-server query using a </span><a href="http://nancyhidywilson.wordpress.com/2010/12/05/managing-the-enterprise-with-cms/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">CMS group containing all your servers…</span></a></p>
<p style="padding-left:30px;"><span style="color:#0000ff;">Select </span><span style="color:#008080;font-family:Lucida Console;"><span style="color:#008080;font-family:Lucida Console;">[name]</span></span><span style="color:#808080;font-family:Lucida Console;"><span style="color:#808080;font-family:Lucida Console;">,</span></span><span style="color:#008080;font-family:Lucida Console;"><span style="color:#008080;font-family:Lucida Console;">[compatibility_level] </span></span><span style="color:#0000ff;">From </span><span style="color:#008000;font-family:Lucida Console;"><span style="color:#008000;font-family:Lucida Console;">sys</span></span><span style="color:#808080;font-family:Lucida Console;"><span style="color:#808080;font-family:Lucida Console;">.</span></span><span style="color:#008000;font-family:Lucida Console;"><span style="color:#008000;font-family:Lucida Console;">databases</span></span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;">Where </span><span style="color:#008080;font-family:Lucida Console;"><span style="color:#008080;font-family:Lucida Console;">[compatibility_level]</span></span><span style="color:#808080;font-family:Lucida Console;"><span style="color:#808080;font-family:Lucida Console;">&lt;</span></span><span style="font-family:Lucida Console;"> 90</span><span style="color:#808080;font-family:Lucida Console;"><span style="color:#808080;font-family:Lucida Console;">;</span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">How do you fix it? Well, ultimately you have to run one of these commands: </span></span></span></p>
<p><span style="color:#008000;">&#8211; If source system is SQL 2005</span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;">ALTER DATABASE</span> <span style="color:#008080;">reallyold_database</span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;">SET COMPATIBILITY_LEVEL </span>=<span style="color:#000000;"> 90</span>;</p>
<p><span style="color:#008000;">&#8211; If source system is SQL 2008 or 2008 R2 and compatibility_level is 80,</span></p>
<p><span style="color:#008000;">&#8211; then you might as well take it as far as you can go!</span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;">ALTER DATABASE</span> <span style="color:#008080;">reallyold_database</span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;">SET COMPATIBILITY_LEVEL</span> =<span style="color:#000000;"> 100</span>;</p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">But, first you’ll have to figure out what is keeping it from being at the higher compatibility level already.  Check the SQL Server documentation under “</span><a href="http://msdn.microsoft.com/en-us/library/bb510680.aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">ALTER DATABASE Compatibility Level (Transact-SQL)</span></a><span style="color:#000000;font-family:Calibri;font-size:medium;">” for details of differences between compatibility levels. Be sure to check the </span><a href="http://msdn.microsoft.com/en-us/library/bb510680(v=sql.100).aspx"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">SQL Server 2008</span></a><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;"> version of the documentation for differences between the 80 and 90 compatibility levels. In some cases, it is simply that the database was upgraded and the former DBA didn’t realize that they needed to change the compatibility level after the upgrade.  And, of course, don’t <em>you</em> now forget to change upgraded databases to compatibility level 110 after you complete the upgrade to SQL Server 2012! </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;"> </span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/backward-compatibility/'>Backward Compatibility</a>, <a href='http://nancyhidywilson.wordpress.com/tag/deprecated-features/'>Deprecated Features</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server/'>SQL Server</a>, <a href='http://nancyhidywilson.wordpress.com/tag/sql-server-2012/'>SQL Server 2012</a>, <a href='http://nancyhidywilson.wordpress.com/tag/upgrade/'>Upgrade</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/569/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=569&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/06/26/discontinued-features-in-sql-server-2012-part-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>
	</item>
		<item>
		<title>Title IX and Me</title>
		<link>http://nancyhidywilson.wordpress.com/2012/06/24/title-ix-and-me/</link>
		<comments>http://nancyhidywilson.wordpress.com/2012/06/24/title-ix-and-me/#comments</comments>
		<pubDate>Sun, 24 Jun 2012 14:05:03 +0000</pubDate>
		<dc:creator>Nancy Hidy Wilson</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Title IX]]></category>

		<guid isPermaLink="false">http://nancyhidywilson.wordpress.com/?p=536</guid>
		<description><![CDATA[Saturday was the official 40th anniversary of Title IX which stated: No person in the United States shall, on the basis of sex, be excluded from participation in, be denied the benefits of, or be subjected to discrimination under any education program or activity receiving Federal financial assistance. The focus was on educational opportunities for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=536&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="color:#000000;"><span style="font-family:Calibri;"><span style="font-size:medium;">Saturday was the official 40</span><sup><span style="font-size:small;">th</span></sup><span style="font-size:medium;"> anniversary of </span></span></span><a href="http://www.dol.gov/oasam/regs/statutes/titleix.htm"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Title IX</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"> which stated: <em>No person in the United States shall, on the basis of sex, be excluded from participation in, be denied the benefits of, or be subjected to discrimination under any education program or activity receiving Federal financial assistance.</em></span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">The focus was on educational opportunities for women, but the most notable side effect was to their participation in sports.  Prior to Title IX there was no incentive to provide athletic scholarships to women.</span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">I was 8 ½ years old when Title IX legislation was signed on June 23, 1972. There were not any sporting opportunities other than gymnastics, swimming, and baton twirling (in which my sister excelled) that I was aware of at that time for girls my age in our immediate area.  But, I wanted to play ball – baseball or softball, I didn’t really care – I just wanted to play! The local Little League was boys only – I know there were cases around the country of girls getting to play with the boys, but my parents weren’t going to push that envelope. The YMCA did have a girls’ softball league – but you had to be 10 years old – which meant I had to wait two more summers after Title IX passed to play organized ball as changes related to Title IX didn’t happen immediately. </span></span></span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;"><span style="color:#000000;">I learned quite a few life lessons during that summer of 1974 playing softball at the “Y” – maybe subject matter for another post some time. I was very excited when I learned that our local Little League would include Girls’ Softball in 1975! I don’t know the details around this addition, but I always associated it with Title IX at least indirectly.  Thus, I played in the inaugural season of the North Shore Little League Softball in Houston. The age divisions then are different than today. That first year there were 4 Minor League (7-9 year olds) teams and 4 Major League (10-12 year olds) teams, so approximately 100 girls suddenly had the opportunity to play organized ball.</span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"><img class="size-medium wp-image-564 alignleft" title="Nancy_NSLL_Apaches_Portrait" src="http://nancyhidywilson.files.wordpress.com/2012/06/nancy_nsll_apaches_portrait.jpg?w=204&#038;h=300" alt="" width="204" height="300" />I remember being both upset and happy that my younger sister got to play organized ball at an earlier age than I did! A Junior\Senior League (13-15 &amp; 16-18 year olds) was added the next year, so I continued playing Little League Softball until I was in high school.  However, we did not have a high school softball team – which is a real shame because we had some really good softball players.  The school did add a softball team a couple of years after I graduated.  </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">I also got my first paying job (which was not babysitting) as a result of playing Little League Softball; I was the official scorekeeper for the 13-15 year old league in 1980. I was paid $4/game.  This was before the PC, so I calculated all the stats by hand in a notebook. Okay, I probably used my TI-30 calculator, and then entered the results in my notebook!  It probably worked out to about 50 cents/hour after all of that; but, hey, I was having fun and now had something to put on my resume’!  </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">No, I didn’t play softball at the collegiate level; although I did participate briefly in open tryouts my sophomore year until I scored poorly on a Calculus exam and decided I’d better refocus on my education!  The education I was pursuing was in Computer Science, not in Nursing or Education – the traditional fields entered by women prior to Title IX. My parents raised me to believe that I could do and be anything I wanted and I believed them; but Title IX enabled that belief.    </span></span></span></p>
<p><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;">The implementation of Title IX has been far from perfect over the years, but it has helped to level the playing field (pun intended) for women (and girls) to have similar opportunities to their male counterparts.  The experiences and lessons learned from playing team sports translate directly into the rest of our lives. Additionally, the female role models now available in the sporting world and the rise of professional leagues such as the WNBA have changed the landscape for today’s 8 ½ year olds. My sports hero at that age was Johnny Bench. Ask an 8 ½ year old girl today who is her sports hero and she’ll likely respond Jennie Finch or Brittney Griner, or any of the many, many other notable female athletes of the past few years.  </span></span></span></p>
<p><span style="color:#000000;font-family:Calibri;font-size:medium;">I’m thankful to the pioneers of </span><a href="http://www.titleix.info/"><span style="color:#0000ff;font-family:Calibri;font-size:medium;">Title IX</span></a><span style="font-size:medium;"><span style="color:#000000;"><span style="font-family:Calibri;"> for having the courage to change expectations and therefore lives.</span></span></span></p>
<br />Filed under: <a href='http://nancyhidywilson.wordpress.com/category/personal/'>Personal</a> Tagged: <a href='http://nancyhidywilson.wordpress.com/tag/title-ix/'>Title IX</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nancyhidywilson.wordpress.com/536/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nancyhidywilson.wordpress.com/536/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nancyhidywilson.wordpress.com&#038;blog=16976023&#038;post=536&#038;subd=nancyhidywilson&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nancyhidywilson.wordpress.com/2012/06/24/title-ix-and-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e2367a6b3f4b8beb36b826014faef680?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nancyhidywilson</media:title>
		</media:content>

		<media:content url="http://nancyhidywilson.files.wordpress.com/2012/06/nancy_nsll_apaches_portrait.jpg?w=204" medium="image">
			<media:title type="html">Nancy_NSLL_Apaches_Portrait</media:title>
		</media:content>
	</item>
	</channel>
</rss>
