<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A website by Richard Feich &#187; Software</title>
	<atom:link href="http://feich.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://feich.com</link>
	<description>dis-dis-dat-n-dat</description>
	<lastBuildDate>Tue, 29 Dec 2009 02:04:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Requirements</title>
		<link>http://feich.com/2008/08/15/requirements/</link>
		<comments>http://feich.com/2008/08/15/requirements/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 20:33:03 +0000</pubDate>
		<dc:creator>rich</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://feich.com/?p=53</guid>
		<description><![CDATA[One of my favorite quotes related to software development:
 
The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part [...]]]></description>
			<content:encoded><![CDATA[<p>One of my favorite quotes related to software development:</p>
<blockquote><p> <br />
The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.</p></blockquote>
<p><strong>                                                                                                    &#8211;Frederick Brooks</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://feich.com/2008/08/15/requirements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Orphaned Users</title>
		<link>http://feich.com/2008/08/05/orphaned-users/</link>
		<comments>http://feich.com/2008/08/05/orphaned-users/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 17:59:33 +0000</pubDate>
		<dc:creator>rich</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://feich.com/2008/09/05/orphaned-users/</guid>
		<description><![CDATA[ Full credit to Narayana Vyas Kondreddi &#8212; this code has help me immensly with database imgration and server clean-up. Thank You sir.

CREATE PROC dbo.ShowOrphanUsers
AS
   BEGIN
       CREATE TABLE #Results (
           [Database Name] sysname       COLLATE Latin1_General_CI_AS,
           [Orphaned User] sysname       COLLATE Latin1_General_CI_AS)
      
       SET NOCOUNT ON
      
       DECLARE   @DBName sysname,
                         @Qry       nvarchar(4000)
                                        
       SET @Qry = &#039;&#039;                
       SET @DBName = &#039;&#039;
                                  
       [...]]]></description>
			<content:encoded><![CDATA[<p> Full credit to Narayana Vyas Kondreddi &#8212; this code has help me immensly with database imgration and server clean-up. Thank You sir.</p>
<pre class="brush: sql">
CREATE PROC dbo.ShowOrphanUsers
AS
   BEGIN
       CREATE TABLE #Results (
           [Database Name] sysname       COLLATE Latin1_General_CI_AS,
           [Orphaned User] sysname       COLLATE Latin1_General_CI_AS)
      
       SET NOCOUNT ON
      
       DECLARE   @DBName sysname,
                         @Qry       nvarchar(4000)
                                        
       SET @Qry = &#039;&#039;                
       SET @DBName = &#039;&#039;
                                  
       WHILE @DBName IS NOT NULL
           BEGIN
               SET @DBName = (SELECT MIN(name)
                                             FROM     master..sysdatabases
                                             WHERE   name NOT IN (&#039;master&#039;,&#039;model&#039;,&#039;tempdb&#039;,&#039;msdb&#039;,
                                                                                     &#039;distribution&#039;,&#039;pubs&#039;,&#039;northwind&#039;)
                                                           AND DATABASEPROPERTY(name,&#039;IsOffline&#039;) = 0
                                                           AND DATABASEPROPERTY(name,&#039;IsSuspect&#039;) = 0
                                                           AND name &gt; @DBName)    
               IF @DBName IS NULL
                   BREAK
                  
               SET @Qry = &#039; SELECT &#039;&#039;&#039; + @DBName + &#039;&#039;&#039; AS [Database Name],
CAST(name AS sysname) COLLATE Latin1_General_CI_AS
AS [Orphaned User] FROM &#039; + QUOTENAME(@DBName) +
&#039;..sysusers su WHERE su.islogin = 1 AND su.name
&lt;&gt; &#039;&#039;guest&#039;&#039; AND NOT EXISTS
( SELECT 1 FROM master..sysxlogins sl WHERE su.sid = sl.sid )&#039;
                                                                                                
               INSERT INTO #Results
               EXEC( @Qry)
           END
          
       SELECT     *
       FROM         #Results
       ORDER BY [Database Name],
                         [Orphaned User]
   END
</pre>
]]></content:encoded>
			<wfw:commentRss>http://feich.com/2008/08/05/orphaned-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

