<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2173119910600284569</atom:id><lastBuildDate>Tue, 30 Sep 2025 02:04:41 +0000</lastBuildDate><category>PASS</category><category>About Me</category><category>SQL Server 2008</category><category>SQL Server 2005</category><category>Tips</category><category>Presentations</category><category>Performance</category><category>SQLSaturday</category><category>Best Practices</category><category>Replication</category><category>Career</category><category>SQLRally</category><category>Troubleshooting</category><category>Scripts</category><category>Security</category><category>Windows</category><category>Humor</category><category>Updates</category><category>XML</category><category>MagicPASS</category><category>Documentation</category><category>PowerShell</category><category>Query Tuning</category><category>Recognition</category><category>SQL Power Doc</category><category>Feature Requests</category><category>Meme Monday</category><category>SYDI</category><category>T-SQL Tuesday</category><category>Data Mining</category><category>Mirroring</category><category>Parameter Sniffing</category><category>SQLH2</category><category>VirtualBox</category><title>Kendal Van Dyke</title><description></description><link>http://www.kendalvandyke.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>225</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-909877543660986150</guid><pubDate>Mon, 17 Nov 2014 19:00:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.244-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>2014 PASS Summit 2014 Board Q&amp;amp;A Notes</title><description>&lt;p&gt;As has occurred in previous years at the &lt;a href=&quot;http://www.sqlpass.org/summit/2014/Home.aspx&quot; target=&quot;_blank&quot;&gt;PASS Summit&lt;/a&gt; the &lt;a href=&quot;http://www.sqlpass.org/AboutPASS/BoardofDirectors.aspx&quot; target=&quot;_blank&quot;&gt;PASS Board of Directors&lt;/a&gt; held an open Q&amp;amp;A session on the final day. I was able to attend most of the session but had to leave a few minutes early for my scheduled presentation. I didn&#39;t count but estimate around 30 people attended - about average for the Q&amp;amp;A (I wish it were more!). &lt;a href=&quot;http://www.sqlpass.org/&quot; target=&quot;_blank&quot;&gt;PASS&lt;/a&gt; will publish meeting minutes but in the meantime here&#39;s my notes sans commentary.&lt;/p&gt;  &lt;h3&gt;Review of Board Commitments From Last Year (Denise)&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Evals of chapter leader meetings, done, adjusted schedule is year, will do the same again &lt;/li&gt;    &lt;li&gt;SQLRally - Nodic continuing to hold events, interest in LATAM. (No US still) &lt;/li&gt;    &lt;li&gt;Hotel rates for 2014 summit - complaints that tableau conference had lower rates. Denise said PASS was unable to renegotiate rates this year due to existing agreement. &lt;/li&gt;    &lt;li&gt;Committing to publish budget summary for 2015 &lt;/li&gt;    &lt;li&gt;Find out sharing summit reg details with chapters (e.g. attendees near a chapter), followed up with legal, found out PASS cannot share &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Intros&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;JRJ sharing that global growth focus moving from EMEA to LATAM, goal is to create a regional board seat for LATAM. Expecting to bring on a LATAM board advisor in the near future. &lt;/li&gt;    &lt;li&gt;Wendy highlighting new chapter agreement, hiring Carmen internally at HQ as CE focusing on chapters. &lt;/li&gt;    &lt;li&gt;Sri mentioned new volunteer portal launched this week &lt;/li&gt;    &lt;li&gt;Tim focused on SQLSaturday website rewrite, first round of changes feature complete by end of year. 86 events in Last FY, 113,000 hours of training delivered. Goal is 100 events in current FY &lt;/li&gt;    &lt;li&gt;Amy says number of abstracts , speakers, sessions grew over previous year, spent time on improving schedule builder and using analytics to place sessions in right-sized rooms. &lt;/li&gt;    &lt;li&gt;Jen Stirrup - 8,000 training hours so far this FY for VCs, goal for FY is 16,000. business analytics VC revamped, new excel VC. &lt;/li&gt;    &lt;li&gt;Jennifer Moser - MS continuing to support SQLSaturday financially outside of the US and logistically within the US &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Open Floor&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Comment that 50% of world&#39;s population within 5 hours of China, question - what&#39;s the business plan for holding a summit like event in that area of the world? &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;JRJ says LATAM has more demand (based on activity and growth potential), that&#39;s why LATAM is where the bod Is focused. Complexity of holding an event in APAC region is more difficult than LATAM. PASS is better off supporting existing communities in the area for now. &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Andy Leonard - Thanks for hard work &amp;amp; responding to the community, happy about decision made to extend voting. Commented that regional mentor program is underutilized. Would like to know what the thinking is around moving summit to over locations.      &lt;ul&gt;       &lt;li&gt;Wendy says RM program grew from a good idea into something that lacks framework, struggling with RMs understanding what&#39;s expected of them, expecting to see changes to the program. &lt;/li&gt;        &lt;li&gt;Adam says summit needs to be booked years in advance, Seattle is the best location for Microsoft support, travel in, accommodating growth. &amp;quot;In Seattle for the next few years&amp;quot; &lt;/li&gt;        &lt;li&gt;JRJ commenting that moving to a new venue is hard due to cost &amp;amp; logistics, continuing to hold summit in Seattle allows HQ to fine tune, reduce costs yearly &lt;/li&gt;        &lt;li&gt;Jennifer Moser says moving summit is a risk to sponsors because it was not an optimal experience for them. &lt;/li&gt;        &lt;li&gt;Andy reiterates that moving is a good idea, allows us to reach an audience that can&#39;t make it to Seattle. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Another comment that lots of conferences in Vegas these days, why not there?      &lt;ul&gt;       &lt;li&gt;Denise says data shows &amp;quot;program, program, program&amp;quot; is what drives attendance, location secondary &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;JK Wood asking about &lt;a href=&quot;http://passwatch.org/&quot; target=&quot;_blank&quot;&gt;PASSWatch&lt;/a&gt; pointing out lack of communication from BoD, if PASS will establish guidelines around blogging, etc. by non-exec members       &lt;ul&gt;       &lt;li&gt;Denise says board members always authorized to speak on their own behalf and portfolios, bylaws stipulate exec are the only ones that can speak for the org &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Kendal asked about PASS rebranding, why, what feedback did the board solicit, etc.      &lt;ul&gt;       &lt;li&gt;Denise reiterated why the name change took place, conceded that it wasn&#39;t handled well, communicated poorly. Yes, we (PASS) rebranded, similar to how IBM is just IBM &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Allen Kinsel asked for commitment by board to quarterly Q&amp;amp;A meetings with board members, board agreed &lt;/li&gt;    &lt;li&gt;Karen Lopez asking if it&#39;s time for pass to have a &amp;quot;chief data officer&amp;quot; to look at policies, procedures, etc, around managing pass data.      &lt;ul&gt;       &lt;li&gt;Adam says data is a first class citizen within pass, yes we are focusing more on it &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;JK Wood expressing concern about IT issues (de-duping, security, etc.) and lack of community partnership in improving/correcting. Happy to see Dev Nambi project, wants to know if we can do more.      &lt;ul&gt;       &lt;li&gt;Adam: yes, data is important, upcoming projects across portfolios will engage community experts &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Carlos (?) asked about dedicated LATAM board member, when?      &lt;ul&gt;       &lt;li&gt;JRJ reiterated focus on LATAM &amp;amp; working through RMs to help grow the region, bringing on board advisor from LATAM next year if all goes according to plan &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Ryan Adams asks what happens if no one runs for a regional LATAM board seat      &lt;ul&gt;       &lt;li&gt;JRJ says seat not created for LATAM yet, board has to vote for it, provisions already in place for filling seat if no one runs &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Ryan Adams asked Jennifer Moser about Microsoft marketing efforts in SQLSaturday, how to make it easier for subsidiaries to fund SQLSaturday in their areas      &lt;ul&gt;       &lt;li&gt;Jennifer working on moving funding through PASS rather than through district offices, improving relations between local MS offices and RMs/CLs to help with logistical support &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Left @ 2:15 PM, refer to forthcoming PASS minutes for what happened at the remainder of the meeting.&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2014/11/2014-pass-summit-2014-board-q-notes.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-6861155396818409897</guid><pubDate>Tue, 23 Sep 2014 18:15:00 +0000</pubDate><atom:updated>2016-01-08T11:42:38.918-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MagicPASS</category><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>PASS Chapter Leaders - Remember To Talk About Elections With Your Chapters!</title><description>Last week before our monthly &lt;a href=&quot;http://magicpass.sqlpass.org/&quot; target=&quot;_blank&quot;&gt;MagicPASS&lt;/a&gt; meeting I went through my usual routine of grabbing the PASS chapter deck and noticed that there are no slides mentioning the upcoming Board of Directors elections. I&#39;m surprised because the elections are a great discussion topic for people who might not otherwise be exposed to how PASS is run, or for that matter might not think they&#39;re qualified or informed enough to vote.&lt;br /&gt;
I took a few minutes to add a slide to the deck and talked about it during our meeting - why it&#39;s important to vote, the impact Board members have on the organization (and ultimately them), where to start to learn more about candidates, etc. Will someone who wouldn&#39;t have previously considered voting do so now? That&#39;s my hope, anyways, and I know that there&#39;s a better chance of that happening than by not saying anything at all.&lt;br /&gt;
Chapter leaders, you can grab the &lt;a href=&quot;https://onedrive.live.com/redir?resid=72E8306EED6877D6!17283&amp;amp;authkey=!AJe7uTdlqrQ0VRA&amp;amp;ithint=file%2cpptx&quot; target=&quot;_blank&quot;&gt;September MagicPASS slides&lt;/a&gt; from OneDrive. Elections are on slide #8 but feel free to use any or all of what I added as examples for things to include in your own monthly decks. If your meeting has already happened it&#39;s not too late to remind your members via LinkedIn, Facebook, or your mailing lists that voting opens tomorrow, Sept 24.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;2014 Elections&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsgqTUjD28mm0SKqECvTRiJt3eR4cHwhGklttRidzmuqgvj5Kds5Si0TSGpZ-igDK0VRm9HxIO2-v5pnaJBLMt2zciHcOZCcwMLOW3ZWHlZXIkiIrNj9G0rXDUTrvZmIyFRyI1aYliMyYy/?imgmax=800&quot; height=&quot;482&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;2014 Elections&quot; width=&quot;642&quot; /&gt;</description><link>http://www.kendalvandyke.com/2014/09/pass-chapter-leaders-remember-to-talk.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsgqTUjD28mm0SKqECvTRiJt3eR4cHwhGklttRidzmuqgvj5Kds5Si0TSGpZ-igDK0VRm9HxIO2-v5pnaJBLMt2zciHcOZCcwMLOW3ZWHlZXIkiIrNj9G0rXDUTrvZmIyFRyI1aYliMyYy/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-561372352781108446</guid><pubDate>Wed, 27 Aug 2014 18:00:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.160-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MagicPASS</category><category domain="http://www.blogger.com/atom/ns#">PASS</category><category domain="http://www.blogger.com/atom/ns#">Presentations</category><title>Presenting At OPASS August 2014 Meeting On 8/28</title><description>&lt;p&gt;&lt;a href=&quot;http://orlando.sqlpass.org/&quot;&gt;&lt;img title=&quot;OPASS_newlogo_4&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 10px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;OPASS_newlogo_4&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl7IsDGge5-V4yOkF4NgzhjZfXEk-JELIKHz_wkKTIychyphenhyphenWJ5xG2W0G1ukXRPY0RUnw1JU28Vtldepm882kX_l8ZQ-wOHKSuWUctznLg6hNPo88qz29H3PzpNV8pVnDMkma0nrITeBD_se/?imgmax=800&quot; width=&quot;186&quot; align=&quot;right&quot; height=&quot;90&quot; /&gt;&lt;/a&gt;Thursday night (8/28) I&#39;ll be presenting &lt;strong&gt;Inspector Insert And The Case Of The Mistaken IDENTITY&lt;/strong&gt; for the &lt;a href=&quot;http://orlando.sqlpass.org/&quot; target=&quot;_blank&quot;&gt;Orlando SQL User Group (OPASS)&lt;/a&gt;. Identity values &lt;em&gt;seem&lt;/em&gt; like a straightforward topic but as SQL Server has evolved different methods for working with them have been introduced and each has caveats to be aware of. My goal for this presentation is to make you aware of all the different ways - both good and bad - to work with identity values and motivate you to double check your TSQL code when you go back to work on Friday to make sure you don&#39;t wind up with a case of mistaken identity.&lt;/p&gt;  &lt;p&gt;If you&#39;re in the Orlando area and need another reason to come for the evening, here it is: Mark Souza - General Manager, Cloud and Enterprise Engineering Team at Microsoft and otherwise regarded as &amp;quot;Mr. SQL Server&amp;quot; within Microsoft - is coming to Orlando in October for a &lt;a href=&quot;https://magicpassopass.eventbrite.com&quot; target=&quot;_blank&quot;&gt;joint OPASS/MagicPASS meeting&lt;/a&gt; and everyone who attends OPASS this month is guaranteed a seat. We&#39;ve reserved enough space for 200 people in October and we expect to reach capacity so wouldn&#39;t it be nice to know you&#39;ve got a spot?&lt;/p&gt;  &lt;p&gt;You can see full details about the August OPASS meeting and RSVP at &lt;a title=&quot;http://opassaugust2014.eventbrite.com/&quot; href=&quot;http://opassaugust2014.eventbrite.com/&quot;&gt;http://opassaugust2014.eventbrite.com/&lt;/a&gt; - and note that this month the group meets at a new location, ITT Technical Institute in Lake Mary, FL.&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2014/08/presenting-at-opass-august-2014-meeting.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl7IsDGge5-V4yOkF4NgzhjZfXEk-JELIKHz_wkKTIychyphenhyphenWJ5xG2W0G1ukXRPY0RUnw1JU28Vtldepm882kX_l8ZQ-wOHKSuWUctznLg6hNPo88qz29H3PzpNV8pVnDMkma0nrITeBD_se/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-2583809999813590000</guid><pubDate>Wed, 25 Jun 2014 19:30:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.046-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>Thoughts On The 2014 PASS Summit Selections</title><description>&lt;p&gt;The &lt;a href=&quot;http://www.sqlpass.org/summit/2014/Sessions.aspx&quot; target=&quot;_blank&quot;&gt;session lineup&lt;/a&gt; for the &lt;a href=&quot;http://www.sqlpass.org/summit/2014/Home.aspx&quot; target=&quot;_blank&quot;&gt;2014 PASS Summit&lt;/a&gt; was announced today and I&#39;m honored to be selected as a presenter. This will be my 6th year at the Summit and 5th as a presenter, and every year it&#39;s tougher to be picked as the &lt;a href=&quot;http://www.sqlpass.org/&quot; target=&quot;_blank&quot;&gt;PASS&lt;/a&gt; community - and the number of sessions submitted (over 900 this year!) - grows. &lt;/p&gt;  &lt;p&gt;The increase in submissions year over year also makes it tougher on the program committee to review, select, and schedule the lineup. The committee is made entirely of volunteers who put a ton of hours into the selections - often a thankless task done behind the scenes - so I want to make sure the acknowledge their efforts. Every year there are people not happy about how the selection process works, that they didn&#39;t get selected, etc...and while there are things that can be improved on I don&#39;t fault any individual on the committee for having put the time and effort into trying to put together the best lineup of sessions possible.&lt;/p&gt;  &lt;p&gt;As I look over the selections there are a few things that stand out worth mentioning. But first, a eye-candy filled analysis of the numbers for this year:&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqZS5DrtuCHGAQZRIBWeALbuRBJa0Qm0wk9pFAYgOrmRZ80xr_qM3shq4kMS-WnBbSIAWTKuWfesQnLEY7iuwGSos95yWpT47JYziEsFQS2rJ572pRdjsL7X4U3HmnEEQS8IenScm58ZOa/?imgmax=800&quot; width=&quot;480&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZHevThSB6aFbY2s8DGsUQfPTSd3kmqjommkakcLAKNhIiw_dBiuZmoWREswDXsRJcJkrHZhm3vkGKdTQGvLt-lHwnEuFEu8YHTU2WVV6t7eFlm1L5Pr0NpWBWpeX7IQHdwiqDBrrvEv6R/?imgmax=800&quot; width=&quot;480&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK2FPi40BUsIccPJX09EzQhdjwaBn2QtQ4TzoJbB_kjZBnsIxPTzhu7MT9d89GRxeiAokB5RNAfARjH30dTvefruIDG23WDPeQ8siOQqj6JpTAhCmvn5ou9REkZnr-_wh0qW9y5-xC4qAM/?imgmax=800&quot; width=&quot;480&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHAazfdhgPXaDGwNDKF_1sW7ry4rdBxn_p7IjaZHH5n5VItpiquL-Z686R3ltlCqR1PzjX1-Qvj2MuvL1HZZgYNFARbFAeuDt5qT3GMx3KUns9kpb-Ee-boEOY0jljFNiwtga7KJQ_tU48/?imgmax=800&quot; width=&quot;479&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsB-txwFlbx9pRLv6iw_b_rT9SXuzKHP5N3jc9eNRWz4zAfr6xQdZYSrW0P-Z_-q-Peg0q3Zcdu7QFigOuM9EG5YFFG94wC20cJquM0mHRnd6eyHd0TPUBeWcJ79-yqIuG0k_sI-5zD4Lp/?imgmax=800&quot; width=&quot;480&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgigb9jOD54MBrzNy8tDYdPXuDVEK9vPigEA1drse3Eo2xDALGYJMDBdjn-wFXO6NfYdjtYf-BzPFF3qww7s9PR1aIuZP19mku5ddBuj3XoZHVB8tjuMT51bUWAkZBjpCmYIM0_a47_gWUo/?imgmax=800&quot; width=&quot;480&quot; height=&quot;374&quot; /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj3BkdRCHiO5gtfUAYe-GtOZtHGJRPHhdPKdMcw8oXmNwHI5yLR7TsA3s6ipYMJ4ayVPSeZnpjsPwz0UnSVURlb7HtDa8zl185dSkZg5SjGCPsBFRZaadMpc5f-_d3NkzT1VhhSXaSSsyq/?imgmax=800&quot; width=&quot;480&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;  &lt;p&gt;What do I take away from looking at the numbers and the list of accepted sessions?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Most speakers are scheduled for 1 session. The majority of speakers with 2 (or more) are because they&#39;re delivering a full day precon in addition to a regular session. &lt;/li&gt;    &lt;li&gt;There are some notable names missing from the list of Summit regulars who submitted but were not selected. I&#39;ll avoid naming names so I don&#39;t play favorites, but I think it shows that you don&#39;t get a session just because you&#39;re well known in the community. I do hope people who weren&#39;t selected are able to find other ways to attend. &lt;/li&gt;    &lt;li&gt;No 90 minute spotlight presentations this year. First year that&#39;s happened? &lt;/li&gt;    &lt;li&gt;No 500 level precons - maybe in part due to lack of submissions, maybe the ones that were submitted weren&#39;t the right fit...still, I&#39;d easily pay for a 500 level DBA precon. Maybe next year? &lt;/li&gt;    &lt;li&gt;Comparing the list of accepted speakers against the current PASS Board Members shows two sessions accepted, one by Jen Stirrup (a half day session) and one by Adam Jorgensen (a precon with John Welch &lt;strike&gt;and Buck Woody&lt;/strike&gt;). I wish it were none - the Board has plenty to do that week on behalf of PASS without having to worry about delivering a session on top of it. I can understand why Jen wants to make the trip worthwhile since she&#39;s travelling to the US from Europe, but the other... &lt;/li&gt;    &lt;li&gt;3 Preconference sessions by Pragmatic Works employees are on the list, including one delivered by PASS Executive Vice President, Finance &amp;amp; Governance Adam Jorgensen who is also President and Managing Partner of Pragmatic Works. I know a lot of folks that work at Pragmatic and they&#39;re good at what they do, but having 3 precon sessions (where presenters usually make good money from the sales) selected for the same company as one of PASS&#39;s execs...smells. I&#39;d like to give PASS the benefit of doubt on this one, but I&#39;ll it&#39;s very hard to ignore, even if Adam wasn&#39;t one of the presenters. &lt;/li&gt;    &lt;li&gt;The last chart highlights that 39% of the General sessions are BI focused. If the Summit were the only paid conference organized by PASS I&#39;d be OK with that number, but now that we&#39;ve got the Business Analytics conference I&#39;m wondering if that percentage should be lower. I&#39;d also be curious how many BA conference sessions are repeats at the Summit, though I realize that most of the people who attend Summit probably do not attend the BA conference. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All in all it looks like a good lineup - one that I&#39;m happy to be a part of. I&#39;m looking forward to this year&#39;s Summit and I hope that you are, too!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;EDIT: &lt;/strong&gt;Buck Woody is not one of the speakers for Adam&#39;s precon as I had initially written.&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2014/06/thoughts-on-2014-pass-summit-selections.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqZS5DrtuCHGAQZRIBWeALbuRBJa0Qm0wk9pFAYgOrmRZ80xr_qM3shq4kMS-WnBbSIAWTKuWfesQnLEY7iuwGSos95yWpT47JYziEsFQS2rJ572pRdjsL7X4U3HmnEEQS8IenScm58ZOa/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-3858013653885780336</guid><pubDate>Tue, 03 Jun 2014 14:30:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.082-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">About Me</category><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>I&amp;#39;m A Candidate For The 2014 PASS Nomination Committee</title><description>&lt;p&gt;The 2014 PASS election cycle begins today when voting opens for the Nomination Committee (NomCom) and I&#39;m one of &lt;a href=&quot;http://www.sqlpass.org/Elections/Candidates.aspx&quot; target=&quot;_blank&quot;&gt;eleven candidates&lt;/a&gt; running for three seats on the committee.&lt;/p&gt;  &lt;h5&gt;Why am I running for the NomCom?&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;It&#39;s a chance to use my time and experience to do something good for PASS. &lt;/li&gt;    &lt;li&gt;This year&#39;s NomCom will have the chance to review the election process and recommend changes. I was &lt;a href=&quot;http://www.kendalvandyke.com/2013/10/a-tainted-pass-elections.html&quot;&gt;vocal about this after last year&#39;s election&lt;/a&gt; and I&#39;m putting my money where my mouth is - I&#39;d like to help improve the process. &lt;/li&gt;    &lt;li&gt;It&#39;s a change for me personally to do something new while doing something to help PASS. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Why am I qualified?&lt;/h5&gt;  &lt;p&gt;I have been involved with PASS since 2007 at all levels: speaker, chapter leader, regional mentor, SQLSaturday organizer, and I served as a member of the Board in 2012. I have also run for the Board of Directors twice so I have a good understanding of how the NomCom works. My familiarity with PASS from the grassroots all the way up to HQ gives me invaluable experience to draw on when evaluating the candidates running for the Board. I was also called on as an advisor for the original Election Review Committee a few years ago; that means I know how we&#39;ve gotten to where we are today and can use that to make recommendations for improving future elections.&lt;/p&gt;  &lt;h5&gt;What can you expect if I&#39;m elected?&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;I&#39;ll ask difficult - but relevant - questions. In past NomCom interviews I expected tough questions about strategy, vision for PASS, etc. and being surprised that they weren&#39;t asked. I appreciate that Board members are volunteers, but we&#39;re asking them to be a part of managing a community with an annual budget of $8 million USD and it&#39;s the NomCom&#39;s job to ensure each candidate has the right mix of business acumen &lt;em&gt;and &lt;/em&gt;connection with the community that make them qualified to run for the Board. &lt;/li&gt;    &lt;li&gt;I&#39;ll be fair to all candidates. No bias because I may know someone or passing judgment because I don&#39;t agree with how they think PASS should be run. &lt;/li&gt;    &lt;li&gt;I&#39;ll push for changes to the voting process that reduce the possibility of duplicate votes. The current NomCom process works (for the most part) and doesn&#39;t require any major overhaul, but having the possibility exist for duplicate votes is a problem that we cannot ignore and need to fix. I understand that it&#39;s not a simple effort so understand that any changes will likely take effect in the 2015 elections. &lt;/li&gt;    &lt;li&gt;I&#39;ll be transparent about the NomCom experience - if elected I commit to blogging once every 2 weeks (or more) about NomCom timelines and progress, lessons learned, and what to expect next. Note that some parts of the NomCom process are under NDA so I &lt;em&gt;can&#39;t &lt;/em&gt;blog about them, but I will be as open as possible. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Ballots should be mailed today and I encourage you to take a minute to review all &lt;a href=&quot;http://www.sqlpass.org/Elections/Candidates.aspx&quot; target=&quot;_blank&quot;&gt;11 candidates&lt;/a&gt; along with &lt;a href=&quot;http://www.sqlpass.org/Elections/Candidates/Candidate7.aspx&quot; target=&quot;_blank&quot;&gt;my application and qualifications&lt;/a&gt; before casting your vote.&lt;/p&gt;  &lt;p&gt;Thanks for your support!&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2014/06/i-candidate-for-2014-pass-nomination.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-1569335701906590736</guid><pubDate>Tue, 04 Feb 2014 17:30:00 +0000</pubDate><atom:updated>2016-01-08T17:59:10.774-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Scripts</category><category domain="http://www.blogger.com/atom/ns#">Security</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><title>Using sys.objects When Scripting Permissions? You&amp;#39;re Missing Something!</title><description>&lt;p&gt;I suspect most DBAs have a script in their T-SQL toolbelt which scripts out database permissions for a specific user (or all users). I do, too,&amp;nbsp; and for years I&#39;ve used it and always assumed it did the job - until recently when I found that permissions on a certificate weren&#39;t in the output for a user I was looking at.&lt;/p&gt; &lt;p&gt;My script, like just about every other one you can find with your search engine of choice, joined sys.database_permissions against sys.objects to get specific permissions on objects (e.g. tables, views, and stored procedures). While &lt;a href=&quot;http://technet.microsoft.com/en-us/library/ms190324.aspx&quot; target=&quot;_blank&quot;&gt;sys.objects&lt;/a&gt; does contain quite a few things, there are quite a few securables that it does not - specifically: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Assemblies  &lt;li&gt;Asymmetric Keys  &lt;li&gt;Certificates  &lt;li&gt;Database Principals (users, application roles, and database roles)  &lt;li&gt;Fulltext Catalogs  &lt;li&gt;Fulltext Stoplists  &lt;li&gt;Schemas  &lt;li&gt;Service Broker Message Types  &lt;li&gt;Service Broker Remote Service Bindings  &lt;li&gt;Service Broker Routes  &lt;li&gt;Service Broker Services  &lt;li&gt;Service Broker Service Contracts  &lt;li&gt;Symmetric Keys  &lt;li&gt;Types  &lt;li&gt;XML Schema Collections &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Fortunately, there are catalog views for everything listed above and all we have to do is join sys.database_permissions against each of them to ensure that we&#39;re including all securables.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://technet.microsoft.com/en-us/library/hh248032.aspx&quot; target=&quot;_blank&quot;&gt;SMO&lt;/a&gt; also has the same issue - the &lt;a href=&quot;http://technet.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.database.enumobjectpermissions.aspx&quot; target=&quot;_blank&quot;&gt;Database.EnumObjectPermissions&lt;/a&gt; method does not include permissions on any of the aforementioned securables. That means the only way to retrieve all database permissions with SMO is to iterate through each of the securables listed above and call the object&#39;s EnumObjectPermissions method in addition to calling the Database.EnumObjectPermissions method - not pretty or efficient. (For what it&#39;s worth, version 1.0.2.1 of &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/&quot; target=&quot;_blank&quot;&gt;SQL Power Doc&lt;/a&gt; does NOT do this, meaning some permissions could be excluded from the documentation. I&#39;ll have a new beta that fixes this posted within the next week or two)&lt;/p&gt; &lt;p&gt;Below is the updated version of my script, which you can also &lt;a href=&quot;https://skydrive.live.com/redir?resid=72E8306EED6877D6!4773&amp;amp;authkey=!ALCI6U3uyjjVHOk&amp;amp;ithint=file%2c.sql&quot; target=&quot;_blank&quot;&gt;download from &lt;strike&gt;SkyDrive&lt;/strike&gt; OneDrive&lt;/a&gt;.&lt;/p&gt; &lt;hr&gt; &lt;pre class=&quot;brush: sql&quot;&gt;/*********************************************************************************************
Security - Script Database Level Permissions (2005+)
 
Description:
    Scripts database permissions (including objects) for a specific user or all database users
 
    (C) 2014, Kendal Van Dyke (mailto:kendal.vandyke@gmail.com)
 
Version History:
    v1.00 (2014-02-03)
 
License: 
    This query is free to download and use for personal, educational, and internal 
    corporate purposes, provided that this header is preserved. Redistribution or sale 
    of this query, in whole or in part, is prohibited without the author&#39;s express 
    written consent.
 
Note:
    Execute this query in the database that you wish to script permissions for
     
*********************************************************************************************/
SET NOCOUNT ON
 
DECLARE @user SYSNAME;
 
-- Set this to NULL for all users
-- SET @user = &#39;DOMAIN\USER&#39;;
SET @user = NULL;
 
SELECT  &#39;USE &#39; + QUOTENAME(DB_NAME()) + &#39;;&#39; AS &#39;--Database Context&#39;;
 
 
-- Logins
SELECT  &#39;CREATE USER [&#39; + usr.name + &#39;] FOR LOGIN [&#39; + susr.name + &#39;]&#39;
        + CASE WHEN usr.TYPE = &#39;S&#39;
               THEN &#39; WITH DEFAULT_SCHEMA=[&#39; + usr.default_schema_name + &#39;];&#39;
               ELSE &#39;;&#39;
          END AS &#39; --Logins&#39;
FROM    sys.database_permissions AS perm
        INNER JOIN sys.database_principals AS usr ON perm.grantee_principal_id = usr.principal_id
        INNER JOIN sys.server_principals AS susr ON usr.sid = susr.sid
WHERE   perm.permission_name = &#39;CONNECT&#39;
        AND susr.sid != 0x01
        AND usr.NAME = COALESCE(@user, usr.NAME);
 
 
-- Role Members
SELECT  &#39;EXEC sp_addrolemember @rolename = &#39; + QUOTENAME(usr.name, &#39;&#39;&#39;&#39;)
        + &#39;, @membername = &#39; + QUOTENAME(usr2.name, &#39;&#39;&#39;&#39;) + &#39;;&#39; AS &#39;--Role Memberships&#39;
FROM    sys.database_principals AS usr
        INNER JOIN sys.database_role_members AS rm ON usr.principal_id = rm.role_principal_id
        INNER JOIN sys.database_principals AS usr2 ON rm.member_principal_id = usr2.principal_id
WHERE   /*usr2.is_fixed_role = 0*/
        usr2.sid != 0x01
        AND usr2.NAME = COALESCE(@user, usr2.NAME)
ORDER BY rm.role_principal_id ASC;
 
 
-- Object permissions
WITH    cteObject ( [major_id], [name], [class_desc], [class_name] )
          AS ( SELECT   obj.[object_id] AS [major_id] ,
                        QUOTENAME(SCHEMA_NAME(obj.schema_id)) + &#39;.&#39;
                        + QUOTENAME(obj.name) AS [major_name] ,
                        &#39;OBJECT_OR_COLUMN&#39; AS [class_desc] ,
                        &#39;OBJECT&#39; AS [class_name]
               FROM     sys.all_objects AS obj
               UNION ALL
               SELECT   assembly_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;ASSEMBLY&#39; AS [class_desc] ,
                        &#39;ASSEMBLY&#39; AS [class_name]
               FROM     sys.assemblies
               UNION ALL
               SELECT   asymmetric_key_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;ASYMMETRIC KEY&#39; AS [class_desc] ,
                        &#39;ASYMMETRIC_KEY&#39; AS [class_name]
               FROM     sys.asymmetric_keys
               UNION ALL
               SELECT   certificate_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;CERTIFICATE&#39; AS [class_desc] ,
                        &#39;CERTIFICATE&#39; AS [class_name]
               FROM     sys.certificates
               UNION ALL
               SELECT   principal_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;DATABASE_PRINCIPAL&#39; AS [class_desc] ,
                        CASE type_desc
                          WHEN &#39;APPLICATION_ROLE&#39; THEN &#39;APPLICATION ROLE&#39;
                          WHEN &#39;DATABASE_ROLE&#39; THEN &#39;ROLE&#39;
                          ELSE &#39;USER&#39;
                        END AS [class_name]
               FROM     sys.database_principals
               UNION ALL
               SELECT   fulltext_catalog_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;FULLTEXT_CATALOG&#39; AS [class_desc] ,
                        &#39;FULLTEXT CATALOG&#39; AS [class_name]
               FROM     sys.fulltext_catalogs
               UNION ALL
               SELECT   stoplist_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;FULLTEXT_STOPLIST&#39; AS [class_desc] ,
                        &#39;FULLTEXT STOPLIST&#39; AS [class_name]
               FROM     sys.fulltext_stoplists
               UNION ALL
               SELECT   message_type_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;MESSAGE_TYPE&#39; AS [class_desc] ,
                        &#39;MESSAGE TYPE&#39; AS [class_name]
               FROM     sys.service_message_types
               UNION ALL
               SELECT   remote_service_binding_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;REMOTE_SERVICE_BINDING&#39; AS [class_desc] ,
                        &#39;REMOTE SERVICE BINDING&#39; AS [class_name]
               FROM     sys.remote_service_bindings
               UNION ALL
               SELECT   route_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;ROUTE&#39; AS [class_desc] ,
                        &#39;ROUTE&#39; AS [class_name]
               FROM     sys.routes
               UNION ALL
               SELECT   [schema_id] AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;SCHEMA&#39; AS [class_desc] ,
                        &#39;SCHEMA&#39; AS [class_name]
               FROM     sys.schemas
               UNION ALL
               SELECT   service_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;SERVICE&#39; AS [class_desc] ,
                        &#39;SERVICE&#39; AS [class_name]
               FROM     sys.services
               UNION ALL
               SELECT   service_contract_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;SERVICE_CONTRACT&#39; AS [class_desc] ,
                        &#39;CONTRACT&#39; AS [class_name]
               FROM     sys.service_contracts
               UNION ALL
               SELECT   symmetric_key_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;SYMMETRIC_KEY&#39; AS [class_desc] ,
                        &#39;SYMMETRIC KEY&#39; AS [class_name]
               FROM     sys.symmetric_keys
               UNION ALL
               SELECT   user_type_id AS [major_id] ,
                        QUOTENAME(name) COLLATE database_default ,
                        &#39;TYPE&#39; AS [class_desc] ,
                        &#39;TYPE&#39; AS [class_name]
               FROM     sys.types
               UNION ALL
               SELECT   xml_collection_id AS [major_id] ,
                        QUOTENAME(SCHEMA_NAME(schema_id)) + &#39;.&#39;
                        + QUOTENAME(name) COLLATE database_default ,
                        &#39;XML_SCHEMA_COLLECTION&#39; AS [class_desc] ,
                        &#39;XML SCHEMA COLLECTION&#39; AS [class_name]
               FROM     sys.xml_schema_collections
             )
    SELECT  CASE WHEN perm.state &amp;lt;&amp;gt; &#39;W&#39; THEN perm.state_desc
                 ELSE &#39;GRANT&#39;
            END + SPACE(1) + perm.permission_name + &#39; ON &#39; + obj.class_name
            + &#39; :: &#39; + obj.name + CASE WHEN cl.column_id IS NULL THEN SPACE(0)
                                       ELSE &#39; (&#39; + QUOTENAME(cl.name) + &#39;)&#39;
                                  END + &#39; TO &#39; + QUOTENAME(usr.name) COLLATE database_default
            + CASE WHEN perm.state &amp;lt;&amp;gt; &#39;W&#39; THEN &#39;;&#39;
                   ELSE &#39; WITH GRANT OPTION;&#39;
              END AS &#39;--Object Level Permissions&#39;
    FROM    sys.database_permissions AS perm
            INNER JOIN cteObject AS obj ON perm.major_id = obj.major_id
                                           AND perm.class_desc = obj.class_desc
            INNER JOIN sys.database_principals AS usr ON perm.grantee_principal_id = usr.principal_id
            LEFT JOIN sys.all_columns AS cl ON perm.minor_id = cl.column_id
                                               AND perm.major_id = cl.[object_id]
                                               AND perm.class_desc = &#39;OBJECT_OR_COLUMN&#39;
    WHERE   usr.is_fixed_role = 0
            AND usr.sid != 0x01
            AND usr.NAME = COALESCE(@user, usr.NAME)
    ORDER BY perm.permission_name ASC ,
            perm.state_desc ASC;
 
 
-- Database permissions (non-object specific)
SELECT  CASE WHEN perm.state &amp;lt;&amp;gt; &#39;W&#39; THEN perm.state_desc
             ELSE &#39;GRANT&#39;
        END + SPACE(1) + perm.permission_name + &#39; TO &#39; + QUOTENAME(usr.name) COLLATE database_default
        + CASE WHEN perm.state &amp;lt;&amp;gt; &#39;W&#39; THEN &#39;;&#39;
               ELSE &#39; WITH GRANT OPTION;&#39;
          END AS &#39; --Database Level Permissions&#39;
FROM    sys.database_permissions AS perm
        INNER JOIN sys.database_principals AS usr ON perm.grantee_principal_id = usr.principal_id
WHERE   perm.major_id = 0
        AND usr.NAME != &#39;dbo&#39;
        AND usr.NAME = COALESCE(@user, usr.NAME)
ORDER BY perm.permission_name ASC ,
        perm.state_desc ASC;
&lt;/pre&gt;</description><link>http://www.kendalvandyke.com/2014/02/using-sysobjects-when-scripting.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-5552293868012145327</guid><pubDate>Thu, 05 Dec 2013 21:30:00 +0000</pubDate><atom:updated>2016-01-08T11:44:20.512-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips</category><title>How To Get The TableDiff Utility</title><description>&lt;a href=&quot;http://technet.microsoft.com/en-us/library/ms162843.aspx&quot; target=&quot;_blank&quot;&gt;Tablediff&lt;/a&gt; is a command line utility that comes with SQL Server to compare the data and schema in two tables for differences and generate a T-SQL script to synchronize them. It&#39;s a rudimentary but useful tool that most people don&#39;t know is available and it gets the job done when you don&#39;t have a more sophisticated tool like &lt;a href=&quot;http://www.red-gate.com/products/sql-development/sql-compare/&quot; target=&quot;_blank&quot;&gt;Red Gate&#39;s SQL Compare&lt;/a&gt; at your disposal.&lt;br /&gt;
You can find the tool in a version-specific subfolder of your SQL Server shared features installation directory. For example, look in &lt;strong&gt;C:\Program Files\Microsoft SQL Server\&lt;/strong&gt;&lt;strong&gt;110\COM&lt;/strong&gt; if you&#39;ve got SQL 2012 installed on the C: drive.&lt;br /&gt;
I&#39;ve always assumed that it&#39;s included with Management Studio but recently I found out that&#39;s not the case. After testing various installation options I discovered that it&#39;s included when the &lt;strong&gt;SQL Server Replication&lt;/strong&gt; features are installed, meaning you also need to install the &lt;strong&gt;Database Engine Services&lt;/strong&gt; to get it:&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3fg64E8WV_23rlAmp3Z7biNb5cvi4_kKRQGWt7z7_UZSVIuRM_Gq6iPL4C6L0cR6nkSkmMAgZTguIiCUAT-Y52e8boA_oqKV2Y-Cx9ApoqYqFYQ0D_W0ygsJgdsACMe8_2hft6DGKOhWP/?imgmax=800&quot; height=&quot;118&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 10px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;316&quot; /&gt;&lt;br /&gt;
Although not limited to replication scenarios, &lt;a href=&quot;http://technet.microsoft.com/en-us/library/ms162843.aspx&quot; target=&quot;_blank&quot;&gt;Microsoft&#39;s documentation&lt;/a&gt; hints that it was designed with replication in mind:&lt;br /&gt;
&lt;blockquote&gt;
&lt;em&gt;The &lt;strong&gt;tablediff&lt;/strong&gt; utility is used to compare the data in two tables for non-convergence, and is particularly useful for troubleshooting non-convergence &lt;u&gt;in a replication topology&lt;/u&gt;.&lt;/em&gt;&lt;/blockquote&gt;
Perhaps this is the reason most people don&#39;t know about it - replication isn&#39;t widely used and if you exclude the feature from your database install you won&#39;t get tablediff.&lt;br /&gt;
Now you know...</description><link>http://www.kendalvandyke.com/2013/12/how-to-get-tablediff-utility.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3fg64E8WV_23rlAmp3Z7biNb5cvi4_kKRQGWt7z7_UZSVIuRM_Gq6iPL4C6L0cR6nkSkmMAgZTguIiCUAT-Y52e8boA_oqKV2Y-Cx9ApoqYqFYQ0D_W0ygsJgdsACMe8_2hft6DGKOhWP/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-8188571238427204063</guid><pubDate>Tue, 22 Oct 2013 20:00:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.224-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">VirtualBox</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>Windows 8.1 Upgrade Deletes VirtualBox Host-Only Network Adapter</title><description>&lt;p&gt;Windows 8.1 was released to the Windows Store last week and aside from having to download the same 3.9 GB update on each machine I&#39;ve installed it on it&#39;s been a relatively easy and smooth update. I did, however, run into one small problem related to &lt;a href=&quot;https://www.virtualbox.org/&quot; target=&quot;_blank&quot;&gt;Oracle VirtualBox&lt;/a&gt;. When you install VirtualBox a &amp;quot;Host-Only&amp;quot; network adapter is installed in Windows to allow guest VMs to communicate with the Windows host, as the screenshot below shows:&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;Network Connections&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;Network Connections Window&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja7Z3u5qFpaL-Nm4vYnYdctnGq2kRpTmwrxdyIUXCQ83VCnbFbejTeApxBzxAWFOVDGzcgp-Sy_nJBMTIOdv6yXUlBeM7UYqYWILS05sQ-pjaDJTSwkg3AZ74FLyfnBbbagVAlIvhew0at/?imgmax=800&quot; width=&quot;579&quot; height=&quot;317&quot; /&gt;&lt;/p&gt;  &lt;p&gt;Unfortunately the Windows 8.1 upgrade process deletes the network adapter. After the upgrade you&#39;ll be faced with a warning message in the VM properties window and your VM won&#39;t start.&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;VirtualBox VM Settings&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;VirtualBox VM Settings Window&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL67ZvqUXVdyo9v50O6Mnvz1xFNPgrpU_oxPomI5_qQV1QphhfjSCWiLY5ZGwEk6WsQTWYLllL7PoPzRrf2OqBjwAZzrwB7LzmAKSKvwYuYUwNwbij62PJTBCoOiWDbL-Cu4k7AJDlzT2x/?imgmax=800&quot; width=&quot;657&quot; height=&quot;495&quot; /&gt;&lt;/p&gt;  &lt;p&gt;The fix is easy - just reinstall VirtualBox. It&#39;s not a bad idea, actually, as at the same time as Windows 8.1 went live so did &lt;a href=&quot;http://www.oracle.com/us/corporate/press/2033376&quot; target=&quot;_blank&quot;&gt;VirtualBox Version 4.3&lt;/a&gt;. The latest version has a few nice improvements that make it worth the upgrade, including: Multi-touch support, virtual USB webcam, a new NAT adapter that enables hosts and guests to communicate without requiring a host-only adapter, and the ability to record the entire VM session to video.&lt;/p&gt;  &lt;p&gt;As always, if you upgrade VirtualBox it&#39;s a good idea to upgrade the guest additions as well.&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/10/windows-81-upgrade-deletes-virtualbox.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja7Z3u5qFpaL-Nm4vYnYdctnGq2kRpTmwrxdyIUXCQ83VCnbFbejTeApxBzxAWFOVDGzcgp-Sy_nJBMTIOdv6yXUlBeM7UYqYWILS05sQ-pjaDJTSwkg3AZ74FLyfnBbbagVAlIvhew0at/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-2117892227228498358</guid><pubDate>Thu, 17 Oct 2013 19:30:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.027-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SQL Power Doc</category><title>SQL Power Doc Update - Version 1.0.2.1</title><description>&lt;p&gt;I&#39;m at the &lt;a href=&quot;http://www.sqlpass.org/summit/2013/Home.aspx&quot; target=&quot;_blank&quot;&gt;2013 PASS Summit&lt;/a&gt; in Charlotte, NC, this week, and presented a session about documenting your databases using &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/&quot; target=&quot;_blank&quot;&gt;SQL Power Doc&lt;/a&gt;. I&#39;m blown away that it&#39;s been downloaded over 3,000 times since version 1.0 and have received some really great feedback from people using it in their environments.&lt;/p&gt;  &lt;p&gt;To celebrate Summit week, the presentation, and the download milestone I&#39;m pleased to announce that version 1.0.2.1 is now available! Full release notes are available &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/wikipage?title=Changelog#1.0.2.1&quot;&gt;here&lt;/a&gt;, and you can download the latest version &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/releases/view/113573&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In addition to lots of big fixes, this release includes three significant features:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I&#39;ve corrected an issue with connectivity to named instances running locally using the Shared memory protocol. This has been a big annoyance since a lot of people are trying out SQL Power Doc on their local machines where they&#39;re running named instances of Developer Edition. Out of the box Developer edition has only shared memory enabled so this is nice to get this fixed.&lt;/li&gt;    &lt;li&gt;I&#39;ve added columns to the tabs for Server Permissions, Server Roles, Database Permissions, and Database Roles in the Database Engine workbook with the TSQL syntax to recreate the permissions/role associations.&lt;/li&gt;    &lt;li&gt;I&#39;ve added Windows API calls to resolve the members of AD Groups used for Server logins. This is especially useful for auditing because you can now see the actual members of the group at the time the server was documented.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Big thanks for the 3,000+ people who have downloaded SQL Power Doc so far and I hope you enjoy the new version!&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/10/sql-power-doc-update-version-1021.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-5552993224430421560</guid><pubDate>Fri, 11 Oct 2013 18:30:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.155-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>What Does The PASS Community Mean To You?</title><description>&lt;p&gt;In less than 72 hours I&#39;ll be in Charlotte with over 3,000 of my closest SQL Server friends for the 2013 PASS Summit. This year I&#39;m excited to be co-hosting two &amp;quot;Get To Know Your Community&amp;quot; sessions with my friend Kevin Kline (&lt;a href=&quot;http://kevinekline.com/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/kekline&quot; target=&quot;_blank&quot;&gt;@kekline&lt;/a&gt;) on &lt;a href=&quot;http://www.sqlpass.org/summit/2013/connect/firsttimers.aspx&quot; target=&quot;_blank&quot;&gt;Tuesday afternoon&lt;/a&gt; before the opening reception. Geared towards folks who are new to the PASS Community, we&#39;re going to be covering the many ways attendees can stay connected with the PASS (and SQL Server) community once the Summit is over.&lt;/p&gt;  &lt;p&gt;We&#39;ve been working for the last few weeks on the slides and feel pretty comfortable with the material, but it still feels like we&#39;re missing something. That&#39;s where you come in...&lt;/p&gt;  &lt;p&gt;Imagine you&#39;re introducing someone to the PASS Community for the first time. You&#39;ve got a sentence or two to tell them what makes it great and hook them or they lose interest and move on. What do you say?&lt;/p&gt;  &lt;p&gt;Leave a comment below and let me know why you think the PASS community rocks. I&#39;ll use the (SFW) comments in our slide deck Tuesday afternoon. This is your chance for 15 seconds of fame - don&#39;t let it &lt;em&gt;PASS &lt;/em&gt;you by. (har-har!)&lt;/p&gt;  &lt;p&gt;See you at the Summit next week!&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/10/what-does-pass-community-mean-to-you.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-8442445320004730517</guid><pubDate>Tue, 08 Oct 2013 20:00:00 +0000</pubDate><atom:updated>2013-10-08T16:08:20.807-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">About Me</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><category domain="http://www.blogger.com/atom/ns#">T-SQL Tuesday</category><title>T-SQL Tuesday #47: My Best SQL Server SWAG</title><description>&lt;p&gt;This blog post is part of T-SQL Tuesday, a monthly SQL blog party with a rotating host and common topic. This month marks #41, hosted by me!...and the theme is showing off &lt;a href=&quot;http://www.kendalvandyke.com/2013/10/t-sql-tuesday-47-your-best-sql-server.html&quot;&gt;my best SQL Server SWAG&lt;/a&gt; (Stuff We All Get!).&lt;/p&gt;  &lt;h3&gt;Confession Time&lt;/h3&gt;  &lt;p&gt;I love SWAG. I admit it. When I first got involved in the SQL Server community I would relish the chance to get my hands on freebies, regardless of what it was. Over the years I&#39;ve picked up a ton of things. I don&#39;t keep most it anymore - these days it gets brought back home for my kids or distributed to &lt;a href=&quot;http://magicpass.sqlpass.org/&quot; target=&quot;_blank&quot;&gt;MagicPASS&lt;/a&gt;. Some things are just too good to let go, though.&lt;/p&gt;  &lt;p&gt;How do I decide what to keep? If it&#39;s one of a kind or useful it ends up staying with me. When I came up with the idea for this month&#39;s topic I had one or two things in mind, but for fun I decided to walk around my house and include everything I came across. What follows is a pictorial of what I found.&lt;/p&gt;  &lt;h3&gt;My Favorite SWAG&lt;/h3&gt;  &lt;p&gt;First, there&#39;s the USB thumb drives from various vendors. I remember the day when these things cost $20 or more for a 512 MB drive. Nowadays they&#39;re a dime a dozen (literally!). Yes, that SQL Sentry drive doubles a bottle opener. The PASS and SQL 2012 branded drives are Power Sticks - a drive + battery that can be used to recharge phones. These have come in handy on Scout camping trips and long days at theme parks. &lt;img title=&quot;IMG_0810&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0810&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP367HpeynRLCEgl8uuphnxtXCHuG27suAfhH8wCCoa7KBDIq9qnnHMz8ogyOpfbKqk5Xu-ZzePzWtxd3pRw1nW42xzO4bjBKT8-NTKdRWAcHYNeIZZWY72mjtlkKyT_7HFidOcfmUNNTq/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;I&#39;ve gotten a lot of laptop backpacks but I&#39;ve already got a pretty nice bag that&#39;s held up well for 4 years now so I end up giving most of them away. The &lt;a href=&quot;http://www.sqlpass.org/summit/2011/Live.aspx&quot; target=&quot;_blank&quot;&gt;2011 PASS Summit&lt;/a&gt; speaker backpack, however, has been put to use by my son as his school backpack. It&#39;s held up remarkably well - it&#39;s on school year #2, outlasting the last few pairs of shoes I&#39;ve bought him. (Hmmm, what would SQL branded sneakers look like?)&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0808&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0808&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0EmtrPwNTo1oxROGqoVYD1NJ-PLlg4ydt0nJoR8NAEsGGIj0AEisCTuEHa6EQX54Nici-E4IIpvYh4N1EMjUeI0ZWdPR0jB9gK-3kr47URqidDxZpt04FQVuYriSaC6YNOCEqFeIlKzJ6/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;At the &lt;a href=&quot;http://www.sqlpass.org/summit/2012/&quot; target=&quot;_blank&quot;&gt;2012 PASS Summit&lt;/a&gt; speakers received a techtrap as a gift. This is basically a rigid 6&amp;quot; x 8&amp;quot; rectangle with elastic cords woven on to one side to keep cords, chargers, and small electronics together. It&#39;s found a permanent home in my laptop bag.&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0811&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto 0px; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0811&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_wS52FfvnMQ7yHi9n0g760HYJg4cAMI-SMK1VcNYqIPedUsz4e9OqF20qbpi2u0Aih1Fr97vHytukGdJH7SrkXMLGpCbFLLe6lL8-pC4vA17JyR0MbBSoRsH_L1qm9rhwUI29Rl9_k7nD/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;img title=&quot;IMG_0812&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto 10px; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0812&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPnFAHjX35exlsveor46YCDVUrzAdQXcfyQxhNs6hnnGegletu5zS3k-i3WeJ60NxXyGwMslnIZD4uy22_ZeeW9Bx4j2ubZtxfkSuq4QbgksKt4NQugxHUGR6YlRAEYwP0YYJl_zfpVX2V/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;Coffee mugs are great for coffee &lt;strike&gt;snobs&lt;/strike&gt; lovers like me. The red one in this picture is from &lt;a href=&quot;http://www.sqlsaturday.com/13/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #13&lt;/a&gt; (Atlanta 2009) and the silver from &lt;a href=&quot;http://www.sqlsaturday.com/21/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #21&lt;/a&gt; (Orlando 2009). The mug is from &lt;a href=&quot;http://www.sqlsaturday.com/49/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #49&lt;/a&gt; (Orlando 2010) and is the first thing that came to mind when I decided on this month&#39;s topic. It&#39;s handmade, one of a kind, and is just the right size for a 12 oz cup of joe. I love this mug so much that I glued the handle back together after it broke once!&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0813&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0813&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ1Lk0qffBqaH9PKOXE7uwXFKaXWVQ-aTFivovBN4V_j80fd8t7xDYntZ-BFH7dnNZnCg7nV97ujz9Ec90kipWM4jz-i_yrAYp4TJC0ydJU55vTixTP4Mh18rktYs-_Yx_v3xJhPt442jR/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;Usually when you speak at an event you&#39;ll be given a shirt to wear - a uniform for the day to identify that you&#39;re a speaker. Most are polos, but there have been some really interesting ones over the years: a football jersey (&lt;a href=&quot;http://www.sqlsaturday.com/164/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday&amp;#160; #164&lt;/a&gt;, Cleveland 2012), Chef Hat and Apron (&lt;a href=&quot;http://www.sqlsaturday.com/151/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday # 151, Orlando 2012&lt;/a&gt;), Hawaiian shirts (SQLSaturday Tampa, various years), and a Cuban style shirt (&lt;a href=&quot;http://sqlsaturday.com/226/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #226, South Florida 2013&lt;/a&gt;).&amp;#160; I&#39;ve given many my shirts (there&#39;s just too many to keep them all!), however I tend to keep the ones that look nice, are comfortable to wear, or are really unique. There&#39;s one, in particular, that I just can&#39;t seem to part with because it&#39;s &lt;em&gt;so &lt;/em&gt;rare: My speaker shirt from &lt;a href=&quot;http://sqlsaturday.com/1/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #1&lt;/a&gt;, held in 2007 in Orlando.&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0814&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0814&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtJUt41g4KZrfOdOfJCjYMTnoQI2QQx_cNPFW5r4mvkuU99cDXBHw44RLlg8J06IDtFYxBZuDo1wnP1dvuyRrj9VKbSWrigBaP1BwMhHfIAvzI-M70d5dmwR1IQ1BeFbM5WP_QjnVO20Ye/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;Speaking of rare, here&#39;s an embossed leather folio I got from &lt;a href=&quot;http://www.sqlsentry.net/&quot; target=&quot;_blank&quot;&gt;SQL Sentry&lt;/a&gt; for participating on a Customer Advisory Board prior to &lt;a href=&quot;http://www.sqlsaturday.com/33/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #33&lt;/a&gt; (Charlotte, 2010). &lt;img title=&quot;IMG_0817&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0817&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOmVF-lA0MTcAjxftlaeF5y-LBHClavR5-yXlZLjtP1anONaTfpotFYuuor-TZ-1m4kdEgsVdyKasanPBnRUpBkQlktE8eJQjCi5fbtELKCN2sDEPztIGBok4XT9cHZQhSr0i6Tb-kh6Nz/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;At the &lt;a href=&quot;http://www.sqlpass.org/summit/na2010/Live.aspx&quot; target=&quot;_blank&quot;&gt;2010 PASS Summit&lt;/a&gt; I was nominated for a (now defunct) SQLServerPedia award, and to say thanks Quest Software gave nominees a set of &lt;a href=&quot;http://www.bing.com/images/search?q=bucky+balls&amp;amp;FORM=HDRSC2&quot; target=&quot;_blank&quot;&gt;Bucky Balls&lt;/a&gt;. These are small, very powerful magnetic balls that you can form into various shapes. You can&#39;t get these anymore - &lt;a href=&quot;http://gizmodo.com/5929064/buckyballs-have-been-banned-by-the-feds&quot; target=&quot;_blank&quot;&gt;they&#39;ve been banned&lt;/a&gt; by the Consumer Product Safety Commission. My kids loved playing with these as much as I did, though admittedly I got really worried about the younger ones swallowing them. They&#39;ve since sat on a shelf where, over time, they&#39;ve started to rust with age.&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0818&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0818&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvSTGOoDPEvZyLwSR8SKZy3wrQP-UcY6X-wdsoLWPB_XxL981EuoIldh1bynVVmqgttnEZY2vslwZyH1XfMqy1FOkn7B2zY9cIs4_InZ2PqdZB2u2pEEEkAdTimIY6wG-okhiaZa3hRdYO/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;My friends at &lt;a href=&quot;http://www.red-gate.com&quot; target=&quot;_blank&quot;&gt;Red Gate&lt;/a&gt; not only make kick-ass software but have been known to give out some really nice gifts, too. At the 2010 PASS Summit they presented their &lt;a href=&quot;http://www.red-gate.com/community/friends-of-rg&quot; target=&quot;_blank&quot;&gt;Friends of Red Gate&lt;/a&gt; members with a picture frame that also displays the date, time, and temperature. (I&#39;ve removed the picture to restore it to it&#39;s &amp;quot;original&amp;quot; condition as it was presented to me)&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0820&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0820&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqxxPLXi2a_rBTUdvFJIN7d_awDHdIoZUeg77bAWHCAtU0ZVKchMEIhPJZED9bbjwSwhBG_f4Al4GB_GwAYADUl5DDlFskYOFR4iW7YWHLM2B2IauTUdqF30LMQ8PHfqbDMkb6g8jYXby2/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;What would a SWAG collection be without a duck (or four) from &lt;a href=&quot;http://www.idera.com/&quot; target=&quot;_blank&quot;&gt;Idera&lt;/a&gt;? My little ones love playing with these in the bathtub. (Do they make the gold colored ones anymore?)&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0822&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0822&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH2_IugWUaqeJjoJEk61UnarB-c1GoXSVySAD2396i_apSGejcTmBjcpY4R3cPWKH1Ocje6dcX95tKzEb896_-dTuT0HOozkvXP5FkV9QxhLr4pvcjmW57bDGT7YOGxGqqJkhe2Dd-DK2U/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;Now for something really unique - pins! Pam Shaw (&lt;a href=&quot;https://twitter.com/pamshaw&quot; target=&quot;_blank&quot;&gt;@pamshaw&lt;/a&gt;) starting making lapel pins for &lt;a href=&quot;http://sqlsaturday.com/62/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #62&lt;/a&gt; (Tampa 2011) and since I&#39;m from Orlando (where pin trading at Disney is sort of a big deal) I&#39;ve been grabbing them whenever I can. We made a set for &lt;a href=&quot;http://sqlsaturday.com/151/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #151&lt;/a&gt; (Orlando 2012) and I&#39;ve been hoping that these would really take off. Much to my dismay, they&#39;re not as popular as I had hoped.&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0823&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;IMG_0823&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrwJ-KomqKe8bFY00O7LyGo_MtWSqdOUD7O8iP9Z4VAQ4Eqt8Xc0p78lN8IhtKnXxy8EbMvWcrPJNv3ek46V5Ow0Yx93RJy6mnrzZ1ZNwZuTPsjvloeJUTLMMmhdlH0SfcH2FK35FdHZuw/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;I mentioned SQL Sentry had a theme going. Those folks really love their beer and in 2011 they gave away a &lt;a href=&quot;http://twitpic.com/7d79p8&quot; target=&quot;_blank&quot;&gt;silicon pint glass&lt;/a&gt; (aka the Silipint) that I quite disappointingly did not manage to get my hands on. I made sure not to repeat that mistake at the &lt;a href=&quot;http://www.sqlpass.org/summit/2012/Registration.aspx&quot; target=&quot;_blank&quot;&gt;2012 PASS Summit&lt;/a&gt; and got my hands on their awesome embossed leather pint glass sleeve. There&#39;s even a great story behind them - &lt;a href=&quot;https://www.ooweeproducts.com/&quot; target=&quot;_blank&quot;&gt;Oowee&lt;/a&gt;, the manufacturer, partners with the Autism Society of North Carolina to employ autistic adults who hand-sew each sleeve.&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0828&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;IMG_0828&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio4wNh1qs2DTyTrJ71PL_wjNlnPV9SDYnh21tWfJ2lnYlkl3c0iq8jQWSHWo0fg85uBzJV0_NbBVY8vENVeezFjc8vOoLcyOycxrzjcDgaQALZHbyvSktraRQf0c7L5ecdpR2IyP6-VS7_/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;At the 2011 PASS Summit everyone got a deck of SQL Server playing cards. At the end of the Summit there were cases of leftovers so I grabbed a few boxes (each box had a dozen decks in them) and carried them back home in my backpack to give away at MagicPASS. I had so many I was able to give away a deck to every new attendee for a few months!&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0826&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;IMG_0826&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJqJA6TFnEo-7spfukvsmMF8sy5yqh5bmbyY_x49J0DMTSN2PNoe2R0cLAOckZjuv_o4nPls4x0ZWmF6FJilXUd2FCJwANGkp4xfNknrXr2qIiWAb_FUqR9WQjHqA1kpUvyJ45ht6nT0-s/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;p&gt;Finally, one of the neater things I&#39;ve ever picked up...With every release of SQL Server Microsoft has everyone who worked on the product sign a 4 foot tall version of the box that it ships in. The boxes are put on display in Building 35 on Microsoft&#39;s Campus (where the SQL Server team is housed). For the release of SQL 2012, Microsoft had (normal sized) commemorative boxes made and I was fortunate enough to grab one earlier this year.&lt;/p&gt;  &lt;p&gt;&lt;img title=&quot;IMG_0825&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;IMG_0825&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOJmbNBFDrjVP_dCCFclkhi47Q4mbhvNFCO_3raWZ12g8BuXchc1tALSRzNv46E4s8l4xHj2hYFdoChSIg8sdbv7k7efQeG6agQsXEulGWeGgzWrJ3hgzV5ekarQU8Jbr697dmDt8awLco/?imgmax=800&quot; width=&quot;360&quot; height=&quot;270&quot; /&gt;&lt;/p&gt;  &lt;h3&gt;See You At The PASS Summit&lt;/h3&gt;  &lt;p&gt;And with that, I&#39;ll close by saying I&#39;m looking forward to the &lt;a href=&quot;http://www.sqlpass.org/summit/2013/Home.aspx&quot; target=&quot;_blank&quot;&gt;2013 PASS Summit&lt;/a&gt; in Charlotte, NC, next week. I&#39;m excited about the learning, the networking, and of course - scouting out some new great SWAG to add to the collection!&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/10/t-sql-tuesday-47-my-best-sql-server-swag.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP367HpeynRLCEgl8uuphnxtXCHuG27suAfhH8wCCoa7KBDIq9qnnHMz8ogyOpfbKqk5Xu-ZzePzWtxd3pRw1nW42xzO4bjBKT8-NTKdRWAcHYNeIZZWY72mjtlkKyT_7HFidOcfmUNNTq/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-1176099085792842714</guid><pubDate>Thu, 03 Oct 2013 17:15:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.010-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">T-SQL Tuesday</category><title>T-SQL Tuesday #47: Your Best SQL Server SWAG</title><description>&lt;h1&gt;&lt;/h1&gt;  &lt;h3&gt;&lt;img title=&quot;TSQL2sDay150x150&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;TSQL2sDay150x150&quot; align=&quot;right&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_66sPQW4GCu5Zghz1CufdcqAppFNeZkYqVcQcecQYnGdYo7WVVrZ4Eb33fslUBAaHVvrnjdrgJl3Psz7lcOVztPxXQ5f2bQNeLV7EqgfZ1mh8uGTQcdNOPM0tnwX3yS0mASEAOxq5xVRj/?imgmax=800&quot; width=&quot;150&quot; height=&quot;150&quot; /&gt;The Stuff We All Get!&lt;/h3&gt;  &lt;p&gt;Fall has arrived which means it&#39;s conference season: &lt;a href=&quot;http://www.devconnections.com/dev13/public/mainhall.aspx&quot; target=&quot;_blank&quot;&gt;Connections&lt;/a&gt; is happening this week, the &lt;a href=&quot;http://www.sqlpass.org/summit/2013/Home.aspx&quot; target=&quot;_blank&quot;&gt;PASS Summit&lt;/a&gt; is just around the corner, &lt;a href=&quot;http://www.sqlintersection.com/sql.aspx?s=118&quot; target=&quot;_blank&quot;&gt;SQLintersection&lt;/a&gt; at the end of the month, and &lt;a href=&quot;http://sqllive360.com/Events/Orlando-2013/Home.aspx&quot; target=&quot;_blank&quot;&gt;SQL Server Live!&lt;/a&gt; in November...and that&#39;s not including all the &lt;a href=&quot;http://www.sqlsaturday.com/&quot; target=&quot;_blank&quot;&gt;SQLSaturdays&lt;/a&gt; happening every weekend as well.&lt;/p&gt;  &lt;p&gt;Conferences are great for learning and catching up with friends and #SQLFamily...but let&#39;s admit it - we all like to roam the vendor halls to score free stuff, too! Some things we grab to bring back to the office, user group, or family at home; every now and then you pick something up and say, &amp;quot;no way anyone&#39;s getting their hands on this!&amp;quot;&lt;/p&gt;  &lt;p&gt;For this month&#39;s topic we&#39;re going to have a little fun. I want to hear the story about the best SQL Server swag you&#39;ve ever received. No cheap tchotchkes here - we want to know about the &lt;em&gt;good &lt;/em&gt;stuff. Tell us when, where, and how you got it. Make sure to include a picture, too, because you know you want to make the rest of envious at your prize SWAG!&lt;/p&gt;  &lt;h3&gt;Housekeeping&lt;/h3&gt;  &lt;p&gt;A few rules to follow when participating:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Your post must be published between 00:00 GMT Tuesday, October 8th, 2013, and 00:00 GMT Wednesday, October 9th, 2013 &lt;/li&gt;    &lt;li&gt;Your post must contain the T-SQL Tuesday logo from above and the image should link back to this blog post. &lt;/li&gt;    &lt;li&gt;Trackbacks should work, but if you don’t see one please link to your post in the comments section below so everyone can see your work &lt;/li&gt; &lt;/ul&gt;    &lt;p&gt;And some optional (and highly encouraged) things to also do:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Include a reference to T-SQL Tuesday in the title of your post &lt;/li&gt;    &lt;li&gt;Tweet about your post using the hash tag &lt;a href=&quot;http://twitter.com/#!/search/%23tsql2sday&quot;&gt;#TSQL2sDay&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Consider hosting T-SQL Tuesday yourself. Adam Machanic keeps the list. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;About T-SQL Tuesday&lt;/h3&gt;  &lt;p&gt;T-SQL Tuesday was started by Adam Machanic (&lt;a href=&quot;http://sqlblog.com/blogs/adam_machanic/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/AdamMachanic&quot;&gt;@AdamMachanic&lt;/a&gt;) in &lt;a href=&quot;http://sqlblog.com/blogs/adam_machanic/archive/2009/11/30/invitation-to-participate-in-t-sql-tuesday-001-date-time-tricks.aspx&quot;&gt;2009&lt;/a&gt;. It’s a monthly blog party with a rotating host, who is responsible for providing a new topic each month. In case you&#39;ve missed a month or two, Steve Jones (&lt;a href=&quot;http://voiceofthedba.com/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/way0utwest&quot;&gt;@way0utwest&lt;/a&gt; ) maintains a &lt;a href=&quot;http://voiceofthedba.wordpress.com/2012/12/10/t-sql-tuesday-topics-december-2012-update/&quot; target=&quot;_blank&quot;&gt;complete list&lt;/a&gt; for your reading enjoyment.&lt;/p&gt;  &lt;p&gt;I&#39;m looking forward to seeing your best SWAG!&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/10/t-sql-tuesday-47-your-best-sql-server.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_66sPQW4GCu5Zghz1CufdcqAppFNeZkYqVcQcecQYnGdYo7WVVrZ4Eb33fslUBAaHVvrnjdrgJl3Psz7lcOVztPxXQ5f2bQNeLV7EqgfZ1mh8uGTQcdNOPM0tnwX3yS0mASEAOxq5xVRj/s72-c?imgmax=800" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-8095644416947069953</guid><pubDate>Wed, 02 Oct 2013 14:00:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.219-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>A Tainted PASS Elections</title><description>&lt;p&gt;Another PASS Board of Directors election cycle has come and gone, and with the &lt;a href=&quot;http://www.sqlpass.org/Elections.aspx&quot; target=&quot;_blank&quot;&gt;results&lt;/a&gt; now announced I&#39;d like to congratulate the winners ...except I can&#39;t - &lt;em&gt;not yet&lt;/em&gt;, anyways, because the elections have been tainted by the possibility of duplicate votes affecting the outcome.&lt;/p&gt;  &lt;p&gt;On Saturday, Sept 28, Stuart Ainsworth (&lt;a href=&quot;http://codegumbo.com/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/codegumbo&quot; target=&quot;_blank&quot;&gt;@codegumbo&lt;/a&gt;) published a blog post in which he admitted &lt;a href=&quot;http://codegumbo.com/index.php/2013/09/28/passvotes-why-i-voted-for-allen-kinselthree-times/&quot; target=&quot;_blank&quot;&gt;voting three separate times&lt;/a&gt; for Allen Kinsel (&lt;a href=&quot;http://www.allenkinsel.com/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/AllenKinsel&quot; target=&quot;_blank&quot;&gt;@AllenKinsel&lt;/a&gt;). His ability to do so was due to a well known issue where a PASS &amp;quot;member&amp;quot; is nothing more than a registered email address. Over the years, like many of us (myself included), Stuart ended up with several PASS accounts under different email addresses.&lt;/p&gt;  &lt;p&gt;Ironically, &lt;a href=&quot;http://www.sqlpass.org/Elections/Candidates/AllenKinsel.aspx&quot; target=&quot;_blank&quot;&gt;Allen&#39;s platform&lt;/a&gt; was based on fixing this very issue:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&amp;quot;Making an additional IT investment to bring PASS’s membership roster up-to-date.&lt;/strong&gt; Updating the roster will allow PASS to have better knowledge of our worldwide membership and to provide members with better benefits.&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Allen lost the election by &lt;em&gt;four votes. &lt;/em&gt;Granted, Stuart&#39;s votes were for Allen and not another candidate, but it got me thinking...if Stuart did it and admitted it, who&#39;s to say that other people did the same but didn&#39;t admit it? I&#39;d like to think that wasn&#39;t the case, that we&#39;re all professionals who took the moral high ground despite a very glaring flaw. But as Ronald Reagan so often said, &amp;quot;Trust, but verify&amp;quot;. Therein lies my problem with the results - Allen lost by &lt;em&gt;four votes&lt;/em&gt;. A few dishonest people could have easily swayed the election. I could care less if we were talking about a homeowner&#39;s association election but we&#39;re not; we&#39;re talking about the Professional Association for SQL Server, an organization with an annual budget of $8+ million USD. I&#39;m not an attorney, but part of me wonders if there are potential legal issues with this loophole existing and not taking any action to prevent it.&lt;/p&gt;  &lt;p&gt;PASS President Bill Graziano (&lt;a href=&quot;http://weblogs.sqlteam.com/billg/Default.aspx&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/billgraziano&quot; target=&quot;_blank&quot;&gt;@billgraziano&lt;/a&gt;) was notified about Stuart&#39;s admission on Saturday shortly after it went live. What the PASS membership at large doesn&#39;t know is what happened after that. I could find no official mention by PASS on the &lt;a href=&quot;http://www.sqlpass.org/Elections.aspx&quot; target=&quot;_blank&quot;&gt;elections website&lt;/a&gt; or in the &lt;a href=&quot;http://www.sqlpass.org/Elections/Discussion.aspx&quot; target=&quot;_blank&quot;&gt;discussion forums&lt;/a&gt;. As of this morning I haven&#39;t seen anything posted to the &lt;a href=&quot;http://www.sqlpass.org/Community/PASSBlog.aspx&quot; target=&quot;_blank&quot;&gt;PASS blog&lt;/a&gt; or otherwise mentioned by Bill or elections chair &lt;a href=&quot;http://www.sqlpass.org/AboutPASS/RushabhMehta.aspx&quot; target=&quot;_blank&quot;&gt;Rushabh Mehta&lt;/a&gt;. My sources tell me the NomCom was not called upon for advice on how to handle Stuart&#39;s admission. It&#39;s frustrating, to say the least. It feels in some ways like the &amp;quot;old&amp;quot; PASS of pre-Andy Warren days where transparency was optional.&lt;/p&gt;  &lt;h3&gt;Call To Action&lt;/h3&gt;  &lt;p&gt;PASS members - especially the candidates who finished outside of the top 3 - deserve better.&lt;/p&gt;  &lt;p&gt;First, the elections committee needs to come clean and let us know if anything was done to verify the accuracy of the results in light of Stuart&#39;s admission and if so, what.&lt;/p&gt;  &lt;p&gt;Second, the &lt;a href=&quot;http://erc.sqlpass.org/&quot; target=&quot;_blank&quot;&gt;Election Review Committee&lt;/a&gt; should be reconvened. It&#39;s been several years since the last and it&#39;s time to take a look at the election cycle again, determine what&#39;s worked, what hasn&#39;t, and make any necessary recommendations to the Board.&lt;/p&gt;  &lt;p&gt;Third, and most importantly, &lt;em&gt;under no circumstances can this ever happen again.&lt;/em&gt; The PASS Board of Directors needs to make a commitment to clean up the membership list and close the loophole that allows for duplicate voting before next year&#39;s election.&lt;/p&gt;  &lt;p&gt;I will be at the &lt;a href=&quot;http://www.sqlpass.org/summit/2013/Home.aspx&quot; target=&quot;_blank&quot;&gt;2013 PASS Summit&lt;/a&gt; in 2 weeks, and if there is no response from PASS on this call to action prior to then I will bring this up in person at the Board of Directors &amp;quot;meet and greet&amp;quot;. I trust that the Board will do the right thing.&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/10/a-tainted-pass-elections.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-5949076028078764507</guid><pubDate>Thu, 19 Sep 2013 17:15:00 +0000</pubDate><atom:updated>2016-02-23T12:09:59.585-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PASS</category><category domain="http://www.blogger.com/atom/ns#">PowerShell</category><category domain="http://www.blogger.com/atom/ns#">SQLSaturday</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><title>Practical PowerShell: Merge SQLSaturday Speaker SpeedPASSes Into One PDF</title><description>&lt;p&gt;To make things easier on speakers prior to a &lt;a href=&quot;http://www.sqlsaturday.com/default.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday&lt;/a&gt; organizers are encouraged to print &amp;amp; cut their SpeedPASSes ahead of time and distribute them at the speaker appreciation gathering before the main event. The current iteration of the admin tools makes that an arduous task (at best) – eating a couple of hours that could be better spent doing other things to get ready.&lt;/p&gt; &lt;h3&gt;WorkFlow&lt;/h3&gt; &lt;p&gt;Here&#39;s how it works today:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Log into admin site &amp;amp; navigate to &lt;strong&gt;Event Settings &amp;gt; Manage SpeedPASS&lt;/strong&gt;&amp;nbsp; (1 minute )  &lt;li&gt;Filter the list by typing &quot;Comp&quot; in the Lunch Status text box (1 minute)  &lt;li&gt;Right click the link for each SpeedPASS, choose Save target as..., and choose the folder where you want to save the PDF. Repeat for however many comps you have - sometimes over 50! (30 minutes)  &lt;li&gt;Open and print each PDF (30+ minutes) &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Having been faced with doing this this last week for &lt;a href=&quot;http://www.sqlsaturday.com/232/&quot; target=&quot;_blank&quot;&gt;SQLSaturday #232 in Orlando&lt;/a&gt; I spent as much time as if I had done this manually figuring out how to automate this (as much as possible) and cut the task down to 10 minutes or less for the benefit of other SQLSaturday organizers. Here&#39;s what I came up with:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Log into admin site &amp;amp; navigate to &lt;strong&gt;Event Settings &amp;gt; Manage SpeedPASS&lt;/strong&gt;&amp;nbsp; (1 minute)  &lt;li&gt;Filter the list by typing &quot;Comp&quot; in the Lunch Status text box (1 minute)  &lt;li&gt;Copy and paste the list into Excel (5 minutes)  &lt;li&gt;Copy the column with the SpeedPASS URLs from Excel to a text file and save it to a text file (1 minute)  &lt;li&gt;Run a script to download the PDF files and merge them into a single PDF (1 minute)  &lt;li&gt;Print the merged PDF (2 minutes) &lt;/li&gt;&lt;/ol&gt; &lt;h3&gt;Enter PowerShell &lt;/h3&gt; &lt;p&gt;Being a PowerShell guy I figured step #5 can be done in a few lines of code. PowerShell can handle downloading the PDFs natively but not the merge part. Bingle led me to &lt;a href=&quot;http://www.pdfsharp.net/&quot; target=&quot;_blank&quot;&gt;PDFsharp&lt;/a&gt;, a .NET library for creating and modifying PDF documents, and since PowerShell can use .NET libraries we&#39;re in business!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The PDFsharp assemblies are compiled against the .NET 4.0 framework. You will need to use PowerShell version 3 or higher for this to work!&lt;/p&gt; &lt;p&gt;Before you can run any PowerShell code you need to &lt;a href=&quot;http://pdfsharp.codeplex.com/releases&quot; target=&quot;_blank&quot;&gt;download PDFSharp from CodePlex&lt;/a&gt;. Make sure you get the assemblies and not the source code! Once downloaded, unblock the ZIP file or PowerShell gets cranky because it&#39;s considered untrusted since the file came from the internet. &lt;/p&gt; &lt;div style=&quot;border-top: lightgrey 1px solid; border-right: lightgrey 1px solid; border-bottom: lightgrey 1px solid; padding-left: 10px; margin-left: 20px; border-left: lightgrey 1px solid; padding-right: 10px; background-color: rgb(236,236,236); margin-right: 20px&quot;&gt; &lt;p&gt;To unblock a file, navigate to it in Windows Explorer, right click, and choose the Properties menu option. On the General tab, click the Unblock button, then click the OK button to close the Properties dialog.&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;Unblock File&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;Unblock File&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigNfmKDdqnlblqXvJ5tbAeQ7AYwUIJmg7LNeZZtVVu42jMlZand1iLogVVOVkH5JUTGgbCHsMmf8PTz4cTzSDXg9vV5GcvG5urOdswkX4PAcIBp8E__OALSN82GEgSA3vhLbxz_4a5bltT/?imgmax=800&quot; width=&quot;361&quot; height=&quot;158&quot;&gt;&lt;/p&gt; &lt;p&gt;Once the file is unblocked you can extract the contents; it doesn&#39;t matter where but keep your explorer window open so you can copy the path to a DLL you&#39;ll use in the PowerShell code.&lt;/p&gt;&lt;/div&gt; &lt;p&gt;Next, copy and paste the code below into the PowerShell ISE (you&#39;re using PowerShell version 3, right?) and modify the following variables:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;$PdfSharpPath&lt;/strong&gt;: The path to the GDI+ version of PdfSharp.dll that you extracted in the preceding instructions  &lt;li&gt;&lt;strong&gt;$SpeedPASSUrlPath&lt;/strong&gt;: The path to the TXT file containing the SpeedPASS URls &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Now execute the code, go grab a cup of your favorite beverage, and when you get back you should have the individual PDFs downloaded and a single merged PDF file ready to print. The individual PDF files are downloaded into a temporary folder and the merged PDF file will have the same path and name as the TXT file but with a PDF extension instead of TXT.&lt;/p&gt;&lt;pre class=&quot;brush: powershell&quot;&gt;# Change the following path to where you&#39;ve put the PDFsharp DLL  
$PdfSharpPath = &#39;C:\Users\Kendal\Downloads\PDFsharp-MigraDocFoundation-Assemblies-1_32\GDI+\PdfSharp.dll&#39;

# Change the following path to where the TXT file with SpeedPASS URLs is
$SpeedPASSUrlPath = &#39;C:\Users\Kendal\Documents\SpeedPASSlist.txt&#39;


# Load the PdfSharp Assembly
Add-Type -Path $PdfSharpPath

# Create a temporary path for downloading the SpeedPASS PDF files
$TmpPath = [System.IO.Path]::GetFileNameWithoutExtension([System.IO.Path]::GetRandomFileName())
$TmpPath = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), $TmpPath)

if (-not $(Test-Path -Path $TmpPath)) {
    New-Item -Path $TmpPath -ItemType &#39;Directory&#39; | Out-Null
}

$OutputPath = [System.IO.Path]::ChangeExtension($SpeedPASSUrlPath, &#39;PDF&#39;)
$WebClient = New-Object System.Net.WebClient

Function Merge-PDF { 
    Param($path, $filename) 

    # Delete $filename if it exists
    if (Test-Path $filename) {
        Remove-Item $filename
    }

    $output = New-Object PdfSharp.Pdf.PdfDocument 
    $PdfReader = [PdfSharp.Pdf.IO.PdfReader] 
    $PdfDocumentOpenMode = [PdfSharp.Pdf.IO.PdfDocumentOpenMode] 

    foreach($i in (gci $path *.pdf -Recurse)) {
        $input = New-Object PdfSharp.Pdf.PdfDocument 
        $input = $PdfReader::Open($i.fullname, $PdfDocumentOpenMode::Import) 
        $input.Pages | %{$output.AddPage($_)} | Out-Null
    } 

    $output.Save($filename) 
}

try {
    $WebClient = New-Object System.Net.WebClient

    Write-Host &#39;Downloading SpeedPASS PDF files&#39;

    # Download the individual SpeedPASS files
    Get-Content -Path $SpeedPASSUrlPath | Where-Object { 
        -not [String]::IsNullOrEmpty($_) 
    } | ForEach-Object {
        $SourceURL = $_

        $Filename = Join-Path -Path $TmpPath -ChildPath $(Split-Path -Path $_ -Leaf)

        try {
            $WebClient.DownloadFile($SourceURL, $Filename)
        }
        catch {
            Write-Host &quot;Unable to download $SourceURL to $Filename&quot;
        }
    }

    # Call the merge function 
    Merge-PDF -path $TmpPath -filename $OutputPath

    Write-Host &quot;Merge Complete!&quot;
    Write-Host &quot;SpeedPASS files are located in $TmpPath&quot;
    Write-Host &quot;The merged SpeedPASS file is located at $OutputPath&quot;

} catch {
    Write-Host &quot;Uh-oh, something went wrong...&quot;
    Write-Host &#39;Review $Error to figure out what happened&#39; 
} finally {
    $WebClient.Dispose()
}

Remove-Variable -Name WebClient, TmpPath, OutputPath&lt;/pre&gt;
&lt;p&gt;Admittedly, this is unpolished code - &lt;em&gt;good enough &lt;/em&gt;to accomplish what it needs to. If you&#39;re PowerShell savvy (or if you&#39;re learning PowerShell and want practice in writing &amp;amp; running scripts) feel free to turn this into a script that you can run year after year.&lt;/p&gt;&lt;br&gt;&lt;br&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description><link>http://www.kendalvandyke.com/2013/09/practical-powershell-merge-sqlsaturday.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigNfmKDdqnlblqXvJ5tbAeQ7AYwUIJmg7LNeZZtVVu42jMlZand1iLogVVOVkH5JUTGgbCHsMmf8PTz4cTzSDXg9vV5GcvG5urOdswkX4PAcIBp8E__OALSN82GEgSA3vhLbxz_4a5bltT/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-4932229653989228201</guid><pubDate>Tue, 30 Jul 2013 20:45:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.125-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PASS</category><category domain="http://www.blogger.com/atom/ns#">Presentations</category><title>24 Hours Of PASS: 2013 Summit Preview Starts In Less Than 24 Hours!</title><description>&lt;p&gt;If you like free SQL Server training you&#39;re in luck – starting at 12:00 PM GMT/8:00 AM EDT, July 31 (that&#39;s tomorrow!),&amp;#160; the FREE &lt;a href=&quot;http://www.24hoursofpass.com/&quot; target=&quot;_blank&quot;&gt;24 Hours of PASS: 2013 Summit Preview Edition&lt;/a&gt; begins. That&#39;s &lt;a href=&quot;http://www.sqlpass.org/24hours/2013/summitpreview/Schedule.aspx&quot; target=&quot;_blank&quot;&gt;24 straight hours of sessions&lt;/a&gt; at no cost from folks who have been selected to present at &lt;a href=&quot;http://www.sqlpass.org/summit/2013/&quot; target=&quot;_blank&quot;&gt;this year&#39;s PASS Summit&lt;/a&gt; in October in Charlotte, NC. Topics are spread across Business Intelligence, Application Development, the Cloud, and Enterprise Administration; there&#39;s something for everyone who works with SQL Server!&lt;/p&gt;  &lt;h4&gt;Shameless Plug&lt;/h4&gt;  &lt;p&gt;I&#39;m honored to be included as one of the presenters for this edition. I&#39;m on at 4 AM GMT/12 AM EDT presenting &lt;strong&gt;&lt;a href=&quot;http://www.sqlpass.org/24hours/2013/summitpreview/Sessions/SessionDetails.aspx?sid=5278&quot; target=&quot;_blank&quot;&gt;Discover, Document, and Diagnose Your Servers on Your Coffee Break&lt;/a&gt;&lt;/strong&gt; and I&#39;ll be showing you how to use &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/&quot; target=&quot;_blank&quot;&gt;SQL Power Doc&lt;/a&gt; to perform an inventory and health analysis of your SQL Server environment. Here&#39;s the full abstract:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Documentation is the bane of every DBA&#39;s existence. We know we should do it, but it&#39;s time-consuming; by the time you&#39;re finally done, it&#39;s probably out of date. Throw in the new servers you just found out about last week, and keeping documentation up-to-date can turn into a full-time job. You need to work smarter, not harder, and automate your documentation. In this 24 Hours of PASS session, you&#39;ll learn how to discover all the SQL Servers on your network, document their configuration from top to bottom (including OS details), and diagnose common problems before they turn into big headaches – all while on your coffee break. You&#39;ll look like a rock star without writing a line of code on your own or having to ask management to sign a check.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I&#39;m really excited to be a part of this year&#39;s lineup and I hope that you&#39;ll stay up late (or get up early depending on where you are in the world) to attend my session!&lt;/p&gt;  &lt;h4&gt;Why Attend?&lt;/h4&gt;  &lt;p&gt;Would you like to go to the PASS Summit this year? Start with the 24 Hours Of PASS 2013 Summit Preview. Pick one or two sessions related to a project you&#39;re working on or something going on at work. Schedule a conference room and invite your coworkers – and especially your boss – to come watch so they can see firsthand the kinds of things you&#39;ll be learning at this year&#39;s Summit. Then ask your boss if you can go while it&#39;s fresh on their mind. Best case scenario, you get to go! Worst case scenario, you&#39;ve just watched an awesome hour of free training (and hopefully learned something!).&lt;/p&gt;  &lt;h4&gt;Don&#39;t Just Watch - Participate!&lt;/h4&gt;  &lt;p&gt;One advantage to attending a session in real time is that you can participate - because each session is live it&#39;s a great chance to ask the presenter a question and get an immediate answer. You can also follow along on Twitter - follow &lt;a href=&quot;https://twitter.com/pass24hop&quot; target=&quot;_blank&quot;&gt;@pass24hop&lt;/a&gt; and use the hashtag &lt;a href=&quot;https://twitter.com/search?q=%2324HOP&amp;amp;src=hash&quot; target=&quot;_blank&quot;&gt;#24HOP&lt;/a&gt; to interact with the rest of the SQL Server community attending 24HOP. &lt;/p&gt;  &lt;h4&gt;Can&#39;t Make The Sessions?&lt;/h4&gt;  &lt;p&gt;Don&#39;t worry, if you can&#39;t make a session because you&#39;re stuck in a meeting or it&#39;s 3 AM in your time zone and you&#39;re asleep you won&#39;t lose out. Every session is being recorded and will be posted for replay (hopefully) within a few weeks afterwards.&lt;/p&gt;  &lt;h4&gt;Final Words Of Wisdom&lt;/h4&gt;  &lt;p&gt;I&#39;ll admit it, I&#39;ve been lazy in the past and waited until a few minutes before each session to register. Don&#39;t be me! PASS has switched to a new platform and there&#39;s a limit of 1,000 attendees per session. You don&#39;t want to be left out in the cold so &lt;a href=&quot;http://www.sqlpass.org/24hours/2013/summitpreview/Registration.aspx&quot; target=&quot;_blank&quot;&gt;go register now&lt;/a&gt; and I hope to &amp;quot;see&amp;quot; you at the 24 Hours of PASS tomorrow!&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/07/24-hours-of-pass-2013-summit-preview.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-4300738918376388702</guid><pubDate>Wed, 24 Apr 2013 15:25:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.106-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Documentation</category><category domain="http://www.blogger.com/atom/ns#">Performance</category><category domain="http://www.blogger.com/atom/ns#">PowerShell</category><category domain="http://www.blogger.com/atom/ns#">Scripts</category><category domain="http://www.blogger.com/atom/ns#">SQL Power Doc</category><category domain="http://www.blogger.com/atom/ns#">Troubleshooting</category><category domain="http://www.blogger.com/atom/ns#">Updates</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>SQL Power Doc Update - Version 1.0.1.0</title><description>&lt;p&gt;A quick note to let you know that &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/&quot; target=&quot;_blank&quot;&gt;SQL Power Doc version 1.0.1.0&lt;/a&gt; is now live. This release fixes issues reported since version 1.0, adds 11 new assessment checks, and improves error handling in multiple places. The nitty-gritty details of what&#39;s changed are available in the &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/wikipage?title=Changelog#1.0.1.0&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can grab the latest version from the &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/&quot; target=&quot;_blank&quot;&gt;CodePlex project page&lt;/a&gt;. If you find it useful please do consider giving it a rating and\or review. And of course if you run into any problems post a description on the &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/discussions&quot; target=&quot;_blank&quot;&gt;discussions&lt;/a&gt; page and I&#39;ll be happy to help troubleshoot.&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/04/sql-power-doc-update-version-1010.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-6368289159329153406</guid><pubDate>Thu, 11 Apr 2013 15:00:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.179-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Documentation</category><category domain="http://www.blogger.com/atom/ns#">Performance</category><category domain="http://www.blogger.com/atom/ns#">PowerShell</category><category domain="http://www.blogger.com/atom/ns#">Scripts</category><category domain="http://www.blogger.com/atom/ns#">SQL Power Doc</category><category domain="http://www.blogger.com/atom/ns#">Troubleshooting</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>Discover, Diagnose, and Document ALL Your SQL Servers On Your Coffee Break</title><description>&lt;p&gt;We all &lt;em&gt;know &lt;/em&gt;that we should document our SQL Servers, right? RIGHT? &lt;/p&gt;  &lt;p&gt;So let&#39;s say you had some time on your hands and decided that today&#39;s the day you&#39;re going to get it done. You might open SSMS, connect to a server in Object explorer, start clicking around, and copying properties into an Excel spreadsheet. That gets old quick, so you write TSQL to grab information...until you realize that you&#39;re going deep down the rabbit hole accounting for all the nuances and new features between versions of SQL Server. If you&#39;re adventurous you might crack open your IDE of choice and dig into SMO, but that&#39;s another rabbit hole of a different kind, too. Frustrated, you give in and download a trial version of a commercial documentation tool. It works pretty well, except it&#39;s taking forever to manually go through every database on every server. A couple hours later you&#39;ve got a handful of databases documented...but what about server configurations or&amp;#160; details about the Windows OS they&#39;re installed on? How do you compare server configurations against each other? Or spot potential configuration problems? And what about those servers you just inherited - or don&#39;t even know are out there yet?&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Wow&lt;/em&gt;, you think to yourself as you head home, &lt;em&gt;this could be someone&#39;s full time job just keeping track of all this stuff!&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;There &lt;em&gt;Is&lt;/em&gt; a Better Way: Introducing SQL Power Doc&lt;/h3&gt;  &lt;p&gt;Starting today, there &lt;em&gt;is &lt;/em&gt;a better way. I&#39;m proud to officially announce the release of &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/&quot; target=&quot;_blank&quot;&gt;SQL Power Doc&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Imagine combining the functionality of what &lt;a href=&quot;http://www.quest.com/discovery-wizard-for-sql-server/&quot; target=&quot;_blank&quot;&gt;Quest&#39;s Discovery Wizard for SQL Server&lt;/a&gt;, your favorite commercial SQL documentation tool, &lt;a href=&quot;http://support.microsoft.com/kb/300887&quot; target=&quot;_blank&quot;&gt;msinfo32.exe&lt;/a&gt;, and Brent Ozar Unlimited&#39;s &lt;a href=&quot;http://www.brentozar.com/blitz/&quot; target=&quot;_blank&quot;&gt;sp_Blitz™&lt;/a&gt; script does into a single standalone tool that you can run against all of your SQL servers at once. That&#39;s SQL Power Doc.&lt;/p&gt;  &lt;p&gt;Here&#39;s a look at what SQL Power Doc does: &lt;/p&gt;  &lt;blockquote&gt;   &lt;h5&gt;Discover&lt;/h5&gt;    &lt;p&gt;Find SQL Server Services on your network by:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Active Directory DNS &lt;/li&gt;      &lt;li&gt;Subnet Scan &lt;/li&gt;      &lt;li&gt;Computer Name &lt;/li&gt;   &lt;/ul&gt;    &lt;h5&gt;Document&lt;/h5&gt;    &lt;p&gt;Collect comprehensive details about all your SQL Server instances and their underlying Windows OS, including: &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Service Details For All Installed SQL Sever Services &lt;/li&gt;      &lt;li&gt;Database Engine        &lt;ul&gt;         &lt;li&gt;Configuration &lt;/li&gt;          &lt;li&gt;Security &lt;/li&gt;          &lt;li&gt;Server Objects &lt;/li&gt;          &lt;li&gt;Databases            &lt;ul&gt;             &lt;li&gt;Configuration &lt;/li&gt;              &lt;li&gt;Database Objects &lt;/li&gt;              &lt;li&gt;Service Broker &lt;/li&gt;              &lt;li&gt;Storage &lt;/li&gt;              &lt;li&gt;Security &lt;/li&gt;           &lt;/ul&gt;         &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;SQL Agent        &lt;ul&gt;         &lt;li&gt;Configuration &lt;/li&gt;          &lt;li&gt;Jobs &lt;/li&gt;          &lt;li&gt;Alerts &lt;/li&gt;          &lt;li&gt;Operators &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Windows OS        &lt;ul&gt;         &lt;li&gt;Machine Information &lt;/li&gt;          &lt;li&gt;OS Information &lt;/li&gt;          &lt;li&gt;Software&amp;#160; &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;h5&gt;Diagnose&lt;/h5&gt;    &lt;p&gt;&lt;b&gt;&lt;/b&gt;SQL Power Doc performs over 100 checks to find hidden problems and performance bottlenecks on your SQL Servers before they turn into major headaches.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;p&gt;SQL Power Doc does all of this using Windows PowerShell and Microsoft Excel. Never touched PowerShell before? Don&#39;t worry, I&#39;ve written a &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/wikipage?title=Guide%20For%20PowerShell%20Beginners&quot; target=&quot;_blank&quot;&gt;How To Guide for PowerShell Beginners&lt;/a&gt; to walk you through every step of the way.&lt;/p&gt;  &lt;p&gt;While you&#39;re on your coffee break you can put SQL Power Doc to work for you to generate comprehensive, top to bottom documentation of your &lt;u&gt;entire&lt;/u&gt; SQL Server environment. This documentation is useful for:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Baselines - know what your SQL Server environment looked like last week, last month, etc. &lt;/li&gt;    &lt;li&gt;Security Audits &lt;/li&gt;    &lt;li&gt;Licensing Audits &lt;/li&gt;    &lt;li&gt;Provide a complete look at how your servers are configured without having to grant access &lt;/li&gt;    &lt;li&gt;Troubleshooting &lt;/li&gt;    &lt;li&gt;Comparing servers and databases &lt;/li&gt;    &lt;li&gt;Creating a runbook that you can give to your operations team &lt;/li&gt;    &lt;li&gt;Planning upgrades - see what hidden features are in use on an instance      &lt;ul&gt;       &lt;p&gt;&lt;!--EndFragment--&gt;&lt;/p&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;One More Thing...&lt;/h5&gt;  &lt;p&gt;SQL Power Doc isn&#39;t limited to just SQL Server - you can also use it to collect an inventory of all the Windows machines on your network. If your IT department is looking for a way to document their Windows machines do them a favor and tell them about SQL Power Doc.&lt;/p&gt;  &lt;h3&gt;Ready To Get Started?&lt;/h3&gt;  &lt;p&gt;Now that you know there&#39;s a tool that can do the work for you there&#39;s no excuse not to document your servers. Head on over to the &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/&quot; target=&quot;_blank&quot;&gt;SQL Power Doc CodePlex site&lt;/a&gt;, check out the &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/wikipage?title=Requirements&quot; target=&quot;_blank&quot;&gt;Requirements&lt;/a&gt; and &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/wikipage?title=Guide%20For%20PowerShell%20Beginners&quot; target=&quot;_blank&quot;&gt;How To Guide&lt;/a&gt;, then &lt;a href=&quot;https://sqlpowerdoc.codeplex.com/releases&quot; target=&quot;_blank&quot;&gt;grab the code&lt;/a&gt; to discover, document, and diagnose your SQL Servers today!&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/04/discover-diagnose-and-document-all-your.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>14</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-2368487517035873251</guid><pubDate>Tue, 09 Apr 2013 21:45:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.032-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">About Me</category><category domain="http://www.blogger.com/atom/ns#">Career</category><category domain="http://www.blogger.com/atom/ns#">SQLSaturday</category><title>T-SQL Tuesday #41 - Presenting Opens Doors</title><description>&lt;p&gt;This blog post is part of T-SQL Tuesday, a monthly SQL blog party with a rotating host and common topic. This month marks #41, hosted by &lt;a href=&quot;http://www.bobpusateri.com/&quot; target=&quot;_blank&quot;&gt;Bob Pusateri&lt;/a&gt; (&lt;a href=&quot;https://twitter.com/SQLBob&quot; target=&quot;_blank&quot;&gt;@SQLBob&lt;/a&gt;), and the theme is how I came to love presenting.&lt;/p&gt;  &lt;h3&gt;Presenting Changed My Life&lt;/h3&gt;  &lt;p&gt;My story starts in early 2006; I had moved to Orlando to work for a small E-commerce company as a Sr. Production DBA, but I was the DBA&#39;s equivalent of &lt;a href=&quot;http://www.troyhunt.com/2013/02/the-ghost-who-codes-how-anonymity-is.html#!&quot; target=&quot;_blank&quot;&gt;the ghost who codes&lt;/a&gt;. While I had a nice resume there really wasn&#39;t much associated with my name and SQL server that I could show off to people. When I had a problem I searched for the answer on Google. I didn&#39;t follow anyone&#39;s blog or know any of the big names in the SQL Server world. I had no idea was &lt;a href=&quot;http://www.sqlpass.org/&quot; target=&quot;_blank&quot;&gt;PASS&lt;/a&gt; was all about or that the concept of a user group even existed. As I write this I laugh because I&#39;m reminded that I even searched for logins to &lt;a href=&quot;http://www.sqlservercentral.com/&quot; target=&quot;_blank&quot;&gt;SQLServerCentral&lt;/a&gt; on BugMeNot because I &lt;em&gt;wanted &lt;/em&gt;to remain anonymous.&lt;/p&gt;  &lt;p&gt;A coworker of mine at the time told me that a friend of his was looking for people to present to a local group of database people. It sounded like an interesting way to meet other people around town who worked with SQL Server so I accepted and agreed to talk about the new XML features in SQL 2005. A month later I made the one hour trek across town to present to 15 people and as much as I&#39;d like to remember that it was an overwhelming success it was anything but. I rambled. I had 3 slides and spent the rest of the time showing code in SSMS. I went at least 20 minutes over time. I know I lost a few people along the way and probably gave a few wrong answers to questions. By all accounts it was a &lt;em&gt;terrible &lt;/em&gt;presentation.&lt;/p&gt;  &lt;h4&gt;But I survived.&lt;/h4&gt;  &lt;p&gt;The next day I received an email from the user group leader - one &lt;a href=&quot;http://www.sqlandy.com/&quot; target=&quot;_blank&quot;&gt;Andy Warren&lt;/a&gt; (&lt;a href=&quot;https://twitter.com/sqlandy&quot; target=&quot;_blank&quot;&gt;@sqlandy&lt;/a&gt;) - with constructive suggestions on how to improve and an invitation to give the presentation again at this newfangled concept he called &lt;a href=&quot;http://www.sqlsaturday.com/&quot; target=&quot;_blank&quot;&gt;SQLSaturday&lt;/a&gt;. I accepted, took the suggestions to heart, and felt like a million bucks after I gave a much improved presentation to a full room at &lt;a href=&quot;http://www.sqlsaturday.com/1/schedule.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday #1&lt;/a&gt;. It was a great feeling, so I did it again...and again...and started to find new things to present about. I began attending &lt;a href=&quot;http://orlando.sqlpass.org/&quot; target=&quot;_blank&quot;&gt;OPASS&lt;/a&gt; and reading blogs (and started this blog, too). I kept at it, and in 2009 I was selected to present a session at the PASS Summit, an honor I had every year until 2012 when I attended the Summit in a different capacity - as a PASS Board member and Director of the SQLSaturday portfolio. &lt;/p&gt;  &lt;p&gt;It&#39;s been quite a journey, to say the least! Along the way I&#39;ve learned a metric ton (that&#39;s the technical term) about SQL Server and I&#39;ve met incredible people, many of whom I have become good friends with. What a difference between the 2006 me and who I&#39;ve become now - in large part because of presenting.&lt;/p&gt;  &lt;h3&gt;You Never Know Who You Will Influence&lt;/h3&gt;  &lt;p&gt;It wasn&#39;t obvious to me at first but I&#39;ve come to the realize that one of the most rewarding things about presenting is that you have the opportunity to open doors for people, if ever so slightly. I doubt Kevin Kline had any idea who I was when I sat in a session he gave in Tampa many years ago, or who that guy named &lt;a href=&quot;http://www.sqlskills.com/blogs/jonathan/&quot; target=&quot;_blank&quot;&gt;Jonathan Kehayias&lt;/a&gt; (&lt;a href=&quot;https://twitter.com/SQLPoolBoy&quot; target=&quot;_blank&quot;&gt;@SQLPoolBoy&lt;/a&gt;) a few seats over from me was. I certainly had no idea who Jonathan was when I gave my XML presentation at SQLSaturday, and it&#39;s fun to think now that I was the one who first introduced him to XML-DML in SQL Server.&lt;/p&gt;  &lt;p&gt;My point is that you never know if the next great blogger, user group leader, or eventual PASS President is someone you encouraged to give their presentation or someone who attended your session and walked away motivated to do more because of it. It doesn&#39;t matter if you&#39;re just getting started or you&#39;re a veteran speaker - by presenting you&#39;re helping yourself and others at the same time. I&#39;ll call that a win any day!&lt;/p&gt;  &lt;h3&gt;Your Turn&lt;/h3&gt;  &lt;p&gt;If you&#39;ve ever considered giving a presentation but something&#39;s holding you back, consider this a challenge to get over it and submit. There are plenty of PASS chapters who will be happy to put you on their schedule and there&#39;s no shortage of SQLSaturdays these days either. Both are great places to start and there are plenty of people in the SQL community who can help you prepare in advance. &lt;/p&gt;  &lt;p&gt;I promise, it won&#39;t be too painful - but be careful, because you might just walk away wanting to do it again!&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2013/04/t-sql-tuesday-41-presenting-opens-doors.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-6347994514610073658</guid><pubDate>Tue, 12 Feb 2013 20:30:00 +0000</pubDate><atom:updated>2016-02-23T12:16:45.832-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PowerShell</category><category domain="http://www.blogger.com/atom/ns#">Scripts</category><title>T-SQL Tuesday #39 - Use PowerShell To Copy A Database To Another Instance</title><description>&lt;p&gt;This blog post is part of T-SQL Tuesday, a monthly SQL blog party with a rotating host and common topic. &lt;a href=&quot;http://blog.waynesheffield.com/wayne/archive/2013/02/invitation-for-t-sql-tuesday-39-can-you-shell-what-the-posh-is-cooking/&quot; target=&quot;_blank&quot;&gt;This month marks #39&lt;/a&gt;, hosted by &lt;a href=&quot;http://blog.waynesheffield.com/wayne/&quot; target=&quot;_blank&quot;&gt;Wayne Sheffield&lt;/a&gt; (&lt;a href=&quot;https://twitter.com/DBAWayne&quot; target=&quot;_blank&quot;&gt;@DBAWayne&lt;/a&gt;), and the theme is &quot;Can You Shell What The PoSh Is Cooking?&quot; &lt;/p&gt; &lt;p&gt;For many years I made learning PowerShell a goal and for many years the best I could do was use the PowerShell console as a replacement for the command prompt. Like most DBAs I figured out how get by with T-SQL and multi-server queries...and then I started a side project using PowerShell that didn&#39;t involve SQL Server (yet) and it was time to sink or swim. I&#39;m happy to say a year and a half later I swam, and now PowerShell has become such an essential core skill for me that I&#39;m kicking myself for not having learned it sooner!&lt;/p&gt; &lt;p&gt;On that note, Wayne has started an excellent month-long series on PowerShell that even seasoned script writers should check out. Open a console, &lt;a href=&quot;http://blog.waynesheffield.com/wayne/a-month-of-powershell/&quot; target=&quot;_blank&quot;&gt;start at the series landing page&lt;/a&gt;, and get scripting!&lt;/p&gt; &lt;p&gt;For today&#39;s post I&#39;m going to share a script I wrote which uses &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms162169.aspx&quot; target=&quot;_blank&quot;&gt;Server Management Objects (SMO)&lt;/a&gt; to copy a database from one instance to another via backup and restore. This works against all versions and editions of SQL Server starting with SQL 2000.&lt;/p&gt; &lt;p&gt;If you&#39;ve got Management Studio installed then you&#39;ve already got SMO. If you want to run this script on a machine that doesn&#39;t have SMO you can download it as part of the &lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=29065&quot; target=&quot;_blank&quot;&gt;SQL 2012 Feature Pack&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The script is below. Copy and paste the contents into your favorite editor and save the file as &lt;strong&gt;Copy-SqlServerDatabase.ps1&lt;/strong&gt;. If copy and paste isn&#39;t your thing you can &lt;a href=&quot;https://www.dropbox.com/s/yaiu1565e4ov4wu/Copy-SqlServerDatabase.zip&quot; target=&quot;_blank&quot;&gt;download the script&lt;/a&gt; - but make sure to unblock the file in Windows Explorer before extracting or you&#39;ll run into problems when you try to run it. &lt;/p&gt; &lt;p&gt;Finally, make sure your &lt;a href=&quot;http://technet.microsoft.com/en-us/library/ee176961.aspx&quot; target=&quot;_blank&quot;&gt;Execution Policy is set to RemoteSigned&lt;/a&gt; before trying to run this script (and I&#39;m hoping Wayne blogs about that in his series!).&lt;/p&gt;  &lt;pre class=&quot;brush: powershell&quot;&gt;&lt;#
.SYNOPSIS
   Copies a SQL Server DB from a source instance to a target instance via backup &amp; restore, optionally renaming the DB at the target

.DESCRIPTION
    This script uses SQL Server Management Objects (SMO) to copy a SQL Server database from one instance to another, optionally renaming the database at the target instance.
    
    SQL Server Native backup &amp; restore operations are used to write a backup to a file and restore it to the target instance.
    
    Once restored to the target instance, the database owner is changed to SA and the compatibility level adjusted to match the target instance&#39;s model database.

    NOTE: This script does NOT delete the backup file that it creates. If you no longer need the file you must delete it manually.

.PARAMETER SourceInstance
    The source instance containing the database you want to copy

.PARAMETER SourceDatabase
    The name of the database that you want to copy

.PARAMETER TargetInstance
    The target instance that you want to copy the database to

.PARAMETER TargetDatabase
    The new name for the database at the target SQL Server instance. If omitted, the database will retain the same name as on the source instance

.PARAMETER BackupDirectoryPath
    The intermediate location where the backup file will be written. This should be accessible by both the source and target instances

.PARAMETER Username
    Username to use when connecting to the source and target instances with a SQL login. If omitted, Windows Authentication is used.

.PARAMETER Password
    Password to use when connecting to the source and target instances with a SQL login. If omitted, Windows Authentication is used.

.PARAMETER Force
    Force overwriting the database at the target server if a database with the same name already exists

.EXAMPLE
   .\Copy-SqlServerDatabase.ps1 -SourceInstance Server1 -SourceDatabase AdventureWorks -TargetInstance Server2 -BackupDirectoryPath \\Server3\Backups

.EXAMPLE
   .\Copy-SqlServerDatabase.ps1 -SourceInstance Server1 -SourceDatabase AdventureWorks -TargetInstance Server2 -TargetDatabase AdventureWerkz -BackupDirectoryPath \\Server3\Backups -Force

.EXAMPLE
   .\Copy-SqlServerDatabase.ps1 -SourceInstance Server1 -SourceDatabase AdventureWorks -TargetInstance Server2 -TargetDatabase AdventureWerkz -BackupDirectoryPath \\Server3\Backups -Username sa -Password N0tBl@nk!

.EXAMPLE
   .\Copy-SqlServerDatabase.ps1 -SourceInstance Server1,3143 -SourceDatabase AdventureWorks -TargetInstance Server2,4133 -TargetDatabase AdventureWerkz -BackupDirectoryPath \\Server3\Backups
#&gt;
[cmdletBinding(DefaultParametersetName=&#39;WindowsAuthentication&#39;)]
param(
    [Parameter(Mandatory=$true, ParameterSetName = &#39;WindowsAuthentication&#39;)]
    [Parameter(Mandatory=$true, ParameterSetName = &#39;SQLAuthentication&#39;)]
    [ValidateNotNullOrEmpty()]
    [alias(&#39;Source&#39;, &#39;Src&#39;)]
    [System.String]
    $SourceInstance
    ,
    [Parameter(Mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [alias(&#39;SourceDb&#39;, &#39;SrcDb&#39;, &#39;Database&#39;)]
    [System.String]
    $SourceDatabase
    ,
    [Parameter(Mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [alias(&#39;Target&#39;, &#39;Tgt&#39;)]
    [System.String]
    $TargetInstance
    ,
    [Parameter(Mandatory=$false)]
    [ValidateNotNullOrEmpty()]
    [alias(&#39;TargetDb&#39;, &#39;TgtDb&#39;, &#39;RenameAs&#39;)]
    [System.String]
    $TargetDatabase = $SourceDatabase
    ,
    [Parameter(Mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [alias(&#39;Path&#39;)]
    [System.String]
    $BackupDirectoryPath
    ,
    [Parameter(Mandatory=$true, ParameterSetName = &#39;SQLAuthentication&#39;)]
    [ValidateNotNull()]
    [System.String]
    $Username
    ,
    [Parameter(Mandatory=$true, ParameterSetName = &#39;SQLAuthentication&#39;)]
    [ValidateNotNull()]
    [System.String]
    $Password
    ,
    [Parameter(Mandatory=$false)]
    [Switch]
    $Force = $false
)

# Load SMO assembly, and if we&#39;re running SQL 2008 DLLs or higher load the SMOExtended and SQLWMIManagement libraries
# SMO Major Versions
# 9    :    SQL 2005
# 10:    SQL 2008 &amp; 2008 R2 
# 11:    SQL 2012
[System.Reflection.Assembly]::LoadWithPartialName(&#39;Microsoft.SqlServer.SMO&#39;) | ForEach-Object {
    $SmoMajorVersion = $_.GetName().Version.Major
    if ($SmoMajorVersion -ge 10) {
        [System.Reflection.Assembly]::LoadWithPartialName(&#39;Microsoft.SqlServer.SMOExtended&#39;) | Out-Null
        [System.Reflection.Assembly]::LoadWithPartialName(&#39;Microsoft.SqlServer.SQLWMIManagement&#39;) | Out-Null
    }
}


######################
# CONSTANTS
######################

# SQL Versions
# See http://social.technet.microsoft.com/wiki/contents/articles/783.sql-server-versions.aspx for version timeline
# Also see http://support.microsoft.com/kb/321185
# Also see http://sqlserverbuilds.blogspot.com/

New-Object -TypeName System.Version -ArgumentList &#39;8.0.0.0&#39; | New-Variable -Name SQLServer2000 -Scope Script -Option Constant
New-Object -TypeName System.Version -ArgumentList &#39;9.0.0.0&#39; | New-Variable -Name SQLServer2005 -Scope Script -Option Constant
New-Object -TypeName System.Version -ArgumentList &#39;10.0.0.0&#39; | New-Variable -Name SQLServer2008 -Scope Script -Option Constant
New-Object -TypeName System.Version -ArgumentList &#39;10.50.0.0&#39; | New-Variable -Name SQLServer2008R2 -Scope Script -Option Constant
New-Object -TypeName System.Version -ArgumentList &#39;11.0.0.0&#39; | New-Variable -Name SQLServer2012 -Scope Script -Option Constant


######################
# FUNCTIONS
######################

function Get-SqlConnection {
    [CmdletBinding()]
    [OutputType([System.Data.SqlClient.SqlConnection])]
    param(
        [Parameter(Mandatory=$false)]
        [ValidateNotNullOrEmpty()]
        [System.String]
        $Instance = &#39;(local)&#39;
        ,
        [Parameter(Mandatory=$false)]
        [ValidateNotNullOrEmpty()]
        [System.String]
        $Database = &#39;master&#39;
        ,
        [Parameter(Mandatory=$true, ParameterSetName = &#39;SQLAuthentication&#39;)]
        [ValidateNotNull()]
        [System.String]
        $Username
        ,
        [Parameter(Mandatory=$true, ParameterSetName = &#39;SQLAuthentication&#39;)]
        [ValidateNotNull()]
        [System.String]
        $Password
        ,
        [Parameter(Mandatory=$true, ParameterSetName = &#39;WindowsAuthentication&#39;)]
        [ValidateNotNull()]
        [alias(&#39;WindowsAuth&#39;,&#39;IntegratedAuth&#39;)]
        [switch]
        $WindowsAuthentication
        ,
        [Parameter(Mandatory=$false)]
        [System.String]
        $FailoverPartner = $null
        ,
        [Parameter(Mandatory=$false)]
        [System.String]
        $ApplicationName = &#39;Windows PowerShell&#39; # $MyInvocation.ScriptName    
    )
    try {

        # ConnectionStringBuilder docs: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx
        # http://www.connectionstrings.com/Articles/Show/all-sql-server-connection-string-keywords

        $SQLConnection = New-Object -TypeName System.Data.SqlClient.SqlConnection
        $SQLConnectionBuilder = New-Object -TypeName system.Data.SqlClient.SqlConnectionStringBuilder

        $SQLConnectionBuilder.psBase.DataSource = $Instance
        $SQLConnectionBuilder.psBase.InitialCatalog = $Database

        if ($PSCmdlet.ParameterSetName -eq &#39;SQLAuthentication&#39;) {
            $SQLConnectionBuilder.psBase.IntegratedSecurity = $false
            $SQLConnectionBuilder.psBase.UserID = $Username
            $SQLConnectionBuilder.psBase.Password = $Password
        } else {
            $SQLConnectionBuilder.psBase.IntegratedSecurity = $true
        }

        $SQLConnectionBuilder.psBase.FailoverPartner = $FailoverPartner
        $SQLConnectionBuilder.psBase.ApplicationName = $ApplicationName

        $SQLConnection.ConnectionString = $SQLConnectionBuilder.ConnectionString

        Write-Output $SQLConnection

    }
    catch {
        Throw
    }
}

######################
# VARIABLES
######################
$SourceConnection = $null
$SourceServer = $null
$TargetConnection = $null
$TargetServer = $null
$TargetDbExists = $false
$SaLogin = &#39;sa&#39;

$FileDeviceType = [Microsoft.SqlServer.Management.Smo.DeviceType]::File

$TargetDataPath = [String]::Empty
$TargetLogPath = [String]::Empty
$PhysicalName = [String]::Empty

$Backup = $null
$Restore = $null
$RelocateFile = $null


######################
# BEGIN SCRIPT
######################

try {

    # Open a connection to the target server and check if the target database already exists
    if ($PSCmdlet.ParameterSetName -eq &#39;SQLAuthentication&#39;) {
        $TargetConnection = Get-SqlConnection -Instance $TargetInstance -Username $Username -Password $Password
    } else {
        $TargetConnection = Get-SqlConnection -Instance $TargetInstance -WindowsAuthentication
    }
    $TargetServer = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $TargetConnection
    $TargetServer.ConnectionContext.Connect()

    $TargetServer.Databases | Where-Object { $_.Name -ieq $TargetDatabase } | ForEach-Object {
        $TargetDbExists = $true
    }

    # If the target database already exists and -Force was not specified throw an error
    if ($TargetDbExists -and -not $Force) {
        throw &quot;Database &#39;$TargetDatabase&#39; exists on target instance $TargetInstance; Rerun script and specify -Force to overwrite the existing database&quot;
    }


    # Open a connection to the source server and kick off a full, copy-only backup to the backup path
    if ($PSCmdlet.ParameterSetName -eq &#39;SQLAuthentication&#39;) {
        $SourceConnection = Get-SqlConnection -Instance $SourceInstance -Username $Username -Password $Password
    } else {
        $SourceConnection = Get-SqlConnection -Instance $SourceInstance -WindowsAuthentication
    }
    $SourceServer = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $SourceConnection
    $SourceServer.ConnectionContext.Connect()

    # Setup the backup
    $Backup = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Backup
    $Backup.Action = &#39;Database&#39;
    $Backup.BackupSetName = &quot;$SourceDatabase FULL Backup&quot;
    $Backup.BackupSetDescription = &#39;FULL backup of $SourceDatabase for RemitPlus upgrade&#39;
    $Backup.Database = $SourceDatabase
    $Backup.Incremental = $false

    # COPYONLY supported by SQL 2005+ and SMO 2008
    if ((($SourceServer.Information.Version).CompareTo($SQLServer2005) -ge 0) -and ($SmoMajorVersion -ge 10)) {
        $Backup.CopyOnly = $true
    }

    # Compression supported by:
    #    - SQL 2008 enterprise edition
    #     - SQL 2008 R2 standard edition and higher
    if (
        $( $SourceServer.Information.Version).CompareTo($SQLServer2008R2) -ge 0 -or
        (
            $( $SourceServer.Information.Version).CompareTo($SQLServer2008) -ge 0 -and
            $SourceServer.Information.Edition -ilike &#39;*enterprise*&#39;
        )
    )
    {
        $Backup.CompressionOption = &#39;on&#39; 
    }

    # Build backup filename
    # Note: I&#39;m not accounting for invalid characters here. I&#39;m assuming this won&#39;t be an issue for this iteration!
    $BackupFileName = [String]::Join(&#39;_&#39;, @($SourceServer.Name.Replace(&#39;\&#39;,&#39;_&#39;), $SourceDatabase, &#39;FULL&#39;, [System.DateTime]::Now.ToString(&#39;yyyy_MM_dd_HH_mm&#39;)))
    $BackupFileName = [System.IO.Path]::ChangeExtension($BackupFileName, &#39;bak&#39;)
    $BackupPath = [System.IO.Path]::GetFullPath([System.IO.Path]::Combine($BackupDirectoryPath, $BackupFileName))

    $BackupDevice = New-Object -TypeName Microsoft.SqlServer.Management.Smo.BackupDeviceItem -ArgumentList $BackupPath, $FileDeviceType
    $Backup.Devices.Add($BackupDevice)

    # Do the backup
    $Backup.SqlBackup($SourceServer)

    # Cleanup
    $Backup.Devices.Remove($BackupDevice) | Out-Null
    $Backup = $null
    $SourceServer.ConnectionContext.Disconnect()



    # Get the path to the data and log file directories on the target server

    # Get the default data and log file path on the target server
    $TargetDataPath = if (($TargetServer.Settings.DefaultFile).Length -gt 0) { $TargetServer.Settings.DefaultFile } else { $TargetServer.Information.MasterDBPath }
    $TargetLogPath = if (($TargetServer.Settings.DefaultLog).Length -gt 0) { $TargetServer.Settings.DefaultLog } else { $TargetServer.Information.MasterDBPath }


    # Setup the restore
    $Restore = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Restore
    $Restore.Action = &#39;Database&#39;
    $Restore.Database = $TargetDatabase
    $Restore.NoRecovery = $false
    $Restore.Devices.Add($BackupDevice)

    # Iterate through files in backup and set up a new physical path for each
    $Restore.ReadFileList($TargetServer).Rows | ForEach-Object {
        $RelocateFile = New-Object -TypeName Microsoft.SqlServer.Management.Smo.RelocateFile
        $RelocateFile.LogicalFileName = $_.LogicalName

        $PhysicalName = [System.IO.Path]::GetFileName($_.PhysicalName)
        #$PhysicalName = [System.IO.Path]::GetFileNameWithoutExtension($_.PhysicalName) + &#39;_TEST&#39; + [System.IO.Path]::GetExtension($_.PhysicalName)

        # Set new physical path depending on file type
        if ($_.Type -ieq &#39;L&#39;) {
            $RelocateFile.PhysicalFileName = [System.IO.Path]::GetFullPath([System.IO.Path]::Combine($TargetLogPath, $PhysicalName))
        } else {
            $RelocateFile.PhysicalFileName = [System.IO.Path]::GetFullPath([System.IO.Path]::Combine($TargetDataPath, $PhysicalName))
        }

        $Restore.RelocateFiles.Add($RelocateFile) | Out-Null
    }

    # Do the restore
    $Restore.SqlRestore($TargetServer)

    # Cleanup
    $Restore.Devices.Remove($BackupDevice) | Out-Null
    $Restore = $null


    # Get the SA login for the target instance (fallback is &#39;sa&#39;)
    $TargetServer.Logins | Where-Object { [System.BitConverter]::ToString($_.Sid) -eq [System.BitConverter]::ToString(0x01) } | ForEach-Object { $SaLogin = $_.Name }

    # Have SMO update the list of databases
    $TargetServer.Databases.Refresh()

    # Change DB Owner to SA and compatibility level to match target server&#39;s model DB compatibility level
    $TargetServer.Databases.Item($TargetDatabase) | ForEach-Object {
        $_.SetOwner($SaLogin)
        $_.CompatibilityLevel = $TargetServer.Databases[&#39;model&#39;].CompatibilityLevel
        $_.Alter()
    }

    $TargetServer.ConnectionContext.Disconnect()
}
catch {
    # Get the lowest level error and throw it
    $ThisException = $_.Exception
    while ($ThisException.InnerException) {
        $ThisException = $ThisException.InnerException
    }
    throw $ThisException
}
finally {
    # Close any open connections
    If ($TargetServer.ConnectionContext.IsOpen) { $TargetServer.ConnectionContext.Disconnect() } 
    If ($SourceServer.ConnectionContext.IsOpen) { $SourceServer.ConnectionContext.Disconnect() } 
}

Remove-Variable -Name SourceConnection, SourceServer, TargetConnection, TargetServer, FileDeviceType, BackupFileName, `
BackupPath, TargetDataPath, TargetLogPath, Backup, Restore, RelocateFile, PhysicalName, SmoMajorVersion, TargetDbExists, SaLogin
&lt;/pre&gt;</description><link>http://www.kendalvandyke.com/2013/02/t-sql-tuesday-39-use-powershell-to-copy.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-2891472924471797810</guid><pubDate>Tue, 29 Jan 2013 19:45:00 +0000</pubDate><atom:updated>2016-02-23T12:20:01.064-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Replication</category><category domain="http://www.blogger.com/atom/ns#">Scripts</category><title>Transactional Replication Toolbox Scripts: Show Articles And Columns For All Publications</title><description>&lt;p&gt;During the last few years I&#39;ve worked extensively with transactional replication and have written a handful of scripts that have found a permanent home in my &amp;quot;useful scripts&amp;quot; toolbox. I&#39;ve provided these scripts as downloads whenever I&#39;ve presented about replication...but not everyone who has worked with replication has been to one of my presentations (or had access to the downloads afterwards) so I&#39;m posting them here.&lt;/p&gt;  &lt;p&gt;The first script in my toolbox shows all of the articles and columns in each article for all transactional publications in a published database. It&#39;s pretty straightforward - just execute the script in the published database on the publisher. Note that because it uses the FOR XML PATH directive it must be run on SQL 2005 or higher.&lt;/p&gt;  &lt;p&gt;Here&#39;s the script:&lt;/p&gt;  &lt;pre class=&quot;brush: sql&quot;&gt;/********************************************************************************************* 
Transactional Replication Toolbox: Show Articles and Columns for All Publications 

Description: 
   Shows articles and columns for each article for all transactional publications 

   (C) 2013, Kendal Van Dyke (mailto:kendal.vandyke@gmail.com) 

Version History: 
   v1.00 (2013-01-29) 

License: 
   This query is free to download and use for personal, educational, and internal 
   corporate purposes, provided that this header is preserved. Redistribution or sale 
   of this query, in whole or in part, is prohibited without the author&#39;s express 
   written consent. 

Note: 
   Execute this query in the published database on the PUBLISHER 

   Because this query uses FOR XML PATH(&#39;&#39;) it requires SQL 2005 or higher 
   
*********************************************************************************************/ 

SELECT	syspublications.name AS &quot;Publication&quot; ,
		sysarticles.name AS &quot;Article&quot; ,
		STUFF((
				SELECT	&#39;, &#39; + syscolumns.name AS [text()]
				FROM	sysarticlecolumns WITH (NOLOCK)
						INNER JOIN syscolumns WITH (NOLOCK) ON sysarticlecolumns.colid = syscolumns.colorder
				WHERE	sysarticlecolumns.artid = sysarticles.artid
						AND sysarticles.objid = syscolumns.id
				ORDER BY syscolumns.colorder
				FOR
				XML	PATH(&#39;&#39;)
				), 1, 2, &#39;&#39;) AS &quot;Columns&quot;
FROM	syspublications WITH (NOLOCK)
		INNER JOIN sysarticles WITH (NOLOCK) ON syspublications.pubid = sysarticles.pubid
ORDER BY syspublications.name ,
		sysarticles.name; &lt;/pre&gt;</description><link>http://www.kendalvandyke.com/2013/01/transactional-replication-toolbox.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-4224029434657717715</guid><pubDate>Tue, 06 Nov 2012 22:30:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.092-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Career</category><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>T-SQL Tuesday #36 - SQL Community (Guest Post)</title><description>&lt;p&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;tsql2sday&quot; border=&quot;0&quot; alt=&quot;tsql2sday&quot; align=&quot;right&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBdDpvUr4Gsd08n0g0o0QUm1UQRGlt00oVUdVTzsS7_ldpn9c_PrlrzvCzK2umkWGvvzDvZdgpAFyYIgaKqO3ivK_1STybSITrniDgthOm4ak5yunR_gmfr4sMsRaTiOORNzRWRRAmSQGy/?imgmax=800&quot; width=&quot;150&quot; height=&quot;150&quot; /&gt;This blog post is part of T-SQL Tuesday, a monthly &lt;a href=&quot;http://chrisyatessql.wordpress.com/2012/11/05/t-sql-tuesday-36-sql-community-what-does-the-community-mean-to-you/&quot;&gt;SQL blog party&lt;/a&gt; with a rotating host and common topic. This month marks #36, hosted by &lt;a href=&quot;http://chrisyatessql.wordpress.com&quot; target=&quot;_blank&quot;&gt;Chris Yates&lt;/a&gt; (&lt;a href=&quot;http://twitter.com/YatesSQL&quot;&gt;@YatesSQL&lt;/a&gt;), and the theme is &amp;quot;SQL Community&amp;quot;. This post is not mine, but the handiwork of Andy Levy (&lt;a href=&quot;https://twitter.com/ALevyInROC&quot; target=&quot;_blank&quot;&gt;@ALevyInROC&lt;/a&gt;), a first timer at the &lt;a href=&quot;http://www.sqlpass.org/summit/2012/&quot; target=&quot;_blank&quot;&gt;2012 PASS Summit&lt;/a&gt;. Andy doesn&#39;t have a blog yet, but was compelled by the topic so I offered to let him post on my blog as a guest. Hopefully this won&#39;t be his only post and we&#39;ll see his own blog up and running soon!&lt;/p&gt;  &lt;p&gt;I&#39;m very new to the SQL Community and still finding my way around. I had been exposed to it a little through &lt;a href=&quot;http://www.sqlsaturday.com/129/&quot; target=&quot;_blank&quot;&gt;SQL Saturday #129&lt;/a&gt; and several MVPs I&#39;ve spoken with over the past 18 months or so, but my first &lt;i&gt;real&lt;/i&gt; exposure to the community was last week at PASS Summit 2012. I was completely blown away.    &lt;br /&gt;I arrived not knowing anyone, and feeling a bit overwhelmed by the sheer enormity of the event. 3900+ people. Sessions &amp;amp; events (official &amp;amp; unofficial) stacked from pre-dawn until midnight or later. Tweets flying by at a ridiculous pace. But after a couple hours, I finally came to a realization: &lt;i&gt;These are my people&lt;/i&gt;. We&#39;re all here for similar reasons, but we don&#39;t have to have serious technical discussions all the time. In fact, in a lot of cases it&#39;s better that we &lt;i&gt;don&#39;t&lt;/i&gt;. We can talk about topics at a high level, then redirect for more detail - &amp;quot;go read so-and-so&#39;s blog, he had a real good post last month about that&amp;quot; or even skip technical discussion entirely - &amp;quot;I had that particular experience, but now I need something different, and really want to move more toward doing this other thing.&amp;quot; We don&#39;t have to get into details if we don&#39;t want to.&lt;/p&gt;  &lt;p&gt;I met one woman near the Community Zone on Wednesday who told me that I should come speak at her user group - not 10 minutes after we&amp;#160; met for the first time. But I don&#39;t have anything to present. No worries, she says - surely I can come up with &lt;i&gt;something&lt;/i&gt;. The following day, a discussion about SQLite came up, and Brian Davis pointed me at a &lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/spatial-data-from-your-iphone&quot;&gt;blog post he wrote last year&lt;/a&gt; about working with SQLite from within SSMS. This got me started on about a half-dozen ideas for ways I could use data that I already had, ideas that were relevant to another hobby I engage in, which eventually I could turn into a presentation for a user group. Wow! I stumbled into a topic for a presentation - and the very notion of speaking at a user group - thanks to two brief conversations with members of the SQL Community. I had previously tried blogging and failed due to a lack of material. Now I see that I have my own ideas &amp;amp; insights into topics discussed by others that I can contribute back to the community, so I&#39;m thinking about starting up again.&lt;/p&gt;  &lt;p&gt;There&#39;s a recurring theme of &amp;quot;everyone in this room can learn at least one valuable thing from someone else in the room&amp;quot; that I&#39;ve heard for quite a while, both in conversations and presentations, and now that I&#39;ve experienced it firsthand (both as a learner and a teacher), I see just how true and valuable it is. It&#39;s very karmic - today I may get help from someone via twitter, and tomorrow I may be able to help someone else out the same way. There&#39;s no competition, it&#39;s incredibly collaborative &amp;amp; supportive. There&#39;s a tremendous feedback cycle - someone writes a blog post, someone takes the idea &amp;amp; make some adjustments to it or takes it to the next logical step, and then the original author integrates that feedback - or someone else can pick it up and run with it.&lt;/p&gt;  &lt;p&gt;SQL Server &amp;amp; our general job roles may be the reason why we congregate at Summit, SQL Saturdays &amp;amp; user groups, but it&#39;s not what brings us &lt;i&gt;together&lt;/i&gt;. What brings us together is the conversations we have on the side, sharing not just technical expertise but life and career knowledge &amp;amp; insights. The passion for the community is infectious - I&#39;ve already asked my local chapter president how I can get involved with planning the local SQL Saturday in 2013, because I want other people to experience what I&#39;ve experienced from this community in a very short time already.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Note from Kendal: Did you like Andy&#39;s post? &lt;a href=&quot;https://twitter.com/ALevyInROC&quot; target=&quot;_blank&quot;&gt;Follow him on Twitter&lt;/a&gt; and encourage him to keep it up!&lt;/em&gt;&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2012/11/t-sql-tuesday-36-sql-community-guest.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBdDpvUr4Gsd08n0g0o0QUm1UQRGlt00oVUdVTzsS7_ldpn9c_PrlrzvCzK2umkWGvvzDvZdgpAFyYIgaKqO3ivK_1STybSITrniDgthOm4ak5yunR_gmfr4sMsRaTiOORNzRWRRAmSQGy/s72-c?imgmax=800" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-4025854637754611630</guid><pubDate>Thu, 11 Oct 2012 20:30:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.088-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">About Me</category><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>2012 PASS Elections Letter Of Recommendation From Ed Watson</title><description>&lt;p&gt;&lt;a href=&quot;http://www.kendalvandyke.com/2012/10/2012-pass-board-of-directors-elections.html&quot; target=&quot;_blank&quot;&gt;I&#39;m a candidate&lt;/a&gt; in the &lt;a href=&quot;http://www.sqlpass.org/Elections.aspx&quot; target=&quot;_blank&quot;&gt;2012 PASS Board of Directors elections&lt;/a&gt; and believe that an important part of what makes a good candidate is support from the community that they wish to represent. During the last 5 years I have connected with people in PASS community from chapter members to speakers and from &lt;a href=&quot;http://www.sqlsaturday.com/&quot; target=&quot;_blank&quot;&gt;SQLSaturday&lt;/a&gt; volunteers to Directors. I&#39;ve been fortunate this year to receive several letters of recommendation in support of my desire to continue serving on the Board. In this post I&#39;m sharing the letter I received from Ed Watson (&lt;a href=&quot;http://sqlgator.com/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/SQLGator&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;I met Ed for the first time at &lt;a href=&quot;http://www.sqlsaturday.com/110/eventhome.aspx&quot; target=&quot;_blank&quot;&gt;SQLSaturday&amp;#160; #110&lt;/a&gt; in Tampa earlier this year and again at the &lt;a href=&quot;http://www.tampasql.com/&quot; target=&quot;_blank&quot;&gt;Tampa Bay SQL User Group&lt;/a&gt; in March. Ed is the perfect embodiment of someone who jumped straight into the deep end of the PASS community - he regularly attends chapter meetings, is active on Twitter, started blogging, presented at his first SQLSaturday a few weeks ago, and in November will be joining us for the first time at the Summit. It&#39;s been fun to watch Ed&#39;s upward trajectory in the SQL community and I have no doubt that we&#39;ll be seeing more of him around PASS for a few years. Here&#39;s what Ed had to say about me:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;To Whom It May Concern:&lt;/p&gt;    &lt;p&gt;I have only had the privilege of knowing Kendal Van Dyke for a little over a year which is about the same amount of time that I have been involved with PASS. In that time frame and beyond, Kendal has been an ever present force in the Central Florida area for PASS. I live closer to the Tampa user group; however Kendal has continually invited me to the MagicPASS meetings. He has presented for our Tampa group as well as presenting at all of the local SQL Saturdays that I have attended.&lt;/p&gt;    &lt;p&gt;Kendal has never ceased being an ambassador for PASS, in my opinion. I have never seen dialog on twitter or blogs where he has been nothing but the consummate professional always raising the flag for PASS and always looking to help users in the SQL Server community.&lt;/p&gt;    &lt;p&gt;He has also encouraged me to do more in the PASS community and I have now presented a session to my user group as well as at a SQL Saturday. He has continued the cycle of mentoring new presenters. After several conversations, I feel that he has a great passion for the SQL Server community as well as some great ideas for the PASS community globally.&lt;/p&gt;    &lt;p&gt;I fully recommend Kendal for the PASS Board of Directors without any hesitation.&lt;/p&gt;    &lt;p&gt;Sincerely,&lt;/p&gt;    &lt;p&gt;Ed Watson&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For those of your who have already cast your vote - thank you for helping to decide who you want to lead PASS forward. And for everyone else yet to fill out their ballot, please take the time to visit the &lt;a href=&quot;http://www.sqlpass.org/Elections.aspx&quot; target=&quot;_blank&quot;&gt;elections website&lt;/a&gt;, read about each &lt;a href=&quot;http://www.sqlpass.org/Elections/Candidates.aspx&quot; target=&quot;_blank&quot;&gt;candidate&lt;/a&gt;, and exercise your right to vote. (And of course I hope that you&#39;ll consider voting for me!)&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2012/10/2012-pass-elections-letter-of_6660.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-7027141738440079804</guid><pubDate>Thu, 11 Oct 2012 20:15:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.208-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">About Me</category><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>2012 PASS Elections Letter Of Recommendation From Stacia Misner</title><description>&lt;p&gt;&lt;a href=&quot;http://www.kendalvandyke.com/2012/10/2012-pass-board-of-directors-elections.html&quot; target=&quot;_blank&quot;&gt;I&#39;m a candidate&lt;/a&gt; in the &lt;a href=&quot;http://www.sqlpass.org/Elections.aspx&quot; target=&quot;_blank&quot;&gt;2012 PASS Board of Directors elections&lt;/a&gt; and believe that an important part of what makes a good candidate is support from the community that they wish to represent. During the last 5 years I have connected with people in PASS community from chapter members to speakers and from &lt;a href=&quot;http://www.sqlsaturday.com/&quot; target=&quot;_blank&quot;&gt;SQLSaturday&lt;/a&gt; volunteers to Directors. I&#39;ve been fortunate this year to receive several letters of recommendation in support of my desire to continue serving on the Board. In this post I&#39;m sharing the letter I received from Stacia Misner (&lt;a href=&quot;http://blog.datainspirations.com/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/StaciaMisner&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;I met Stacia for the first time in person in 2011 at SQLRally in Orlando - which is slightly humorous given that we had both been to the PASS Summit since 2009 but never crossed paths. Stacia has become a trusted friend as we&#39;ve gotten to know each other better. I value her experience and always look forward to conversing with her about SQL Server and her adventures living in Alaska. Here&#39;s what Stacia had to say about me:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I don&#39;t remember exactly when I first became aware of Kendal Van Dyke&#39;s presence in the SQL Server community, but I do recall that it was on Twitter. His sense of humor and his active involvement with community were the first things that I noticed about him. Those are two qualities that I think are important for anyone seeking a board position at PASS.&lt;/p&gt;    &lt;p&gt;Over time, I got to know Kendal in other ways. As a speaker at SQLRally in Orlando, I benefited from his hospitality during a time when he was pulled in multiple directions at once. I observed his graciousness under pressure throughout the event, and appreciated his willingness to participate in after-hours activities when I&#39;m sure he was very tired. I also have been a panel speaker with Kendal, participating in a session at PASS that he moderated. The purpose of that session was to help people learn to blog. It was evident to me from that interaction that Kendal feels strongly, as do I, that we all benefit through shared knowledge. He is encouraging to everyone, even if they feel they have very little to contribute. Again, Kendal&#39;s concern for community and passion for helping others stretch their skills was a stand-out quality and his willingness to invest personal time in these efforts is commendable. &lt;/p&gt;    &lt;p&gt;Kendal has hands-on experience with many of the activities associated with PASS, which has given him a wealth of insight into the needs of the membership. His roles as a chapter leader, event organizer both small and large, and as a speaker, demonstrate his commitment to serving the community in whatever way he can. Furthermore, he&#39;s had the opportunity to serve on the PASS Board in an appointed seat, and has had the opportunity to be involved in initiatives to make things even better. Therefore, he can hit the ground running as an elected Board member. I think our SQL Server community will benefit greatly from Kendal&#39;s passion, commitment, and service, and heartily recommend him.&lt;/p&gt;    &lt;p&gt;Stacia Misner     &lt;br /&gt;DataInspirations.com      &lt;br /&gt;Inspiring Intelligence from Information&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For those of your who have already cast your vote - thank you for helping to decide who you want to lead PASS forward. And for everyone else yet to fill out their ballot, please take the time to visit the &lt;a href=&quot;http://www.sqlpass.org/Elections.aspx&quot; target=&quot;_blank&quot;&gt;elections website&lt;/a&gt;, read about each &lt;a href=&quot;http://www.sqlpass.org/Elections/Candidates.aspx&quot; target=&quot;_blank&quot;&gt;candidate&lt;/a&gt;, and exercise your right to vote. (And of course I hope that you&#39;ll consider voting for me!)&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2012/10/2012-pass-elections-letter-of_7245.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-4407164352119700286</guid><pubDate>Thu, 11 Oct 2012 19:45:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.115-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">About Me</category><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>2012 PASS Elections Letter Of Recommendation From Jes Borland</title><description>&lt;p&gt;&lt;a href=&quot;http://www.kendalvandyke.com/2012/10/2012-pass-board-of-directors-elections.html&quot; target=&quot;_blank&quot;&gt;I&#39;m a candidate&lt;/a&gt; in the &lt;a href=&quot;http://www.sqlpass.org/Elections.aspx&quot; target=&quot;_blank&quot;&gt;2012 PASS Board of Directors elections&lt;/a&gt; and believe that an important part of what makes a good candidate is support from the community that they wish to represent. During the last 5 years I have connected with people in PASS community from chapter members to speakers and from &lt;a href=&quot;http://www.sqlsaturday.com/&quot; target=&quot;_blank&quot;&gt;SQLSaturday&lt;/a&gt; volunteers to Directors. I&#39;ve been fortunate this year to receive several letters of recommendation in support of my desire to continue serving on the Board. In this post I&#39;m sharing the letter I received from Jes Borland (&lt;a href=&quot;http://blogs.lessthandot.com/index.php?disp=authdir&amp;amp;author=420&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;http://twitter.com/grrl_geek&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Like many people in the PASS Community I first &amp;quot;met&amp;quot; Jes on Twitter about two years ago. Over time we tweeted and emailed back and forth, and at the 2011 PASS Summit we met in person for the first time. Jes is even more energetic in person than she is online!&amp;#160; Throughout the last year she and I have had some great conversations about volunteering, careers, and life in general, and I&#39;m fortunate to be able to include her in my network of SQL peers. Here&#39;s what Jes had to say about me:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I finally met Kendal Van Dyke in person at PASS Summit 2011, after “meeting” him through Twitter and talking to him virtually for a couple years. Kendal has given me guidance on consulting, and answered questions about SQL Server, user groups and SQL Saturdays. Anytime I’ve had a question, he’s been willing to take time out of his day to answer me. He’s reached out to me when he’s wanted an opinion or needed a volunteer for PASS tasks. &lt;/p&gt;    &lt;p&gt;Kendal is passionate about growing the PASS community in a truly grassroots way. He wants to focus on growing members, but not just in numbers. He wants community members to connect with each other, and wants individuals to grow through opportunities such as speaking and volunteering. He has ideas on how to do this, and the drive to accomplish them. &lt;/p&gt;    &lt;p&gt;I fully support Kendal running for the PASS Board of Directors, and think he will guide and grow the PASS community with passion and integrity. &lt;/p&gt;    &lt;p&gt;Jes Borland&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For those of your who have already cast your vote - thank you for helping to decide who you want to lead PASS forward. And for everyone else yet to fill out their ballot, please take the time to visit the elections website, read about each candidate, and exercise your right to vote. (And of course I hope that you&#39;ll consider voting for me!)&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2012/10/2012-pass-elections-letter-of_11.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2173119910600284569.post-9040651270298887833</guid><pubDate>Fri, 05 Oct 2012 16:15:00 +0000</pubDate><atom:updated>2015-09-24T14:15:08.240-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">About Me</category><category domain="http://www.blogger.com/atom/ns#">PASS</category><title>2012 PASS Elections Letter Of Recommendation From Karen Lopez</title><description>&lt;p&gt;&lt;a href=&quot;http://www.kendalvandyke.com/2012/10/2012-pass-board-of-directors-elections.html&quot;&gt;I&#39;m a candidate&lt;/a&gt; in the &lt;a href=&quot;http://www.sqlpass.org/Elections.aspx&quot; target=&quot;_blank&quot;&gt;2012 PASS Board of Directors elections&lt;/a&gt; and believe that an important part of what makes a good candidate is support from the community that they wish to represent. I&#39;ve worked hard to connect with people in PASS community from chapter members to speakers and from &lt;a href=&quot;http://www.sqlsaturday.com/&quot; target=&quot;_blank&quot;&gt;SQLSaturday&lt;/a&gt; volunteers to Directors. I&#39;ve been fortunate to receive several letters of recommendation in support of my desire to continue serving on the Board. In this post I&#39;m sharing the letter I received from Karen Lopez (&lt;a href=&quot;http://blog.infoadvisors.com/index.php/category/blog/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/datachick&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;I met Karen several years ago through Twitter and then in person at SQLSaturday. We&#39;ve crossed paths at PASS events many times since then, and more recently I&#39;ve had the chance to work with Karen on PASS&#39;s Global Growth initiatives where she&#39;s served as an advisor to the Board. Over the years as I&#39;ve gotten to know her I have come to respect Karen for her professional opinions, advice as a consultant, and insight from her time as a member of other Boards. Here&#39;s what Karen had to say about me:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Dear PASS Nomination Committee:&lt;/p&gt;    &lt;p&gt;I’m recommending Kendal Van Dyke for a continued PASS Board position. My primary reason for supporting him is his willingness to listen to feedback and take actions that he believes are in the best interest of PASS members and the community as a whole.&lt;/p&gt;    &lt;p&gt;In my discussions with Kendal about SQL Saturdays, PASS events and PASS communications, Kendal has always been willing to hear what I had to say and shown that he is genuinely interested in the feedback I have. Even at times where he didn’t agree with my recommendations, he treated my ideas with respect and attention. He carried my feedback to the Board and followed up with me about the outcomes. &lt;/p&gt;    &lt;p&gt;My interactions with Kendal have always been engaging, fun, and professional, something I think are key to balancing the needs of managing an association and meeting the needs of individual members. I’ve also had the benefit of seeing the outcomes of his efforts as programs are improved. He sets a high standard for leadership and professionalism when interacting with other volunteers and the community. I couldn’t ask for more from a Board member.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;Sincerely,&lt;/p&gt;    &lt;p&gt;Karen Lopez      &lt;br /&gt;Senior Project Manager and Architect       &lt;br /&gt;InfoAdvisors&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For those of your who have already cast your vote - thank you for helping to decide who you want to lead PASS forward. And for everyone else yet to fill out their ballot, I hope that you&#39;ll consider voting for me.&lt;/p&gt;  </description><link>http://www.kendalvandyke.com/2012/10/2012-pass-elections-letter-of.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item></channel></rss>