tag:blogger.com,1999:blog-84729538661667213522024-03-21T21:32:00.974+05:30B I A u c t i o nMicroSoft Business Intelligence - SSIS, SSAS, SSRSAhttp://www.blogger.com/profile/09782661018172685471noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-8472953866166721352.post-15721972071631575312016-06-22T22:10:00.000+05:302016-06-22T22:10:48.978+05:30Database Evolution & History - RDBMS/ NoSQL<div dir="ltr" style="text-align: left;" trbidi="on">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><br />
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves>false</w:TrackMoves>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="0" Name="Body Text"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]--><span style="font-size: 16.0pt; line-height: 115%; mso-bidi-font-size: 14.0pt;"></span>
<br />
<div class="MsoNormal">
<span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Database is the popular word we often
listen in IT industry. In the IT world it is almost impossible to imagine an
application without Database.So let's understand it.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Database is organized collection
of the Data in such a way that it can interact with applications and even it
could convert into the information by little efforts. Access of this database
provides by the system called "Database Management System" (DBMS). DBMS
contains integrated set of software that allows users to interact and connect
with the one or more databases.</span></div>
<div class="MsoNormal">
<span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">History</span></div>
<div class="MsoNormal">
<span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">The development of database
technology can be divided into three eras based on data model/ structure</span><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;"> </span></div>
<ul style="text-align: left;">
<li><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Navigational</span><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;"> </span></li>
<li><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">SQL/relational</span><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;"></span></li>
<li><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Post-Relational </span></li>
</ul>
<div style="text-align: left;">
</div>
<h3>
Navigational</h3>
<br />
<h3 style="text-align: left;">
</h3>
<div style="text-align: left;">
</div>
<div class="MsoNormal">
<span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">The two main early navigational
data models were the Hierarchical<i style="mso-bidi-font-style: normal;"> </i>model, developed by IBM: It was the first ever “Invented” database
by IBM in early 1960’s and more often used in IBM tools like Mainframe. This
model stored data in the tree like structure and data is stored as <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">Records
</i></b>(invented here) and linked to each others.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><img alt="" src="data:image/png;base64,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" /></span><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;"></span></div>
<h1>
<i style="mso-bidi-font-style: normal;"><span style="color: windowtext; font-size: 11.0pt; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-weight: normal; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;"> </span></i></h1>
<h1>
<i style="mso-bidi-font-style: normal;"><span style="color: windowtext; font-size: 11.0pt; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-weight: normal; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">CODASYL (</span></i><i style="mso-bidi-font-style: normal;"><span style="color: windowtext; font-size: 11.0pt; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">Co</span></i><i><span style="color: windowtext; font-size: 11.0pt; font-weight: normal; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">nference on </span></i><i style="mso-bidi-font-style: normal;"><span style="color: windowtext; font-size: 11.0pt; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">Da</span></i><i><span style="color: windowtext; font-size: 11.0pt; font-weight: normal; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">ta </span></i><i style="mso-bidi-font-style: normal;"><span style="color: windowtext; font-size: 11.0pt; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">S</span></i><i style="mso-bidi-font-style: normal;"><span style="color: windowtext; font-size: 11.0pt; font-weight: normal; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">y</span></i><i><span style="color: windowtext; font-size: 11.0pt; font-weight: normal; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">stems </span></i><i style="mso-bidi-font-style: normal;"><span style="color: windowtext; font-size: 11.0pt; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">L</span></i><i><span style="color: windowtext; font-size: 11.0pt; font-weight: normal; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">anguages</span></i><i style="mso-bidi-font-style: normal;"><span style="color: windowtext; font-size: 11.0pt; line-height: 115%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-weight: normal; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">)</span></i></h1>
<div class="MsoNormal">
<span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">It was an organization founded in
1957 by the U.S. Department of Defense. Its mission was to develop computer <a href="http://www.webopedia.com/TERM/P/programming_language.html"><span style="color: windowtext; text-decoration: none; text-underline: none;">programming
languages</span></a>..</span></div>
<div class="MsoNormal">
<span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">CODASYL is remembered entirely
for two activities – </span></div>
<br />
<ul style="text-align: left;">
<li><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Its work on the development of
the <a href="https://en.wikipedia.org/wiki/COBOL" title="COBOL"><span style="color: windowtext; text-decoration: none; text-underline: none;">COBOL</span></a>
language </span></li>
<li><span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Its activities in standardizing <a href="https://en.wikipedia.org/wiki/Database" title="Database"><span style="color: windowtext; text-decoration: none; text-underline: none;">database</span></a>
interfaces</span></li>
</ul>
<div style="text-align: left;">
</div>
<div class="MsoNormal">
<span style="font-family: "cambria" , "serif"; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin;">A number of vendors implemented
database products. The best-known implementations were in <span style="color: windowtext; text-decoration: none; text-underline: none;">Honeywell and General
Electric</span> - Integrated Data Store </span></div>
<div class="MsoNormal">
<br /></div>
<h3 style="text-align: left;">
SQL/ Relational</h3>
<div class="MsoNormal">
In the early 70’s Edgar Codd worked at IBM has invented some
rules to define Database and later on it became DBMS. DBMS changed the way to
store/ manage database. It helped engineers to evolved new applications with
the more crucial database part.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Instead of records being stored in some sort of <a href="https://en.wikipedia.org/wiki/Linked_list" title="Linked list"><span style="color: windowtext; text-decoration: none; text-underline: none;">linked list</span></a>
of free-form records as in CODASYL, Codd's idea was to use a "<a href="https://en.wikipedia.org/wiki/Table_%28database%29" title="Table (database)"><span style="color: windowtext; text-decoration: none; text-underline: none;">table</span></a>" of fixed-length records, with each
table used for a different type of entity. A linked-list system would be very
inefficient when storing "sparse" databases where some of the data for
any one record could be left empty. The relational model solved this by
splitting the data into a series of normalized tables (or relations), with
optional elements being moved out of the main table to where they would take up
room only if needed. Data may be freely inserted, deleted and edited in these
tables, with the DBMS doing whatever maintenance needed to present a table view
to the application/user.</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
IBM has developed tool System R in middle of the 70’s and
later on they developer database 2 (DB2) which is more popular to store data in
RDBMS system</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXQAAAEgCAIAAAArHh/lAAAgAElEQVR4nOxdd3gVxdrfhGKhqVelW64F9eq9FgQLgiKgIiAgoCCoFK+CwkWaFEF6MYC0EHonhB5aQkIIEEjvvbeTnJzetk///ticw0kB9ZOimN8zz3n2bJl5Z3bnt++87zuz3CM10bE+dKgP7a+Ldn8YbRvQgAb8ZvzxHnf9Hl0vCdRLFx4y4byZhTWgAQ1owB9GbXLp2LHj7RapAQ1owJ0ATX/hvEdDt1ukBjSgAXcCND7hvO0st1ukBjSgAXcCqsnF2xJzu0VqQAMacCeggVwa0IAG3BTUJpcOHTrcbpEa0IAG3AnQvNScdyTL7Rbp9gMhJIiizWa32myU0tstTgMa8JeExicN5MKYximC6HA4LVarvspQUlpWVFwCAGjglz8Dat2F33VT/sgd/ON3/7Y/P7dLgKvk4om3uy1y3F4ghFRVtVht2Tn5CUkpWTm5lXqDxWrTVxnsDgdC6HYLeMNA64B5PXx1j3rO8Ry9TlY3FYQQ6pbW85fWYRzP/rrX/l5cJ8Pry+ktm2dPvS3mffLNgJZ5rSK86+Ut1Q1/2KrJxTuY94aX8WcGpRQhlJtXcP7C5YuXoktKy3leUAHAGCuKajJbysp1iqLcbjFvGDwPtOexZox5Hj5SH+o+jnXz8eA6h2rl+Rt3Vh+qT8i6XaLu0Vp/r1fEtc+vt6PWm4m3DLQOudQqyPvMeqt/fYGvVYVabFK3XHa7yKV9+/Y3vIw/JwghNrsjJS0jJCwyOjYhr6DIZLZIkqy1PmMMY8zzfHZOrihKt1fUGwvvR5ZSyihjlDJW4zmrAa8Lr2aiPaBaIpQQQvD1umitDGm9ZV1HdaI1Ou21OgOt01W8s6DXqaMbtWT2rnXdv/XV4KoM3iJ5LvGuQr2Z18rNe+d1WtT7/Fp36moOVw9Ryqr3XJX2JpCLNhfpb0cudrsjIzMnLOLikeOnDx09GXUlNjs3v1xXUWUw2mx2URTdyouSmZ3rdLo8jPOXhvczXeNtxihhjDBGKcUYq5KiirIqSkCUVFHSNoAkAUkC3tuKol1FKMWUYkIJwdTDNYQQQiDBqiKpAq/lo2i5SdVJFa8m7a97vwhEARNMtKefUUIZc7+Br1k7xghlhDBEGWUMuVxqUYmaV6hlQggllF7/LlJKPZ1X402t+2EAoSSDmkICr4pASYLaUVlSHDYoCqS6JV2qJABRhKJIyNWGob+/J1ffMkqqGUETDEIoSkC4KkmtBEUJev66HMDlxJRSRpEkgcpyoCsmjGGNcW42uWgTH294GX8qYIzNNvvFK3GBh47vDzoWGh4ZcSEqOTUjPSM7LSMrKzu3sLC4XFdhMJpsdofd4cjJKzCaTKqq3m7BbwCol1bsAaYEmM1qWpoaGQlCQpSTJ6WDh6UDB6UDB6UDQeKBIPFAkHQgSAoKkoKCJK9t+fARGBoKQ0PV2Fi1rBQpMqbYu2cSShRJEC5fFAL3aZlU56ZdHhQkBl3NXA66ul86ECQfCFROn1JCQ9W4OFilB9T9sr12H6CMYcIQZgARNTtHOnyYX7yUn7tADgtTDQaoAkgovnYP8uSPKcWMQYcDZGXB8HPg7Fn1+HEl6JAmp+iWUxNVrrV9MMh17LCYlQEBUAwGIfiQGLRfDgyUQ0JkhwNhSCi5fi2ud+8owQRDgVfz89SICBAaqgafkIMOyoHVpddK3oLJB4PEk8fFlESIMTSZhKhLjsDdjoN75MwsoKr4/8V3vwqNTzjvxRNueBl/KgiCcPLU2XlLVx89ddZqs0uSfOHCZV2FXlZUWVHNZktpeUV2Tl56RlZGVnZ2bl5Obn5RUbHT6bzdgt8AeMiFufsqAUCx2YSgA87BHzseepjnOJnjEMcRjiMch+sk752A45wc5+I4R+eXXUsXqVkZqiAQTDy9FDEGdTp12DDAcYjjkPtCxHGQ4+C1M9c2BI6zcT6217q6tm4S7XaCMbu+yVlTWzBBomj97zf29h1kjlM5zta0qWPHdsFQBTW16nrjCsooQwAAp1M4G+oYNUq4t4XL11epKacmPPL6CzgOao3m4yN3f0s6EKg4nWJ4hNq+g9aY4JVXLGnpUFU9OkIt4a9TKaaJxRgGQLVYxctXbBO/c7Zq6XLfrLq3qW47o0aNlO7d5d07qaK4jh2t+mxE5eDBVd+MN074VtHpMEI3w5/0NyMXQlylZXv79g9ctDQnLV0jbFlWLscn5xSWyCrAGCOEAIAAAFGSzFZrmU6Xm5dnNJruAJ8RvWo4xIRSyAtS5AX7q6+q7dqhZs1go0agZs8h10ieB1fVTr7rLvDAA/K//+2aPgNUVGDGMKUYE8QYMBjUzz6DjRoR9yXXz9m7CE0YdPddcof2ll49pZISSAkmhGCKawIhpHVGQhlwuoRzkfKzz6HGjauz8vHhOz6qHD3qFqweVI9ZKCUICRcuCkOHSm3bKi1aKD6+wIvvCMdRjqPXEFjlOLHpXerWbUgQkMAr0ZfVjh2ryaVLF3tBAQIAu4dF3kXTa0ilKYGEEEwwZUw6d47/8kupXXvQqhXw9QXuxkS/1pKQ44TH/ymtXIVcTuy029b9Ypo9yzz+G9uUyfyRg67wMGg230Ry8V4P5iaU8qcBpZDnS06dOTPis/Ahw1Kn/1C43r/q6PHcsIjEqCs5efkyxowxyJhNliutNoPFKkqSyWwxGI1Ol+t2S/9H4f2eBCaTtHuP+GY39e67sY+P1pnFJk2k9u3kp56Un+kkd7p+elp6/DGxRSulUSPtEYdN75Iee4yf9J2Skow1+ytj0GhQR45EjRtTjkM+PlL7dmKnJ6VnfyVnudPTyjOdxLvvAZwP4jjQqJHUqqVr9kw1O4tQUq/7RKsgoRSkpjneeBPc24xyHHNzAWjUWPzvf+WEhGrjS31+FkIpctjFM6fFfv3kBx/UeFPhOJHjxIcfkp56Urpum0hPP+l66gl+8mSQmUkZI4KgxlyBHTtqjQO6dHUUFmMIr9p0atq866uT+xClUFXEwP3ioEFymzYqxwHtZvn4iA/cLz/9pHzd9pQ6PcU/0oH/cY6amUkpxQJvX7+6asYM85KljrW/mObMFhMTEM/fCnJp167dTSjlzwRKqazkbvA/927vc2+8lTZtRv6SZbk/LYqeMi3qh5kF/v5Vu/eWHT9eEBZeEhtvLS7BiqJIktluN7tcf3WjLmVMM2oiRZYCA4VevVW3QqG0aS2+87bwv0nyqpWK/wY1YKMasFHdWE9SNmqH/JW1a+R584XRX4qdnlYbN9byETt2kH6cAzIyNFsvNBqAm1yAr6/w1Thp1Up1U/05q1rOARvVgI0gYKM4Z470xptKy5aQ45CPj/DM0/LhQwiomtmC1PC8VhtfYXGxuGSppFXK1xe0aAH+8aCmNPFPP837+UFBwJRVaynU03kJoRS5ePnCBX5Af7lFC633Ki1bit17iP/9WlqyRPHfoGyqrr6y8eqG4m4QZeMG2X+9nJKCeV4jFxBdD7lcb1B2DSBeEGPihL59lQceAJp+1KSJ9E5Pcew4acECxX8D2HTNm6Vu3Khs9Jd+WaWkpSJFJpRiCITYK6YN/paVqx0BAbbNm4DRgBG8GeSirWv3dyIXxhhjkBeKtm6L//zLjGnTi9esy5k8Nen9D+Pe6pE8ZEjm4GFJo0ZlTJhYMn+RedsO2/FgZ2hYVcR5XXS0MytTLSmFFiuWZIrx7a7E74ZGLogxOS1VGDJEbtJEU+alxx4TvvhCOHxIsVgQY7jac+SVqn2W1fqIljChEAAxP9e1aJHQpYvSrJmmosvPPSutWglVBdUkF7VRIzHwALRY3O5PVm/SMmeMAQiFnTvF7j1U30ZIUyIWLlQqKghjhBDPgIJRRjBBhEDeJe3Z43rxRc2+I7Vpw/fpIw4dpvr6Ao6TOI7/4APxXARkDNdWXjCmVE5L57+fInGcynEqx8lt24qDPxYPBKmVegxhtTfN/UvdPjLvPdS9hzKGBUF1kwupqbnUq6TUC0wIplTNz7d/M0Ft2RJwnOLrKz34oKv3e9Khw2ppGVLV2nfqWq1KGaZUazJAmZCS6jx4iD96DFTpCUbEY+K5oahBLtoimje8jD8nkCjpDx+NfqeXfm+gVFhs3B9UuX6jlJNr3LlL9+PcgsHDMl/umvrE08n3P5za9rGMlzpn9fswb9zYysVLLYeOuBKS5HIdtNqQw4EFgSgK/StYZDxdQpw3V3nyScRx0MdHbtrUNetHNTsHMwYZ89hjtdd7dfKOZ3E/hoRSwKh2lXTiBP/yK9UdieOkT4fJZUWYMVSTXKTtO4DB6O5gtP7k9gFjxlQIxA0bhGbNNWONMOxTKeI8rRkVRinTxkVyQrw4ZozCcaoPp/pw/MCP+NAQOS7O9cADoFEjxHFSs+au/gOALCNCvDs5ZgxgLO7YwT/yiGbIkO65hx87Tioqrm6Tq55gt3+6btytl1TMS3PRLDXw/0culCKMlJAzDo7TdBapVSth8GCpVIcRwtVeZHbNlqwnaZxV7RHT3iJet/QGQ+OTvyO5MEqRy2WLuhz32hvmE6fK5s0vnfEDBRDzPLLZoNEoRF0xzF1QNua/xf0GV0yaqp+7oGjop9lvvpXy+D/j2neI/ec/E//9Ynq/AYVz5lUdOMRnZf8ldBlKKFBUvuc7atOmmONgixbOPu+ClBQMAK4eLNS+xLsfe/dqQgjCmFKCGVV4Xjh5Um7UCPv4EI5T/vMf19o11yKXX32QNWZBlCBKlL37hUceV7TeNXgwPBvqfbnWtShjiFLhxzlC+3aa/dXVuLHo76+KolpZKSxbLrVpI/twSiNf+amnnAEbodVaPRYijDGGGFN0OnHmTLlxY80CKo75SoqKwRAyQgm7WndK6W/02l6TXLwI6JrVp1Sz5hLGlII8YcE8jfIUjhM//liKjsYIedjhtydSHSjJMCVEC0silN3Mof5VcvEs/30TS/uzgVLkdJlPnCyeOKlw1Of6xUvltHSKMeYF+67d+m8nWlavkRKT9RMmWdf7SympYkys89w52/HjlsOHDTt36ZYsL/huUuLrb8S+0jnm3V6xHw9J+HRE3go/47nzclXV7a5b/SCSKMbHKs8/r5kV5Mce5w8dVu12fFW7viaYVwy+p78xzRRKiVKQbx80UL3/PsRxUosWzgEDCGPIZASjRmqOmxrkUmO4VU+ilGBKAWPyrt1im7aaP1UaPFgJDa1RH0oJISrGwoFA8a23lCZNgA8HGjd2TZ2sZGYgRoGqSAUFzn4fKvffDzlOvvde4aWXpAsXNOMLdnt7haNHhfffRxxHOU5q3FjZ4I8cLlI9dqvRKr/xPX8tcqnVnnXhXQphTD5zmn+vt+alUh95RFq8SDEZkdOOnA7odEBHfcnpQE4HcjiQew9yOKDBAJ1OjU/r3tabhL83uTDNcQIN69aXjBip+3Ksbet2WFpq999o+N/3poWLxStXKMa2X9Y6Nm0BWdlXL0JIyc0zrd9YNOar3BGfJXXvEfd2z6SxY6N79o5+v1/sZ58nTZ2WtXp16dFjzvx8KIq3sX61gC0WIcBfffwxwHFKkyZSl66y0QQgJO5nrF793PMU1mIWLwWeAKvVtXev/PjjwIeTfTihc2fKGDKZwKhRsHFjzHGKZ1h0NRa2fgOBRi6IMSklRfzuW/XeezV/qjhpkpye7l0dSilWFaG4iB88SHnwH5Dj1Lvvdj3TSY66CEURU4ooARgL+/dJXbtqvm21cWPXd98pGRmIMW0oSxkTFy4U//lPzHGkUSPhlVdAWBihjLgHO94d/jf2xusPi7xz886wpm7IMGPKrl1Sp04aucA2bdSBH6nz54M5s8GcOddP0J20v5K/v5qSgrUQX8o8kci/q1K/F9Xk4v2doJtRzJ8cyGA0zJxT9MprVaNGOwI2VQ39xL5mLaqo1I6KJ085lvkJBw5Vn1xRKV+Otm3dXjF1Rtm3k2zHg3XLVuj8VknFJfr9B7Kmzojq/9Hpzp2Dn38h7L0PkhYuKgkOtqZnyGbLzYiw/r0ger00c7rari3gOKVZM7nPexAhTK4+XvWM/D2mUzdqMwsmmFAky2pWlvyvf6k+PoqPj9y5M2EMmkzqqFGgcWPEcUqjRvL2HcBghA4HyM5Wk5JgWhpKT/dOMD0dpafj9HSUkaHGxAhTvpeefgprCkWLFuKmTUAQrorBKGEMGAzOX/zktm21yDG5Y0fH3DnIaNSsCQRjwigUBGHy/+R//INqYS8d2oubNwOrhVTnw+SJE+VWrRDHoaZNpW++BmmpGgN6yEWr6e9o518bFlUPfGpm600uhDLEmLplq9rxEeQOrkFeMXueiKRfST4+0t1NhbFjlehoUq1sXjUPeb8//tiTVQ+07yj93cmFMcYfP1HZd2Bpi4d0Tz0nHjmGjSaqKIwQxph64aJjyg+uxcsphNjpdK5ZX/H2u+W937MHBlEIlfLyylW/VK1d78kK2h3W2PjsFX6hb3bb0abNzkceOzNoSF7gAcVux6pKb+s0JaKvlKdNVdu2BRynNm+u9P2A4Rqm6DqDIeoJ6LrOOYRSLMkoLU197jnVx0f18VE7d8ZucoGNGxM3uSCDUYqJtnz9lfB2D6lvX7F/f6F/f7FmkgYMEAcNFDp1kpo1g1qsiq+v841ucvg5zBjxmoGHEJIvRzlbNsO+vpTj1KZN+D59oMeDQz3z9Jh85rTSvz/x8WFa+O+HfaUTwbg6KJcpkybJ992nkYs4YQJMS9PKYDVHgr+jnX9tWES8jMHeDevp55rhCWzerLbvoNEr9fGhvr7U1xf7+hJfX+LrS39DIo0b808/LoedxV6zKGvpLDdJc6lBLtpH225GMX9+YBfvCthU1qhJZcvWpi7d7CO/FDcEoJJSRghMSXX9MMf5/XQ1PML4ShfD+31dW7aA0lLC84xSU8Bm/dLlzvBznqwoJlhRgM0u6nSW1NT4nxYc7Nx1a4cOQZ1fy9i0xVVadvtqybDB4Fr4E+jQHnKcfPddQo8eCCFAKCbX1Kt+9c1GKcWUAkmUk+LEZ59VfHxkHx/RPSyqRS7QYEQup3Q21PJaV/HBB5XmzUHz5qhOgs2bw6ZNtThU4OvraNFcjjgHRaHa88oYJgRRKsXHOceNBr6+qg+ncpzU7U0h6IDm4oGMIXeCjEFRlPxW8/e21F74UrNmwpTJssuhzdyTJk+TH3gYcxxq0kT69FMQH48pJX+gy10rzuX6jVnrKGFM3bZNfvSx6jDFe+6WH35IeORRsX17+bclqXVroV07xyZ/pbJCm/fhfdd+ly72/4DGJw3kwhil8qnTVc++YP1ggPWD/tZub1lff93Wv7/zm6/5KZPt/T60vv6GfdTnjmk/SMeDkU7HNFumrJSN/NzotxLo9Vdzwli1WGzxCaW79iQvXHRp/ITTffvte+6FfS+8tPu118MmfFsaevZ2DZGI0ymcOiF36qRynOrrK73wgpyZCWTZY3Op6Yv5ldeaR4fAlAKdzjllstK6NeQ4qUkTV7fubnIZ6U0uwGBEBEOLRQw76/ryC6ljR+iJVfepEbEOOU7mOKF1a37gQOHIEeh0VI/eKGOMIUpVu0NYv4Hv0F6biCA+8ogwfbqcnwdNJmgyQ5MZmkzIZEImEzCZgM0mXoxyjvtai3BVOI5//nl++QotgEXYsk3s+hrmOOzrK3XsCIKDMWM3hFxwzTiX6ytBNTQXzaB76BDfpYuWidK+vTRhvHL6tHLyJHAntea2WnMPOHFCPXlS1emgotSqzs0ztXjQQC5XAa5E24Z/xs+ZK23ZKq1bx8/8wfHF5/Zeb9vf6mp97knL4x2s3V6Xtm/DlZXacImIohRxvqzPB7YtWylCRFHk3DzLsWDdxk2FK/xyFy7JWrQk85c1OVu3Jcybf+bDj1LXrg/979dBPXudHPRx1rbtssVKbnl0DIFQ0enErl3VRo0Qx6mtW7t++AFUVmLGMKPV5r5rLCziwdURE3VbcyVRvnCBf+opePddmOPk9u2d33zj8RbVIhfMGGEUUSxeushPmiQ98wz0miADH3xQfu11ZcRnyrBh0ugx4oIFckgIcsf1uR2qDDImnTwt9h+gaAEgHCeMHMnv2CHs3qXMmgVmzQazZoNZs7Skzpql/PijNH26OHCQ6jZbyHfdLbzVQ8nIJKoqxceLX34J3HOapNmz5cJCzzjijw+LQB2DrndL1mrb6hwIwZRK0TH8l6M1Z5n84D+E77+Xi4oxY4hSLeGaqd6dWJuT5VWL69/fG4Wr5OL5lvVNKunPD5SVJSxeKC5djMvLGGNUEEB8nGvMSFvn520vP2t78xV7z27OCV/Lu3fBuDhcUQmLS8xfjKka+qkjYLMYHW07cVK/wi9v9LjUQUNSPvs8d958fWgosFisKakZa9bG/jCLQOgsLk5YvCyo6xv7Xnolddt2R1ExvoWLOWh9EzEmfPmF+tCDhONQkybONm2l/YGqyQQpQRQT7wVf3Oub1M7HbQiEBCOMVEUWk5L46TNU9zw6+Z23hdMnEGPIaFBHXiUXafsOaDBSxgglmGJEqZiSys+dJ3XqpLhnBsqPPeYYN04IPycnxCs6HZJkj/D0qq+aqhUVwthxcqv7IMfJPj78Y4/JgYFiTIzj2/F848bAxwe65+AAdwSaprN4T85W2rV3TpsODQZgt0l+P4v3369xHP9qF+fqNUqlHrmjWn/XIMI7QreaXLp2dRSV1CWX69iJCSGIUqXKIG0MkJo2AT4+KscJnTu7Vq2GugoIACLV0x48t4nWNNB6AvYwwbi+lei8PFM3hWIayOUqcIVO3rebn/gNLshjGBOrVT0bYn3135Z/P+2aME6YP8f2TjfjffeZ7rnL9tZbwuo10olTFf9ob5syw/DVN3n/eSmxTdvMXr0NO3cp5eWePJEkRU/6X8gHH5ri4j2mXGN8wpnhIxe1aBG3arWzqPjWmXgpo4RixvhjR+W3eyBfXy383/70s8KevVAQCAAE498c74khQkiWhbwcx/SpLo4DGjs0bSpOmlRt9TAY1JEjQU1y0daXQqT6kQdVVfyWLXzLlrhxY+Ljo3Kc65FHnH5+SmkZQojUrgGjlBIIhV/WSC/8W/XhFF8f6a67XT/9pObnY8bUhAR7+/aoSRPi40Pchk/vVG0N9fEhWt3vukuNi4FAlc6edfZ5D3A+Kuercj7Cy50dazcAlwupKkHot8fAUowpIaQuuZSUYgB+Rz6EEEIQIfLly87HH5cbN9ZGf8I/n7QvX61W6qGq4t9xs9zJ++XhRS4343FrIJerIFaLGhbq+mYczstFebnC0oW2d96EiQn2IQPFlT/jsjJcXKiEnnF+OcL672fNj3Q0Pf6k/oF2lU89r+8/2LZmvVJUpFZUIJfLeypAyqzZ5z7sn7Z0GfZaiBcrii03L27Zip2dO1+eN89VUnrr6sgYYhQKgjR/ofjYPyHHQR8f2LSp0L6d85Nh4uFDSlaWUlGmVlWqVZVKVYVaVaHUSaqWSovlmDjnwnlC927qA/cjj5Vk2DD53DktJPRamgvTgmspQZRgBJHVIkVH8V06K3ffBTkONGmsPvywc8AQKeoK0swrGFdHnTCGZFnOyJI7dwZ33YU4Tr3nHscL/1GSkzEAlDHocjnPRzqeeppvdZ/4UOu6SXi4Nd+mrXjPPdpEAezbyPluL+XiReBwSgePCE3vBT6+iOPA3XdLHTo4evcUdu+RU1JVXbli0NdtirotIxcVKSaTyvMg5grq2FFz9ICXXzYnJspVlYrx1zO5mlulTqkol4oK+bBzctu21cviNGkit25j792L37pVTk1VyssUg167WR4ZaudjqFCrKpTyUqWiAkrg1oyJmIdcPMzSpk2bm1fYnxzEbgdRF4XZ05Xgo+KqFfzMqcrxo6isxDnuc3nPTgYhw5g47NLOrfb33zE/eJ+x1QP6u1oZ33jHtWETrOMDQoJgDAkN6/p6yowfnPkFtY5iAJzFJYmrVoeO/CJpuR+UbtEyvZ6BhZKZLcyeK7Vtj3x8iDbJ6KEHpS5d5D59pAH9pIED5IED5IH95YH9pYH9PRuS90a/vtI7PaWnn1SbN9PezxLHCe/3kY8chlarVooW/q8F0am1yYVSLV6UUUoIkiUl5Iz48VDl/n9owxbpgQeFjwZJBw4AkYee6HvGlKJi1xdjwP33Vy8T8dRTwqEjyOmsnjmFEOB56eQJ+eAh5egx5ehR968nHZODTwgzfhBffEnlOOrjI7ZqJS5aqBQWAF2F6LdabNsO+PhgjoONfOUWzaWXX1Z69ZL7a23S//pJGdDf8fEg157dqsCrbnIhHIceuJ9/v480aIA0qHarejdsjf0f9Zf69+O/n+w6eQLa7dJKP+nZZzXdEPr4SC1bSi++KPXuLffrJw38qJYYUt3tAf35kZ/x69chgLzVlps6LGrTpk0DuVSD2KxqxFnXuFH8jz+IfsvUMyeJ3aYcCuQX/gguRRKHA8bHyru28Ut+sr37pqXT47b3PzB37Wbo+qZtxkwlJs47KyxJjsTEmI+HxH0x2hhx/lolukrL0tasj5o6Pf/IkVs5NYlSChFWUtPlufPk17qozZppAVfVFgofDvj6/FrigE/1YlGQ40CTJkr79uLgj+WDB4Bej6uJg0GjAXz2GWzUqJpctu0ABgO5xsJrGAAlJFT64kulbTvNxKu0aCn17iVt2QSqqhAAlFJoMAg7d4kPtUaNG2OOk9u2dY4dq/ICwbiaXAgmlCKEEMYYE8+vlrTlmRBjcmaW8N1EqWnT6pmWr78mb98KXS5FX8UvXCi9+aZ6//3AbfoF2mRIXx9Ypx1q7VE4ztnzbeHwQSCIcmys4p4VjX042OhXm7Rmtj4+QrN7XaNGSnGxBGNQVir5rZB7dFfvawXcK3VVr+3yGzKUfTi++1vCvr0amVxdIquBXG4NiEEvH9hj69GVnzYZxsZQjHGFzvXVF9LeneDyRTX4KD9rms4LgPwAACAASURBVGPoAPsnA62d/2Xv20sO3C9u2WL8oK/u3y+avh6v5uRoXiSKEJ+Zmb9g4blXXzWej0TeWgmlSJLEKoM9L9+cnmHMyCgJCb0ya87pESOhJN1UHdVdPqWUalG3mDJksfJbNwv9+8kvvKC2bas2vauuEVS97l/QspX8xBNC97f4id8psfFYEDGh2mMLGVMNVfKIEYqvr8pxYqNGwrbtapUB1zszGGNtxrZyJVoYPUZq305t0gRwnNS4kfOZTsLGALG4BIiidPasvW8/bf1KuUkT4f33+ZAzUPNzUc3iQTym6GslTClkTDxy2PnyiyrHqT6cyHGuwYOFpERIqSyJwq6dwrBh4r9fkDt2UO++W/HxUa7dDp49io+P8OCD0vr1wGCAsiJl5/KvvyHfey+oeTKo79q6h1SOc3bpLOzZjRjFlFBKgdUiBQUKw4bK//63/EhH9d57VB+fulKp9RUntGsnLloEbFaNS7zJ5eaZXRrI5SpQQb64fKGtR1cQc4VCSFUAszKd/XvLgXtc0/9nffV5x8cfqtGXxSXzHYP7CQvnaleBlLSq4Z8Vduig++QT7HAwQoDFUrJm7YVOncznzkO7nagqkmUoilAQVJfLlJqWuXlbxLhvjg0YeHDI0CMfDTr23oeho8eJJtPN9kxr+nD1g4UxIQRrc4LNJldoiOO7iY5/Pm1r3tzaooW1ZUstWdy/3huWli2tLVpaW7RwNG/u7NnHuWatmJ2lhatp3VsrQGVMMRgcY8aYW7U0N29uaNXKuXu3YjQiSrW1Ketd2RExBsrKXFMmWx991NKihaVFC0vz5uZWrfSbd9izM+1+ywzNm5ubN3c0b25+pKNj0ULEKGAIuev1W4AwQpSqFjO/b7exeXN7y5bWFi2qOnWqmjZNca+xAE1GITzMPvsHx7PPOu+/396ihac1vJNnj6VFC8N995k/Ga4kJGLKIKEAAMfaddbOnW0tWthqnlxv21qv/m1hbdHc2Ly53X+9bDZhSiFB2qIzkDHFbhfPnbPMneV86UVnq1bWFi3qSlUrW1Pz5pb/TRKTkzGliECMSa22v0nh/zXIpU2bNn9ncoEJsY4RH5sfbWPr9qq0axtITRb9ltm7vGDv0VWYNRWEhaCCPPXieetb3YSFC4jZrF1FFQWW66w/r8xv/6h+5mxQXq7335T/7STLuQi5stIYEZm1dMWF4Z8de+utXc8+u/OF/wT16hP29fiU1WsLDx+35uS6dBV8uU7QVxGEbkFkXT2jEUIJQlgQsMGACwtxbi6smUCdDS2h3Fycm4vLyrHNRlSVXF0LhlT7PDFBCEG9HublwdxckJeHnE6MEKlHCK/BEaUIAGQ0woKCqzLk5QG7HakqslqAWxhQUAAtFsQopu7lIn4zNEMydjpBbi7IywW5uaCoCBoNmGDEKCGEQIBFAZtMuKgI5eXBOs1St0FAXh6sqMSShAnFhGKKkc0GS0rqvfZXssrNBbm5yG4jCFG3JxxTihklGBJRxGYTKS7GWsP+Wm4wNxcZDEiWEa1mknrb6oY/bBqfNJALY4ypEWH2998W/dc5v/jUOXqE67uvXGNHCnOmK/t3o9RkYqiCqSn2wR/y836ESUk1rqQUFBdb120oePOdsm++S+/+buwzLyQPHho/dGjMp5/GffV18qw56at/ydq5M2d/YOHJU5XR0Y78AslgIhDe+mpS96w59/86J2irYbqfOO9UI6SizhPpXsCAVhdDKCbEE2HhPcr3SFI30IPWV+7V2clu+QkhHpEwRrTmlBnPb62A+qs73fITr7KqS3f/XD1fG0y5g0dqCOYJhKkpKnav+0I8Mz+9GpC4ryJ1rqWeuBVNHkIIxpR4ZklR95KeNc6sN10NeCFXV4+gbqmI1/zJG/Ng1UEDuVQDFRfJO7byU77DJpOwdIG9T3fb6y+5xo2ECbFUEBilKCdLWDzfMXIYiI+lml+ZEOJ0wpxc6XSIc/MWw8zZma0fzXjuP2mvv5XWb2DGV19nfP99zrJlZUFBlvgE+VbpJr8Kz9P2/zjHe4helxfqyQRfDQ2tq4H/lky8i/Z0Ki2+g3n/rbntQd38a1gxCbl+kJGHyDSrUL0v+boN5d16HnKpVTpxz4qm9XJrzSrUbDFai0mvKXxNcqm3EX5j4///0EAu1VCCAvmZ05QjQTApwTVlon3g+/b+fVzjx1KnkxGCK8rl3dtcY0aC6ChitRCLBeXmgktR0oEDjnkLDAOHlL3cpfA/L+V371X05ZiKn1daQ89KZWUEwj8Dm9TFr76s6u1FrGZHqveE62RSS4m4TinXya3eq2qJdJ0za4n9W0qv29t/u6isDgXUK2Hdy+uW+1va4Vpi1FvEtQ7dQDSQC2OMUQiFxQsdI4Ypx4/Y3+1m+dc/+VnThJXL7e+9g/LzqCBIG9e5JnwFIs9RgUelxXJQoPOLz82PPFp5770VD7au7Pa2aeaPfMR5ZLX9JRbTbUADbgGukksbN263SLcB8t5A++CP7X16C3Nmub4cwc+aCi5GwqR4YdkC9cxJaetGccMaadtmactG52dDrS/9x/Lcc7ZevR1Tp1v375UTEmFJKTKZiChSjP+cqkoDGnDr8XcnFwohKiuzDB1mH/WF8NN817cT+MnfgcgIYrcRq0UNPe36+kvHgD72999x9O/j/GSga8woYeECeedONTxcyci06/WqojbwSQMaUBd/b3IhBJvN9hV+tmnTnbPmuObN5+fPV44fw2VlKD1N2b+PnzbV+mIny3tv2caMsM+a6li9Qj4VjIqLqSxTxhDGdkFQIPwjC380oAF3Kv7W5IJtdiEsvHLAIOHwUZffKvuE78Qt20DUZfl4MD/3R3u/vtYurzoG9rX4LXYlxEgiL1CqYgwRIoQwShGCdptFlkX8V/ioSAMacItRm1xat259u0W6RaAY8xHnS4d+4jp6TD9gsH3+IjkkzLX056r7Hqq8+x7zSy8LP81HBfmMEDvEAiaEMYyxwPNOp1NVVUopQsjWQC4NaMA10Lp1678pudhPnSn9bnLpiM9L+n1U8cmIird76v71fMXrr+mnTxXDwmBePjEaqaoyxmwOBy8IWFvXkhAEoSxJkigqsmy3WSRRwA0eogY0oA7+puRiDTuXO3J08lP/Sn/y2cy2j5a+3bt0zLjyZUtNJ4Kr0tN4ux0htzJCqdVq5XneE25EKcUIqaoqCoLVahYFHjWQSwMaUAd/O3IhiuJITM4YPfbKI09EP9Am/eWupV+MMy/zKz8erMvPlyh1qMDicEiyXB0ASojFauEF3jvcCCEoy7LA8xaLReAbyKUBDagHfy9yQYJgS0hMmfDd+U7PRD3zXMbHwypXr1XyCxUXX2mxVlislFIIodFotNlsUFtABEKLxSqIImWMMooxBhCIkigIgiRJVquVFwT4ZyeXBmdWA24DqsnF4yq6g8mFYmyJib0ybERQ8+bh3d8qO3gQy9VLT+qrqkrLyi0Wq/bX6XLqq6osFgsmRBRFq9UmSRKl2lekeZPFxAs8xgQhZDGbeUH402suDeTSgNuAvxG5FB0IOj946LkPP4rZtzctNc1id2gTY2VZzsnJq6jQA1A9RxkT7HQ6DQaD0WSyWq0ul8vF83aH3Wy2uHiXClRttgiE0GQyCn8BcmlAA24D7nxyoQjJRmNB0KH01WtyN20pCzmbkJiUUVJqFQTGGISorFyXk5tntli8rSoQQpfLpa+qKi/XGQwGm93G87wkSRBCz4wvAIDBUMULPMIN5NKABtTGHU4uSFVd+srSC5E5e/ZWhEdIlXpFUeOTUlPSMswWK8bY4XQmp6aVletE92KUGGNFUXiet1gsuoqK0pKysvJyk9kk1VyGklKqqqper+cFviHOpQENqIs7mVwQQjajsSAmOiP4mMtg0KhBUdTEpNTYuER9lUEQxMKi4vjEJJvdASFUARAlyeF0Go1GnU5XUlpaWlZWqddXGYxmi9npdKpARah6XSJCqawolZWVoije1EUxGtCAvyjuZHIxW6zJyWmXL13xtokAAHLyCs5fiCosLNZXGaKuxBQVl4qS5HS5ysp16ZnZaekZefn5JqPJZrPrKivtDgdCSJJls8Vcqa+0O+wAAG0FIEEUdBU6Wb4VC2s3oAF/Odyx5GI0m6Oi46KuxElijc5PCBFEKSo69tKVmPiE5MiLl5NT05JT01PTM3LzCyqrqpwul6IoAECr1ZaXnw+Aqq33gxBSVVUQBKfTKfC8KAg2m02n0yleXztrwB8EvfbalMzz6QIv/HlpnVKGCSUUU4YpoRhSrGCCKIGMqpQCxpCXF48yQhBlKiEIQ0ZURiCjhFHMCKIEE8IYIYwixmD1CuIUMCIxLBEMEGEqoRgDhCEkhBFAiYop0b7JfRvb4A4kF0qpCsC5yKhLl2OrqozehyCENpu9uLTs/MXLZ8PPX7ock5KaUVRcUlGpN5nNDqdTURRtnURBEHQVFcXFxd72FG0+EQCA53mzxVJVVVVRUaHewo89/x1wreXjvI96L1t/O2T8DaCUQUQwhZQhSggGGIgKhJhgRjEmWATQ6uCNFrvJ6nAJEqGUUKYQCghkRGJIJhhjhKtXw6RMgcju4s02u8XhdMoKIYhRyAggCCAIIQQEKYRATAnFgCEZUqTx021sgzuQXFQVpGdmHwk+k5GZgxGWFcVgNBeXlGXn5GVkZmdk5qRnZoedu3AqJPz8hai09EyH0wUAJOTqbcAY66sM+QVF3i4kjVlEUXK6XC4Xb7XaKip0VQYDAOA2VfQOBCEkLS3N399/y5YtAQEBAQEBm9zYsGHD5s2bw8PDjUajpkje1MWl/ygoZQhR4iYXBJEqAoTKTc5LSXkHTl/ee+ry/lOX95+6tO/kpX0nLwaejDx1Pja3yiJgxKjKkEwxQZjozfbLydmBpyL3nrm0+/Sl3acv7TkTtffM5V3Hz4deSS3QGRUACQIEirIiJWYWhFxKlGSZYhlQDBgh7Ha6Gu40cqGU2uyOzdv3nQ6NyM0vMprMxaVlcQkp585fCj4ZcjokPC4+OT0z+1zkpfMXL0dFx0ZFx1htNgihN8ULgpBfUJSbXwQApJQijAEAsizzPG80mSv1ep7nBUEoLy+3Wm0QNvihbxgghKtXr27VqlWvXr169OjRo0ePt914/fXXX3nlleHDhwcGBrpcLgBArbW4r7M2bb2naf4+zSSv2enrLk9bS42inpX06zvT+y+jhBJIKIGUIkIIAhCoLkE6EBb37dKdwyav/PpH/1mr9/+04fCPa4P+t2TrZ5OXfDJ56bojYTkVRkYpxRBAVFRpCgqLmeK3c+j3S0fPW/u/lbunrzswbc2+iUu3Dfxu2dgFm9cdCo/PKeFlmWDRKogLNx8d+N1Si5PHBAJKIEWUAlr9TYHbwMJ3GrlAiErKdHMX+e0JPHIsOPTQ0dMnToelpmeZLVYIIWNMFKWw8MjE5FSL1aavMp4JjQgNP2c0mryHPyVl5Vk5ubqKSkopJtjucOp0lcXFJRWVlZIsaSu2O+z2/IICp8vV4Ie+gVBVddWqVa+99lq9R8+ePTt48ODnnnvu/PnzWuwihNB7iKR9a82j13h/QEM7pJ0PIdQ2ysvLFyxYkJiYaLfbEULamFe7HACgqqpGYZ6PFhBCVFWFEGonayVquWl/PTlTQjBSIUIAEQghQSpE+EJC1tBJ8ycsXp9eqveuF2HMoYKlu069OuSbheu3E0oRoTqjbfyizT3HzZsTcLBSAsibKxmTGdty6krvrxe8O3bm5exCGUCbSmYHHH/nq0Vml4QxgZQiiggBWPtwwe0YQt5p5MLzQlxiyuz5y86eu1Cmq3Q4XE4XL8uK9mrieSEzO/fUmfBKfRVCGKigqsp4MerK+QtRuXkFoiASQgRBTEvPzMsv1FcZiktKc/IKtJkBkiRDCLU7BCE0mUy5+QWKov55NfO/IAAAq1evrpdcKKUulysgIODll18eMWKETqdzf6PxquLg4QWNXLRfz+UeeLSe+Pj4Rx555NSpU3a73UNJ2OtzKFq23ju1Z0Drr8zLxuzhNVrLPEQoQoggqKhgzc5To2f5bTlyRlQBwJASiVKJMoUwqGBabHV+Pn3R17MWJ2ZkO2V18rKto+f67wi+oLc4ZEIpRYyoDEkMSQypmBKrUzx9JfV/frv6/29ZTGmVXkY/bT3Z+5ulJl7CGENGEUWUqLfR+F2DXFq3bv1XJxeXi4+JS5z109KTZ8L1Na25qgoKi0rOnI0oLilTFJUxpj0rBqMpNT0zNj4xPSNLV1GZX1AcHZuQkJSSl19QVqYzmSxOl0tVVW/i53mhXKcrKi5pUFtuLAAAtTQXTyfX6ODo0aPdunV78803NVu72WxOTEw8fvx4cHBwTEyMTqdTVdWjs0AIHQ5HTk5OeHj4iRMnzp49m5KS4nQ6IYSqqrpcrjNnzjRr1mzr1q05OTk2m01RFK0su92emZkZFhYWHBx85cqV8vJyWZYBABaLRQvddrlciqKYTKaoqKizZ89mZ2drCovNZktOTg4NDT196nT0lSsGg0FVVYI1coGrd4eOmLHa/9BZARFMMKOQUcAYpARhCFRKT1yMPXzuUmJ+UURqfs+vl/4SGF6sN1OKCYYUQ0IgIgBiAKFCCCIEWxz80Yj4d0f/+MuRCzlVtiU7Trz/zWKLS8IEuckFUFr/p4tuATQ+uXPIRZaV7Jz8uYtWbt6+LzM7D3sxQkmZLupKXGx8Uq2pQIRSvcEQG58Yfv5idGz8pcsxly7HpKZn6HQVLpcL43pWyDWaTPkFhXp9VYPacmNxfXIhhOzbt69z586jRo3KyMg4c+bMmjVrli1btnDhwoULF65YsWLt2rUHDhwoKSkBAIiiGBsbu379+jVr1vj5+f38888rV65ctWrVypUro6KiSktLExIS5s2bd88993z77bfr1q2LiIgwm80IodOnT69Zs2bx4sWLFy9euHDh6tWr161bd+zYsfPnz//8888WiyUsLGz//v3Hjx9fvnz5/Pnz58+fHxISUlVVdfr06fXr169atUorZfUqPz8/vwNBh3JzcylGEKHw2OxRPwaMXbozKCo9Ibe0uMrskGRICCOEIYAptQqSiReydIYle0P7TFoblpAHMaEUUQwIQogQQIlKMEAAEYQIJpTkFuu+mbd+zPxtMTmly3adfG/8UqtTxARhShBFhKIGcrlhoJRarfZ1ATsWLPvlxJlw89WJzvzFqJhzkVGqWu3c0Vw/NpvdaLKUlJYnp2VEXLh8MuRsROTF2PjEktIyp9MlCKKiqnW9EiWl5RlZ2U6ns4Fcbiy0YdFLL71UXl5eVlZW6oXCwsLU1NTZs2e/+OKLgYGB+/btGzp06Lvvvjtz5sy9e/fu3r17yZIln332Wd++fVeuXGkymbKzs2fMmPHiiy9OmzZt9+7dwcHB+/fvnz179gsvvPDFF1+EhoaeOHHik08+adq06aBBg8aPH79jx46CgoKUlJRevXp17dp1zJgxGzZs2LVr19q1a0ePHj1y5Mjhw4e3bNkyNzd32rRpb7zxRr9+/d5+++3Zs2evXr362LFjx44de++99957772ffvopKCjo2NGj69as6tv3g3fe7eO3arXRZKSUCDJYvi/ko5kbPp2/dc7mo5uPnw+JzUzILssu1BWWlJcabU5JwYRkl+jHLNo2bvGepNxyWv3hV4IwRYQiQhBBBEOFUk0nqTBaftl7os+En0MTchbtDun9rZ/VyWPtCoKw+4uvDeRyYyArSnRc4rKVG+YtWnnidJg2eg6PuHTxckyVwUSrv+FJTGZLXELywUPB23cdOHridEpaRmpa1tGTZ4qKSoqKS+MTkiLOX4yJTSwoLnE4XR5vAmMMY5KbX5ielY3wnzXI4i8LzVvUunXrb7/99quvvho7duyYMWPGjBkzbty4gQMHPvroo0888cTkyZN1Ot0zzzwzY8aMvLw878t5nj98+PA999yTlJS0adOm0aNHL1u2zGNA0U64dOnSU089tW3bNkVRYmNjH3744XPnzvE8zxhLS0vr0qVLt27dwsLCagm2c+fOjh07PvTQQ/n5+XPmzHn88cf79u3rOXr48OGePXu+/fbbpaWltS6cOHlyz169fvnlF8YYZgwxVlZlPRYWP2fl/o8nrHh9yOwXPpzaecD3g7+YOnnlgbCUPKskZRSUjfhh5dSfd2cWlFfzAmEYM+25JRhTDIHmhKJEb3FsOHax29d+wdHZC3aG9p602uYSMSEUQ4whqvnJ+Ztwx66HO5BcCKGiKJ2NuLjil4ClKzccP3U2PSsnISm1vKLSarOnpGcdOxESdDj4VEh4bEJycUmZxWpzOF15BUWRl65EXIySZFkFQJIkh9NltljLKyqyc/IzM3Py8gvKdRVWm624tCwjK6ekrLxBa7nh0DSXJ554YufOnQEBAf5ubNiwwd/f/8iRI/Hx8UlJSX5+fm+//fbBgwdlWfa4hzRnUFJS0ptvvjlr1ix/f//Ro0e/8sorO3bsiIqKKi4uFgQBYywIQk5OjsViIYTExMTcf//9p0+fdjgciqKcPXv2H//4x9GjR61Wq9arq10/lBYUFCxYsEAjl5kzZw4aNGj79u2azDzPL1++/PXXX9cGRxaLxWw226wWm83idDpjE5ImTJz00UcfaSdTxgCETl6oMtlLKkz5JVWZheWxmQUnLiXP3HzyvfHzfvLfHRab8dWSrf9dtDM5p4xRzAhkFFMMMcGIUKgNdQihWGUU6syOlUcuvjVxw6n4goW7Q3tNXFWtubjJ5TYGHN6B5KLBaDJHXoresHnXgmW/bNt9ICziUmJyWlpGVlJKRlp6VmZ2blFJmcls0Wx4gihejo4PORuhqTZaDpRSCJEoilar3WAwlesqiopLdbqKmPjEzOwcu8Nxeyt4R0Kzubz00kvaOKjAC0VFRRaLBQBQXFz81Vdf9evXLzw8XKMV6o6cRgjl5eV98sknn3766dGjR0NCQubOnTtx4sQpU6ZMmzZt2rRp33///fjx4w8dOqTX6xljGrmcOHHCbreLohgcHNy8efP09HSPh9vjcjaZTFu3btXI5Ycffhg9enR4eLgms9FonD179hNPPDF//vwVK1YsX758+fLlK35esWLFcj+/lct/XjV23H/Hj/9GVsGZi3FxaXlmm5NRShFh2tQATBQATU4xMV/3/S+7v5zvv3DHiZ+DIntN8g+Nz4MYU4IgkClSCEaIUEgZpIwgQJFCCcwq0X++cNsn83dFZZUt3h3y7rcrbS4BE0IxwBhAt6vI2wV2y+7mHUsujDGL1XYlNnHT9n3LVvkHbNtz6NipKzEJlXqDotRw/RBC0jKyz4ZHJianeV+OMZZlxWZ3GIymSn1Vhb6qUm/Q66siL13Oyy/QomYacGNRy6BbT3AaY6Wlpd999917770XGhqqdRtvcsnOzh4wYMCoUaNOnTql0+lSU1N37Nixbt26ZcuWzZ07d/LkycOHDx8yZEhQUJDJZIqJiXnggQc8mktISEiLFi1CQkIcDoenT2r5FxUVLV269MEHH8zLy/vhhx/GjRt34cIFTUiLxTJv3rxOnTotXbp0/fr11brWRn9//w3+/hvXrl2/bNmyHdu2ugRp8uINflv2p2TmMkIoUBlCBGGEKSSUEswY2xkaM2L+lm9+3hOVVd5jwroV+8MLKoyEEFVVKFQIhpgQRCjEmCKVYmhzCkcjE1//fM7qoIhcvXXhrpB3J/g5eIEQwjDAGCJCqq0A1d7oW2p5uZPJhTGmKGpxaXng4RN+awI2bd8beTG6Um+w2uyyomj8gjG22uyHj526EpPgcvFalJQW42+2WMrKK7Jy85NS0lPTM0tKyxxOl9FkjolLKCvX3e6a3ZmoFefi4RRPpAalVFMiunbtun37dofD4XE8Y4xlWb5w4cKzzz67ZMmSHTt2nD59Ojc315M5pVSSpJycnGeeeebrr7+Oj4/3HhZRShMSEp5//vnvv/8+JiZGFEVPpIzD4Th58uSQIUM85DJ27NjIyEgtW1mWN2zY0KdPnzNnzrhcLu/eiwlJTk45cvhw2NlQUVLGzF45aur8vcGhDlEiWGRYxQQplMqUEggUVV1/+NywuZt+3HZCUsCUXw6NnBuw+WhEpcmmQEQxpAQRShChEEJKkN0lhCfmTttwuN/EJemFFRYJzttx5t0JPzu8bS6EUIIJ0ZoI32Kz7h1OLh5k5+bvCTw8f8mqnxav3HfgaFZ2niCIjDFBlE6GnAs/f1FXUakNyAuLS+ITU8LCI0+eORsZdSU3v9DhcGjea0VRkpLTcvILHE7n7a7QnYlaEbq0PkAIq6qq/vOf/wwfPvzcuXPelxcWFi5cuPDuu+/OzMz88ccf33rrrTlz5tQqQlGUV199dfz48XFxcVeuXGnWrNmePXuMRiNjzGKx7Nmzp3379pMmTUpISOB5XlEUp9MZHBw8fPjwhx9+uEOHDgUFBd7konXXS5cuff755x07dkxLS/MEOlBKeUEY9snwLq92Xr92NYDo4IXk7uOX9PthQ3BSocKwdy/HhBSW6j6d8fOgGWuCY3IIoZVm53+X7Hz7v4vnBRw02hy4lsWE4iMXEj7+cct7P2yJKTUqCDsBnbPtdM/xKywOEUKMAAQAKBCpEKoQqRApAKkQNZDLb8VvH0PKimK12YuKSy/HxAcePL5h086NW3cfOBwcGha5a9+h+MTUjKzclNSMlNT0tIycwuKSKoPRbnfwgqAoqicMlHfx4ecvGEw15go04AZCUZSVK1dq5FIvs3jsrBcuXPj888+7d+8+atSoqVOnTp069csvv+zTp89HH310/Phxl8uVnZ09Z86cl19++eOPP540adKUKVOmTJkyfvz4nj179u7d+/jx46Io5uXlDR8+/JVXXhk0aFBAQEBRUZHZbD5y5MikSZN69+7dpUuXN954o3v37t9+++2W9qSUCwAAIABJREFULVtWrlzZrl27/Pz86dOnf/HFFx6bCyHE5XLFxcVNnTq1W7dun3322ffffz958uQJEya8/sYbHw0cuGXLFqPRiBC28dLhqNTvVu7tP3Hp5zNXTVm1e876A7PWH5i8as9/f1r/6aT53y32P3o+ziHIDCMIUW65ac+ZyxOXbB4wYcHo+Zun/LJv5vr901fvnbh095CJyz+Zvq7XN349vlo+f/vpIrtoEMHCzYee+uCr4bPXDZ21Yeis9UNmrv945oYh7jRg6pr/rd6fX26A6BY9vTeeXAAAaWlp0dHRnj0GgyElJSUhISE/P//EiRPp6el/sAhKqaqqmzZtOnDggE73O0YoECG7w1FYVJqcmhEVHRcWcfH4ydCtuwK37T6wdVfg7v2HT4WEx8anFBQW2+z2WrF2qqrq9YaEpJTsnJyCgvyioiJtzlsD0dxAYIzT0tKOHTumbXuH4XuYRRutCIIQGRm5ffv2gICAtWvXrl27NiAgYPv27SdPnnQ4HKqqSpKUlpa2Z8+e7du3b9y4cc2aNWvXrt20adOuXbvOnDmj1+u18c7ly5d37ty5ZcuWyMjIioqK5OTkjIyMiIiIwMDALVu2bNu2bceOHREREcnJydu3b3/44Yezs7Ojo6MjIyN1Op1nlRmMscvlSk1N3b1795YtW/z9/desWaPN6Q4NDS0rK6PuCGOjQ4jNLDx09sre0xd3nbyw40Tk9hMXdpy8tPvUxcOhF6NTsqssdkIpxYgSCBGqMFqjkrICT1/ccfLi1uDIrcfPbzt2fuvh87tPXjxxIfnExZSNgaH/nbUqKDS61GBNzi7ce/L84fPxB8/FB9VJgWdjQ2LSrU6hthJ003DjyUUUxYCAgOnTp1dUVGgd7/Tp0zNmzFi7dm1mZubx48fT0tIopQAAp9MJANCscYqiaCNnSZJEUdSy0gbJgiBof7VtbUZZYmLit99+u379+tjY2LNnz8qybLfb09LSEhMTa417rwVZVqqqjBmZOVHR8cdPhR49ceb02YiIC5cvXY6LS0hOTc/Mys7LzsnPKygqKSuv1BtKy3QZmTlVBuPly5e1cPJDhw4ZjcYGy+6NhTeD1OUX4l61Szsky7LJZMrLy8vNza2qqpIkSduvzSTUZhWKolhaWpqbm5uXl1dZWanl4/EEaec7nU6e541G49atW5cvX56Wlub9ztAUpa+//rpnz55FRUWeSYwaX2gieeYcWa3W4uLivLw8bS6CW35CCKGEUoIpwRgjUVEMVnuZwVJmsOqtTpsoY0wopYRSTCglmGBAMKQEUYIxwTZe0BktpXpTucGiN1lUDAnFlOLKKsPO/cdCI+OMJjMjiFJMKGYMM4oYRUyLc/HSAm/lrbzx5GK32+fMmdO9e/e9e/dqdDB37tznn39+ypQpJpPJYDDYbDaz2RwfH3/p0iWdTqfT6dLS0pKTk202W15eXlxcXFxcXEFBgaqqpaWlsbGx6enpCKGysrL4+PjLly9nZmbqdLr58+cvWrQoMjLy2LFjPXr0yMjISEpK+vnnn+f8H3vnHRbFtf7xm1yNUe/VRGOvIB22gj1KLIldMQqi9N2ZBVQ09t4QpCzbF0SaiChNRRRsWFFAFFABQXrvvW6ZOWd+f4zuJWhybyJJfkn2+5yHZ1lmZ+ac2fPhPed9z3sOHcrKyvp11oRMJq+oqnme+TIp+emtxPtX4hKiYuJir91MvP8oNS39WfqLjJdZOI4/f/784cOHUVFRnp6etbW1arj0r0g0yOVy1TrA9y0XpVKpUChIh3GfD5I+I1WH771bg+oMKniRx6umOevq6vz9/Wk0mre3d0ZGRnZ29uvXr7Ozs9PT048ePWpqahoWFkaGZauCR8jXqvtRLW0l3q1c64NIgCkAJoe4EuJKsq9DggAQAoBBHAO4EuAYySEcABxT4pgCw5U4jkGAExAnyMx2BA6hEgA5DuQAKCABIQEAJgNYDwQKApcRQE6AHgL0QKjAAcAIgEOAAYBDAH/H9FH9D5eamprQ0FArKytzc/Pm5uYnT54cO3bMyspq3759ycnJ3t7eUVFR4eHhVCoVQZDo6OjDhw+bmppu2rQpMTHR3NzczMzMzs5u+fLlJSUlO3bsWL16tVAobGhoQBDEzs5u1apVCIJcunTJzMzM1NT04MGDhw4dmjhx4pEjR65evSqVSo8fPx4XF9ePCZwAAEolJpcrFEolaU+qvou/8/+Bv4ngu2VE75OlDyB6v37/V9WbqmwMvf1KvX/tLYVCIZFIli9fbmBgoK+vz2AwyJ9sNvvGjRuqO4TvAurfP9UHb+PtMfhbzw2O4xgAShwqAaGEhBLgEOsm8G4C6yFwBYQ4DiGGEwpAyMmoFgAhUJJIwqFSSSgxqMQIJUYoMahUQiVGYG+NHKAEQA5xGcRlEJcDoFRAqIBA+bZA8Dt+Z/sfLtXV1dHR0Xv27Pnhhx/u379/5MgRcvXX9u3b09LSyP4vEolu3LhRXFzc1NTk7++/d+/ejIyMAwcOeHl53b179/79+wcPHrx69eqmTZtcXFwSExNLS0tXrVoVHx+fk5Nz4cIFe3v70NBQPz+/x48fx8fHf//99+QMSFpa2pMnTxp/vAPRx+uPsSn/rvopoPzWUg246urqCgoKMjIyHj9+/OjRoydPnrx8+bK0tLStre1nePfBE/YhDgQ4BqDibSEUACoBVAKIA5zAZAQug7iCAEoIMRxC/B1cMAAhhhO4EgBcCaEcQgXAlQAqIVmAAgIlgDJIyAmIQRwHSoArMYgrIFACDGI9bwveA4Gc+B3jdPsfLlVVVeHh4V5eXnFxcWw2m81mi8Xi4OBgZ2fntLQ0X1/f3bt3e3t7v379mgx8CgsL43K5jY2Nzs7OYrE4JycnOzv7xIkTsbGxV65c8fT09PLyun379tKlS58/f97V1RUXF7dq1arLly9fvHgxOzv70aNHVlZW5FxMS0sLmZijX5pGrT9Evwk5/jcWkAMc1ahKJpN1d3eTKwxgr0mW/1G9jRrVRXBALigEGA5wgOOkEYMrCVwOcQUA5DpmHECA/2eZooJQ9hBYDwBKDEIFhBhpBuFkDigcAziOQwWAStJyweUAVyghkEMoBwDHFTiuwHAFjisAUEL4Z4ZLdXV1WFjY6dOny8vLV6xYcfLkydjY2NDQ0K1bt6alpZ0+fVogEJA/r127lpWVFRIS4uvr297eHh4efuTIEV9f3+Dg4J07d6alpT18+HDnzp0cDuf+/fv29vYBAQGRkZESicTV1TU6Ovr8+fNZWVlPnjyxtLSMj49vbm7ulxZR648V/HEqyd9TvSeSe7/Ze2jzv5/q/QEaeYUfFwzgGDlxCwD2NpyWnPgFAAfkLIwCYjJI5t9+Gw+HAxyHJGDIA0nWABwAJcAVAChxgCsBULy9AHl2HP+zB9E1NjaS69k7OjokEsmzZ89yc3OvX78uEAhev359+fLl1NTUe/furVq1ysHBISYmJjIy8urVq+TM3JEjR6ysrLZu3Xrs2LHGxkaJRGJnZ8flctvb2wMDA7du3bpp0yY3N7eSkpLExMSEhISioqKcnJwDBw788MMP+fn5/dEgav3Bgn8cXOA7h/H7aPhFcPnRUOjHJg8g3UWqosIMhDh8G58P3h0JesEDB7gqjB/vdYOqM4B3Yf74f17hfQsAv+eky28SREe2I/Fu7lPVxLDX90apVLa0vN1gTDWQ+c/UFwAEQSgUCvIA8k/d3d2kx7rPs8QwTBVEq9afXfAPhUt/SfVN7u1X+v+g3/NR/lYRuh0dHenp6Z6enlZWVqtXr163bh2Hw7l06VJ9fb3qGPxdEqb6+vr4+PgjR45s2rRpzZo15ubmmzdvJqNIejcH+Z2rq6tLSEgIDAwsLCxUuYHx9/I59VFWVpZEInFwcFi1atWqVatYLFZgYKDa2Pl/KNh/cPkpA+SnutkHP6KaNPn5e37/gJ/p1b0vpLrVfqnyf22Nn69I/+o3gUt2drZAIDAzMzM0NBw3btyoUaNGjRo1btw4U1PTpKSk3n7iurq6yMhIDoezaNEibW3tsWPHjho1avTo0RMmTJg/f769vX1YWFhZWVnvk2dmZrJYrFmzZt28eVMVX/czam1tlUgk1tbWDAZj/Pjxo0aNGjly5Lhx4+bPny+VSj++smr1r/qxp4F3eV56h8yQLzAM6+7ubmtra2lpIdcQ4b0SbqvUmyyk7VxfX19RUVFaWlpWVlZVVdXU1ESm1+3o6CgtLc3MzIyNjRWJRIcPH971TgcOHODxeNeuXcvMzKyqquru7ibeedxJfTCip9/1V4BLY2OjQCCg0+kjR45cuXIlm812dnZGEGT9+vXGxsY3b97s6ekhCALH8YaGBn9/f1NT06+++opOp69fvx5BEPJgCwuLWbNmffHFF3PmzJFIJLW1taqh06NHj2bPnj1gwIDw8PC2/7aAsKWl5ebNmxQKZdKkSfPmzbOzs9u8ebOTk9OGDRuWLl3q6ur6e7a1Wv+LYH/DRZWcpb29vaCgIDExMSoqKjAwSCwW83g8b29vPp/v6+sbEhISFRUVHx+fkZFRVlbW3t5OfkqhUJSXlyclJYWHhwuFQnd39yNHjpABVseOHfPw8JBIJKSD4uDBg05OTmZmZnPnzjUyMtLR0dHV1dXW1jbQ1585c+bq1audnJyOHj3q7+9/69at4uJiMn5XdYe/KV9+Z6yQ6n+4PHjwwMzMbOTIkatXr87IyGhvb5fL5STXAwICcnNzyf1POzs7IyIiKBTK8OHDTU1NJRJJSUlJZ2enTCbr7OysrKwMDw9ftmzZyJEjGQwGGexLts7jx4+/+eabgQMHkptj/fzNZGRk2NraDho0aOXKlVeuXGlpaZHL5TKZrLy8/Pr167dv3/79W1ytnxf8aLi8jaIH//H+tLe35+fnx8fHnzx5cunSpUZGFA0NjalTp2pqaGhMnaqhMXXy5MmampoUCsV0/nxnZ2fSlfnixYuioqLk5GSRSGRubq6rqzthwgRNTQ1dXR19fX19fT1tLa3JkyePGzdu7NixkyZO1NXVNTIyWrRo0UbLjY6Ojtu3bdvxww/bXFycnBw3brScNXMmlULR1NCYNm3a4sWLvLy80tLS6urrSKOpzyip3/UXgYuHh4ehoeHcuXOTk5N776Pcp4ZlZWVjxoz55JNPVq1aRWb96V158uDc3FwbG5tPPvlEQ0OjrKyMNFx/EVxiYmKGDBnyz3/+MzY2tveO8apG/8jKqtXvgh8HFwAhRnpl37kFcBy/eef20mVLBw/+fMjgwdM0pm4wtzh29GhgwJmYqMiYqIgL4WFCgWD/vn02NtZzZs8cOnToP//5z0GDBk2YMGHFihVffvnlP//5z6lTJ1tuWM/j+Vy/Gpv+PC3/TW7u6+xHD+6HBAXu3b176+bN3p6e6enp1TU1PT09+IekVCrr62qvxl5xdnLU1dUdMGDAhIkTvby8iouLyIr3nt/pd/1F4OLq6qqrq7tw4cI3b978lAenqqpKKpX++9//ptPp/v7+PzW6kclkZ8+enTVr1ogRIzw9PckF0L8ILpGRkQMGDBg+fPi9e/f+l8bt7Oy8fPkyl8vl8/l3797t/ScAQFdXV3FxcV1dHblOMjU1NSAgIDs7u6ysrKSkpL6+/oOXaGxsJAOIVX/t7Ox8+fIlj8c7derUlStXysvLex/f09NTVVVVWFhIjh+LioouXLhw7dq1+vr6e/fuxcXFNTQ0/P5flN9N8CPhAgCOYRiOYbgCQKykpGT7D9uZTCaTabxjm8vdmwkvMjMLCgoqKytr6uurGpsrm5pqGxtramsrKiqKigpzcrLT0tJu3kyQ+kpsbG3HjRm96JsFgf7+menphQUFNTU1lXUt2fllaS/znmcV5BVX19TWlZeXl5aW1tTUdHV1NXa0nb18fbenv4tHqKPPecTj7Fav8/v4Ee7+lwIu33qQmVtUXllSUpL29OmF8+doVJq2ltZ6c/OIyCji3doocnVSvwClT7PAvwBcJBKJsbExhUIJCgoi567eV3p6+po1awYNGrR3797s7OyfOVtxcfHx48eHDBmydOnSly9fEr8QLgkJCVpaWkOGDBGLxVVVVT9zZEVFRVRUFIqipqamFAqFRqMtXbp0//79t27damlpIQiitbWVzCESFhYWHh5+6NChVatWTZ8+PTAw0M3NbdOmTfv27VON3VR6/fq1l5fXli1bzp49S6L2xo0bO3bs+P7776lUqoGBwTfffGNtbe3h4aHyfD179szFxWXjxo0vXry4cOHCxo0b582bt3LlyoSEBKlU6uHh8fTpU/DXjUKGHwsXiAGgwJQ4wDLSn+3etVNTU9OBzTpz5syTtOcviqsi7jznnks4LI3cyQ934YVvF178gRe+m3/hgDjKNfDa6StJsam5KTnFL1/nP3782P/06RvxCS9z3zxIzxWE3drJveDCveDoHoq4BiMnQ5xOndvJu3jo9BVBZGLc4xfFVQ3tPT3p2XmCsKvr9oiMNroyHbxMUI/Zmz0WbPdetku86ej57dxw4YX4O8+yymrqIqOiNjs7z58/f/HibwUCQXNz82/ntP6LwCUpKcnCwmL06NHffffdpUuXampq3rdfbt++PXHixAEDBkRGRv4UgEhBCKOjowcMGDBlypQHDx7gOP6L4JKdne3i4vL5559/9913/v7+BQUFHzyssbHx7Nmzy5YtmzBhgpmZmY2NjbW19TfffDNx4sR169alpKT09PTU1dWdPXt28ODBlpaWZmZmX3/99erVq1etWnXu3DkXF5fJkydPmzYtOzu79+CLIAh/f//p06czmczg4GAMw+7fv29hYaGpqblgwQIbGxs7O7sVK1bo6OhoaGhER0c3NTURBHH16lVt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452dnfv379+5c2c9Pb07d+4ou8YpmlAWvnJycjw9PRU7hoYOHerp6fny5cuTJ0/++OOPnTp1GjFixOrVqzMyMugeIkoxIpHo2LFjxsbGEydOvHTpklgsph+9fv366NGjX375Jd3V2bVrV1NT08jIyNzc3MrKyrq6utra2rKysszMzNDQ0B07dkyfPl1LS2vWrFmRkZFY6bwkBVTkosJHAp7no6Oj7ezsJk2a9NVXX7Vv375Pnz5Tp0719PT08/M7ePDgwYMH9+/fv3nz5nnz5llaWu7du/fp06fKr3RFVXl5edHR0SdPnly5cuWgQYN69+6tra2tra3dt2/fGTNm0KgFMTExlGIoqquro6KiAgICHB0df/rpJ0WR7777bv78+fS0sGPHju3atWvVqlU2Nja2trbr16+PiIgoLCzMyck5e/bssmXLfv755969e3/xxRcDBgxYsWLFyZMnnz59qjCuK0Dd+aOiory9vWfPnq1oq1evXmPGjNmzZ8/+/fsdHBx0dHT69u2rra29fPnyPXv2HD169I8//qD6V0dHR0dHxzNnzhBCAABPnz69fv36vn37pk2b9tVXX9Haevfu/fXXXy9ZssTX1/fIkSN//PHHiRMnDh486OnpaWNjM3bs2F69etGwD9nZ2SpyUeGjheINX1tbe+vWrZUrV06ePHnUqFHDhw8fPHjwgAEDBg4c+P333//888/jx49fvXr148ePKTUohBrl2u7evevp6blo0SIrKys7OztHR0enBlhZWVlbW9vZ2Xl7ewuFQkpMPM/n5uZu3brV0dHRysrK1tZWkd/W1tba2trW1pY67y9dutTLyys0NLSyspI2XVtbGx0dvWjRooULF9KCjo6Otra2lpaWtra258+fb+o3DCHMz8/fvn37ggULrK2tFd1zcHCwtrZetGjRhg0bQkNDz58/7+TkNHHixBEjRgwfPnzUqFHjx4+fOHHizJkzf/vtt/T0dDpwuVx+/vx5V1dXKysrS0tL5cHa29svXLjQysqKsiEdi6WlpYWFxaJFi+zt7S0sLCIjI6mEpdK5qPBxQlkLS+/IZLKKioqsrKzo6OiAgIDAwMCEhISioiIaVZu87WzabG0f0ihSwp/tMz0m7d+azJtdFn1gEwghmUxWWlqalZWVkpKSnp5eWlqq7F/7gd7M78e7NNwqclHhI0EjfqHcIZfL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" /> </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
In 80’s and 90’s so many vendors comes with data DBMS tools i.e.
Microsoft, Oracle, Tera Data etc.</div>
<div class="MsoNormal">
In the rapidly changing world the tools enhances their capability
but at the same time data increased exponentially in the online world.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
According to the survey, Real-time world generates around
20PB of data every day. So now we have lots of data and if can convert it into
the information and it will help people to take decisions.</div>
<div class="MsoNormal">
<br /></div>
<h3 class="MsoNormal" style="text-align: left;">
<b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt; line-height: 115%;">NoSQL</span></b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt; line-height: 115%;"> <b>(Non - Relational SQL):</b></span></h3>
<br />
<h3 style="text-align: left;">
</h3>
<div class="MsoNormal" style="text-align: left;">
</div>
<div class="MsoNormal" style="line-height: normal;">
<b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;"> </span></b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">It is the latest concept comes for the data storage. Now a
days we have data in such a large size that we can not handle in the relational
model other way around I would say we can handle data but it's required so many
processors which will increase cost exponentially and even it will take time (sometime
in days) to process the data to convert it into information.</span></div>
<div class="MsoNormal" style="line-height: normal;">
<br /></div>
<div class="MsoNormal" style="line-height: normal;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;"><img alt="" src="data:image/png;base64,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" /> </span></div>
<div class="MsoNormal" style="line-height: normal;">
<br /></div>
<div class="MsoNormal" style="line-height: normal;">
<br /></div>
<div class="MsoNormal" style="line-height: normal;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Data scientist comes with the idea
of NoSQL. It doesn’t store data in RDBMS format but it use document oriented
storage mechanism. Now a day to store log information. Hadoop Map Reduce is the
classic example to store data in NoSQL format. It stored data in Hadoop File
Storage System and Map Reduce function created to process data.</span></div>
<div class="MsoNormal" style="line-height: normal;">
<br /></div>
<div class="MsoNormal" style="line-height: normal;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">I will explain each of this database
storage system separately in detail in my upcoming posts.</span></div>
<div class="MsoNormal" style="line-height: normal;">
<br /></div>
<div class="MsoNormal" style="line-height: normal;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">You can provide your feedback in comments
section!!</span></div>
<div class="MsoNormal" style="line-height: normal;">
<br /></div>
<div class="MsoNormal" style="line-height: normal;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Hope you enjoyed this article!!! </span></div>
<div class="MsoNormal" style="line-height: normal;">
<br /></div>
<div class="MsoNormal" style="line-height: normal;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Remember Knowledge is no Fun Unless you
share it!!</span></div>
<br />
<div style="text-align: left;">
</div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-66885550936667081772013-12-06T00:02:00.000+05:302013-12-06T00:02:49.944+05:30Transaction in SQL SERVER:<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<span style="font-family: Verdana, sans-serif; font-size: 12pt;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Verdana, sans-serif; font-size: 12pt;">Transaction is very interesting topic, i have came across ever.It is very
necessary for maintaining integrity of database.</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt;">So let’s
see some interesting facts about transactions.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">A transaction is a unit of work that is performed
against a database. Transactions are units or sequences of work accomplished in
a logical order, whether in a manual fashion by a user or automatically by some
sort of a database program.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">For example, if you are creating a record or updating a
record or deleting a record from the table, then you are performing transaction
on the table. It is important to control transactions to ensure data integrity
and to handle database errors.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Practically, you will club many SQL queries into a
group and you will execute all of them together as a part of a transaction.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlzb1RzwwezFArrEyqM0WjI0U-lvMXPj-BokgEdctBqXebTiwPKuV4rNj32gyM53hGtE6TySFefZoCGKP19EfI7jW8g6btu9F4mj7sLrVo5f4cB8HwMYYUU3wJ5JiBmL-d3WJuuO8gzTSw/s1600/Transaction.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlzb1RzwwezFArrEyqM0WjI0U-lvMXPj-BokgEdctBqXebTiwPKuV4rNj32gyM53hGtE6TySFefZoCGKP19EfI7jW8g6btu9F4mj7sLrVo5f4cB8HwMYYUU3wJ5JiBmL-d3WJuuO8gzTSw/s1600/Transaction.png" /></a></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Properties
of Transactions:<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Transactions have the following four standard
properties, usually referred to by the acronym <b>ACID</b>:<o:p></o:p></span></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Atomicity:</span></b><span style="font-family: Verdana, sans-serif; font-size: 12pt; line-height: 115%;">
ensures that all operations within the work unit are completed successfully;
otherwise, the transaction is aborted at the point of failure, and previous operations
are rolled back to their former state.</span></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Consistency:</span></b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">
ensures that the database properly changes states upon a successfully committed
transaction.<o:p></o:p></span></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Isolation:</span></b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">
enables transactions to operate independently of and transparent to each other.<o:p></o:p></span></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Durability:</span></b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">
ensures that the result or effect of a committed transaction persists in case
of a system failure.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisiCRfBk2d0RB3ZTYz6OTV_TaR-MSDNKehrAx3i1XcBt79g0d4dchMUN0SeUHsnUcZQ3Lqr8gej8NZEyYeBh9T3hekGUbFxk2i624JgXl4p1qHjMwf_yCVU8ok8Es4ZfyJOUHRZjM2TmPR/s1600/%2540%2540Transcount.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisiCRfBk2d0RB3ZTYz6OTV_TaR-MSDNKehrAx3i1XcBt79g0d4dchMUN0SeUHsnUcZQ3Lqr8gej8NZEyYeBh9T3hekGUbFxk2i624JgXl4p1qHjMwf_yCVU8ok8Es4ZfyJOUHRZjM2TmPR/s1600/%2540%2540Transcount.png" height="277" width="320" /></a></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Transaction
Control:<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">There are following commands used to control
transactions:<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">COMMIT: to save the changes.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">ROLLBACK: to rollback the changes.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">SAVEPOINT: creates points within groups of
transactions in which to ROLLBACK<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">SET TRANSACTION: Places a name on a transaction.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Transactional control commands are only used with the
DML commands INSERT, UPDATE and DELETE only. They can not be used while creating
tables or dropping them because these operations are automatically committed in
the database.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The
COMMIT Command:<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The COMMIT command is the transactional command used to
save changes invoked by a transaction to the database.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The COMMIT command saves all transactions to the
database since the last COMMIT or ROLLBACK command.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The syntax for COMMIT command is as follows:<o:p></o:p></span></div>
<div class="MsoNormal">
<i><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">COMMIT;<o:p></o:p></span></i></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The
ROLLBACK Command:<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The ROLLBACK command is the transactional command used
to undo transactions that have not already been saved to the database.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The ROLLBACK command can only be used to undo
transactions since the last COMMIT or ROLLBACK command was issued.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The syntax for ROLLBACK command is as follows:<o:p></o:p></span></div>
<div class="MsoNormal">
<i><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">ROLLBACK;<o:p></o:p></span></i></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The
SAVEPOINT Command:<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">A SAVEPOINT is a point in a transaction when you can
roll the transaction back to a certain point without rolling back the entire
transaction.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The syntax for SAVEPOINT command is as follows:<o:p></o:p></span></div>
<div class="MsoNormal">
<i><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">SAVEPOINT
SAVEPOINT_NAME;<o:p></o:p></span></i></div>
<div class="MsoNormal">
<i><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></i></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">This command serves only in the creation of a SAVEPOINT
among transactional statements. The ROLLBACK command is used to undo a group of
transactions.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The syntax for rolling back to a SAVEPOINT is as
follows:<o:p></o:p></span></div>
<div class="MsoNormal">
<i><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">ROLLBACK
TO SAVEPOINT_NAME;<o:p></o:p></span></i></div>
<div class="MsoNormal">
<i><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></i></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The
RELEASE SAVEPOINT Command:</span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The RELEASE SAVEPOINT command is used to remove a
SAVEPOINT that you have created.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The syntax for RELEASE SAVEPOINT is as follows:<o:p></o:p></span></div>
<div class="MsoNormal">
<i><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">RELEASE
SAVEPOINT SAVEPOINT_NAME;<o:p></o:p></span></i></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Once a SAVEPOINT has been released, you can no longer
use the ROLLBACK command to undo transactions performed since the SAVEPOINT.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The
SET TRANSACTION Command:<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The SET TRANSACTION command can be used to initiate a
database transaction. This command is used to specify characteristics for the
transaction that follows.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">For example, you can specify a transaction to be read
only, or read write.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">The syntax for SET TRANSACTION is as follows:<o:p></o:p></span></div>
<div class="MsoNormal">
<i><span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">SET
TRANSACTION [ READ WRITE | READ ONLY ];<o:p></o:p></span></i></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Your comments and suggestions are appreciated....<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif"; font-size: 12.0pt; line-height: 115%;">Thanks..!!! :)<o:p></o:p></span></div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0Pune, Maharashtra, India18.5204303 73.85674369999992518.2795348 73.534020199999929 18.7613258 74.17946719999992tag:blogger.com,1999:blog-8472953866166721352.post-36296379278159952132013-12-05T17:17:00.001+05:302013-12-05T17:17:13.379+05:30Get Last Inserted Identity of Record (@@IDENTITY vs SCOPE_IDENTITY() vs IDENT_CURRENT )<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Verdana, sans-serif;">In most of our application scenario, we need to get latest inserted row information through SQL query. And for that, we have multiple options like:</span><br />
<ul type="disc">
<li><span style="font-family: Verdana, sans-serif;">@@IDENTITY<code></code></span></li>
<li><code><span style="font-family: Verdana, sans-serif;">SCOPE_IDENTITY</span></code></li>
<li><span style="font-family: Verdana, sans-serif;"><code><span style="font-family: Verdana, sans-serif;">IDENT_CURERNT('TABLE_NAME')</span></code> </span></li>
</ul>
<span style="font-family: Verdana, sans-serif;">All three functions return last-generated identity values. However, the scope and session on which <em>last</em> is defined in each of these functions differ. </span><br />
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana, sans-serif;"><strong>@@IDENTITY:</strong></span><br />
<div style="text-align: justify;">
<span style="font-family: Verdana, sans-serif;"><strong>SELECT @@IDENTITY</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana, sans-serif;">It returns the last IDENTITY value produced on a connection, regardless of the table that produced the value, and regardless of the scope of the statement that produced the value.<br />@@IDENTITY will return the last identity value entered into a table in your current session. While @@IDENTITY is limited to the current session, it is not limited to the current scope. If you have a trigger on a table that causes an identity to be created in another table, you will get the identity that was created last, even if it was the trigger that created it.</span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana;"></span> </div>
<div style="text-align: justify;">
<strong><span style="font-family: Verdana;">SCOPE_IDENTITY():</span></strong><br /><span style="font-family: Verdana, sans-serif;"><strong>SELECT SCOPE_IDENTITY()</strong><br />It returns the last IDENTITY value produced on a connection and by a statement in the same scope, regardless of the table that produced the value.<br />SCOPE_IDENTITY(), like @@IDENTITY, will return the last identity value created in the current session, but it will also limit it to your current scope as well. In other words, it will return the last identity value that you explicitly created, rather than any identity that was created by a trigger or a user defined function.</span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana;"><strong></strong></span> </div>
<div style="text-align: justify;">
<span style="font-family: Verdana;"><strong>IDENT_CURRENT(‘tablename’):</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana, sans-serif;"><strong>SELECT IDENT_CURRENT(‘tablename’)</strong><br />It returns the last IDENTITY value produced in a table, regardless of the connection that created the value, and regardless of the scope of the statement that produced the value.<br />IDENT_CURRENT is not limited by scope and session; it is limited to a specified table. IDENT_CURRENT returns the identity value generated for a specific table in any session and any scope.</span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana;"></span> </div>
<div style="text-align: justify;">
<span style="font-family: Verdana;">Your suggestions and comments are appriciated!!!</span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana;">Thanks!!!! :)</span></div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0Pune, Maharashtra, India18.5204303 73.85674369999992518.5204303 73.856743699999925 18.5204303 73.856743699999925tag:blogger.com,1999:blog-8472953866166721352.post-45106095266195278092013-10-01T16:42:00.001+05:302013-10-01T16:42:39.630+05:30Table Variables in SQL Server 2012 and differences with Temporary Tables<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Verdana, sans-serif;">Table variable is handy feature of SQL Server which lets you define a variable as a table and then use it in SQL just like any other table.</span><br />
<span style="font-family: Verdana, sans-serif;"><em>Table variables were introduced in SQL Server 2000.</em> </span><br />
<span style="font-family: Verdana, sans-serif;"><br />Temporary tables are also exists for same purpose in SQL-Server.<br />So there are some basic concept about usage of these two component of SQL-Server (Temporary Tables and Table Variables)</span><br />
<span style="font-family: Verdana, sans-serif;">We can optimize our store procedure by repacing these components on the basis of there usages.</span><br />
<span style="font-family: Verdana, sans-serif;">So today we will What is Table variables and what are the diffrence between Temporary Table and Table Variable.</span><br />
<span style="font-family: Verdana, sans-serif;"></span><br />
<span style="font-family: Verdana, sans-serif;">SQL Server provides an variable known as table variable which is used to store data in a similar way as we store data in physical tables but with some limitations.</span><br />
<span style="font-family: Verdana, sans-serif;"><span style="font-family: Verdana, sans-serif;">In SQL Server you can use temporary tables to store intermediate results. This is a common used technique to speed up query processing. Recently I came across a problem where the temporary tables were causing the performance degradation.</span></span><br />
<span style="font-family: Verdana, sans-serif;"> </span><br />
<span style="font-family: Verdana, sans-serif;"></span><span style="font-family: Verdana, sans-serif;"><strong><em>Table Variable:</em></strong></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
You create a table variable the same way you create any other variable: <br />
using the declare statement:<br />
<em></em><br />
<em>declare @TableVar table (CustomerID nchar(5) NOT NULL)</em> <br />
<br />
This declares a table variable named @TableVar that we can use in place of a temporary table. You can use a table variable for just about anything you'd use a regular table. <br />
The following statements won't work however: <br />
<br />
<em>INSERT INTO table_variable </em><br />
<em>EXEC stored_procedure SELECT select_list INTO table_variable</em> <br />
<br />
<strong><em>We can write below piece of code inside store procedure:</em></strong><br />
<br />
<em>DECLARE @ttable (idintIDENTITY,orderid int)</em><br />
<em>INSERT INTO @t(orderid)</em><br />
<em>SELECT a.OrderID FROM Database.TableA as a<br />INNER JOIN Database.TableB as b ON <br />a.ID = b.ID</em><br />
<br />
For more diffreces you can go though the nice article written by Tejas Vashnav -<br /><a href="http://www.codeproject.com/Articles/415184/Table-Variable-V-S-Temporary-Table">http://www.codeproject.com/Articles/415184/Table-Variable-V-S-Temporary-Table</a><br />
<br />
<em>Your suggestions is appriciated ! ! !</em><br />
<em>Next time we will learn about CTE (Common Table Expression) and it's usages</em>.</span></div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-14560691553056230882013-09-26T16:40:00.000+05:302013-09-26T16:56:32.301+05:30Temporary Table in SQL Server 2012 and It's Usage<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Today i am going to tell about the Temporary tables. There are some myths about Temporary tables and there usages.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Many time we confuse while using this temporary tables.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">What should be use Temporary table or Table variables?</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">But this topic i am going to cover in my next article.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Today we see how Temporary table make out life more easy!!</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Usage of Temporary table is an effective mechanism available in all versions of SQL Server.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Temporary table:</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">It work like a regular table in that you can perform the operations select, insert and delete as for a regular table. If created inside a stored procedure they are destroyed upon completion of the stored procedure.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">It stores in TempDB database.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">There are two type of Temporary table availables -</span></div>
<ul style="text-align: left;">
<li><div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Local Temporary Tables.</span></div>
</li>
<li><div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Global Temporary Tables.</span></div>
</li>
</ul>
<div style="text-align: left;">
<strong><span style="font-family: Verdana, sans-serif;">Local Temporary Tables-</span></strong></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Local temporary tables are temporary tables that are available only to the session that created them. These tables are automatically destroyed at the termination of the procedure or session. They are specified with the prefix #, for example #table_name and these temp tables can be created with the same name in multiple windows. </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">It stores in TempDB database.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<strong><span style="font-family: Verdana, sans-serif;">Global Temporary Table-</span></strong></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Global temporary tables are temporary tables that are available to all sessions and all users. They are dropped automatically when the last session using the temporary table has completed. They are specified with the prefix #, for example ##table_name.We can not create global temporary tables with same name in multiple window since it exists until we close all the sessions.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">It also stores in TempDB database.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Physical location of Temporary table -</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Whenever we create a temporary table, it goes to the Temporary folder of the tempdb database. <em>tempdb -> temporary tables.</em></span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<b><span style="font-family: Verdana, sans-serif;">How to Drop Temporary Tables-</span></b><br />
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<span style="font-family: Verdana, sans-serif;">We can delete the temporary tables using the drop command as follows:</span><br />
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<em><span style="font-family: Verdana, sans-serif;"><span style="color: blue; font-family: Segoe UI;">DROP</span><span style="font-family: Segoe UI;"> <span style="color: blue;">TABLE</span> <span style="color: teal;">#Temporary_Table</span></span></span></em></div>
<div style="text-align: left;">
<em><span style="font-family: Segoe UI;"><span style="color: teal;"></span></span></em><span style="font-family: Verdana, sans-serif;"> </span></div>
<span style="color: black;"><span style="font-family: Segoe UI;"><span style="color: teal;"></span></span></span><br />
<span style="color: black;"><span style="font-family: Segoe UI;"><span style="color: teal;"><div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;"> Temporary tables are slighly diffrent from normal tables in following ways -</span></div>
<div style="text-align: left;">
<span style="color: black;"></span><span style="font-family: Verdana, sans-serif;"> </span></div>
<ul style="text-align: left;">
<li><div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">Temporary tables are always stores in TempDB database inside "Master Database". Tables are stores in there respective databases.</span></div>
</li>
<li><div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">Temporary tables are implicitly dropped by system after killing all sessions. Tables have to drop explicitly by users.</span></div>
</li>
</ul>
<div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">Other functionality available in Temporary table-</span></div>
<div style="text-align: left;">
<span style="color: black;"></span><span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"><span style="color: black;">It allows DDL operations i.e. Truncate, </span><span style="color: black;">Alter Table.</span></span></div>
<div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">It allows both clustered indexes and nonclustered indexes creations over the columns.</span></div>
<div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">It can access in nested stored procedures.</span></div>
<div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">It can participate in a transaction.</span><br />
<div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">It writes to Log File.</span></div>
<div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">It allows creation of statistics.</span></div>
<div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">It can perform "Select Into" operation.</span></div>
<div style="text-align: left;">
<span style="color: black; font-family: Verdana, sans-serif;">It can define globally.</span></div>
</div>
</span></span></span><br />
<div style="text-align: left;">
<em><span style="font-family: Segoe UI;"><span style="color: teal;"></span></span></em><span style="font-family: Verdana, sans-serif;"> </span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">Temporary tables have some limitations also that is we can not use it inside user define functions.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana;"></span> </div>
<div style="text-align: left;">
<span style="font-family: Verdana;">We will see about table variables and diffrence between Temporary table and table variable on my next article.</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana;"></span> </div>
<div style="text-align: left;">
<span style="font-family: Verdana;">Feel free to shoot your ideas on this!!!</span></div>
<div style="text-align: left;">
<span style="font-family: Verdana;">Thanks :)</span></div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-59086477026570623102013-09-24T11:33:00.000+05:302013-09-24T11:33:40.172+05:30DeadLock In SQL Server, Monitoring and Prevention<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Verdana, sans-serif;">Deadlock is a nightmare for SQL DBA, since it stuck our database!!</span><br />
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana;">So here i will explain what is Deadlock and how can we avoid it in realtime SQL situations.</span><br />
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana, sans-serif;">A common issue with SQL Server is deadlocks. A deadlock occurs when two or more processes are waiting on the same resource and each process is waiting on the other process to complete before moving forward. When this situation occurs and there is no way for these processes to resolve the conflict, SQL Server will choose one of processes as the deadlock victim and rollback that process, so the other process or processes can move forward. </span><br />
<br />
<span style="font-family: Verdana, sans-serif;">In rare scenarios, I have heard of deadlocks caused by SQL Statements executing in parallel however I cannot reproduce it. Neither side is willing to step aside for the other processes. </span><br />
<span style="font-family: Verdana, sans-serif;"></span><br />
<span style="font-family: Verdana, sans-serif;">A database server should be able to service requests from a large number of concurrent users. When a database server is servicing requests from many clients, there is a strong possibility that conflicts will occur because different processes request access to the same resources at the same time. A conflict in which one process is waiting for another to release a resource is called a <em>block</em>. </span><br />
<span style="font-family: Verdana, sans-serif;">A blocked process usually resolves itself when the first process releases the resource.</span><br />
<span style="font-family: Verdana, sans-serif;"></span><br />
<span style="font-family: Verdana, sans-serif;">A more serious condition, called a <em>deadlock </em>or <em>fatal embrace</em>, occurs when the first process is also waiting on a resource held by the second process (see below). Each process is stuck waiting for the other to release a resource. Unless one process times out, the lock won’t clear itself.</span><br />
<span style="font-family: Verdana, sans-serif;"></span><br />
<b><span style="font-family: Verdana, sans-serif;">When a deadlock occurs</span></b><br />
<span style="font-family: Verdana, sans-serif;"></span><br />
<span style="font-family: Verdana, sans-serif;">These are the following conditions when a deadlock can occur:</span><br />
<ol>
<li><span style="font-family: Verdana, sans-serif;"><b>Mutual Exclusion</b> - A resource is assigned to one process. Requests are delayed until the resources are released.</span></li>
<span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;"><b>Hold and wait - </b>One process holds one resource and also waits for another.</span></li>
<span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;"><b>No preemption - </b>Only a process can hold a resources when it's released from another process.</span></li>
<span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;"><b>Circular wait - </b>The first transaction has a lock on some database object that the other transaction wants to access and vice versa, causing a deadlock by building a circle of dependencies.</span></li>
</ol>
<span style="font-family: Verdana, sans-serif;"> </span><br />
<span style="font-family: Verdana, sans-serif;">Deadlock information can be captured in the SQL Server Error Log or by using Profiler / Server Side Trace.</span><br />
<h3>
<span style="font-family: Verdana, sans-serif; font-size: small;">
Trace Flags</span></h3>
<span style="font-family: Verdana, sans-serif;">If you want to capture this information in the SQL Server Error Log you need to enable one or both of these trace flags. </span><br />
<ul><span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;">1204 - this provides information about the nodes involved in the deadlock</span></li>
<span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;">1222 - returns deadlock information in an XML format</span></li>
<span style="font-family: Verdana, sans-serif;">
</span></ul>
<span style="font-family: Verdana, sans-serif;">You can turn on each of these separately or turn them on together. </span><br />
<span style="color: black; font-family: Verdana, sans-serif;"></span><br />
<span lang="EN-US"><span style="color: black; font-family: Verdana, sans-serif;"><strong>Extended Events: </strong></span></span><br />
<div align="left" class="MsoNormal" style="line-height: 13pt; margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="line-height: 12pt;"><span style="color: black; font-family: Verdana, sans-serif;">SQL Server extended events are the light weight event driven (fired) data collection for SQL Servers. It is much beneficial in case of tracing in the busy servers. <span style="mso-spacerun: yes;"> </span>It’s fundamentally an advanced version of Profiler Trace.</span></span> </div>
<h3 align="left" class="MsoNormal" style="line-height: 13pt; margin: 0cm 0cm 10pt;">
<span style="font-family: Verdana, sans-serif; font-size: small;">Profiler / Server Side Trace</span></h3>
<div align="left" class="MsoNormal" style="line-height: 13pt; margin: 0cm 0cm 10pt;">
<span style="font-family: Verdana, sans-serif;">Profiler works without the trace flags being turned on and there are three events that can be captured for deadlocks. Each of these events is in the <strong>Locks</strong> event class.</span></div>
<div align="left" class="MsoNormal" style="line-height: 13pt; margin: 0cm 0cm 10pt;">
<ul>
<li><span style="font-family: Verdana, sans-serif;">Deadlock graph - Occurs simultaneously with the Lock:Deadlock event class. The Deadlock Graph event class provides an XML description of the deadlock.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Lock: Deadlock - Indicates that two concurrent transactions have deadlocked each other by trying to obtain incompatible locks on resources that the other transaction owns.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Lock: Deadlock Chain - Is produced for each of the events leading up to the deadlock.</span></li>
</ul>
</div>
<br />
<span style="font-family: Verdana, sans-serif;">Although we cannot completely avoid deadlocks but they can be minimised by following the tips below:</span><br />
<span id="more-181"><span style="font-family: Verdana, sans-serif;"></span></span><br />
<ul>
<li><span style="font-family: Verdana, sans-serif;">Ensure the database is normalized properly because bad database design can increase the number of deadlocks to occur inside database.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Deadlocks can also occur if the resources are not acquired in some well-defined order because if all concurrent transactions access objects in the same order, deadlocks are less likely to occur. For example, if two concurrent transactions obtain a lock on the Department table and then on the Sales table, one transaction is blocked on the Department table until the other transaction is completed. After the first transaction commits or rolls back, the second continues, and a deadlock does not occur.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Do not allow users to input the data during transactions. Update all the data before the transaction begins.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Avoid cursors if possible because same transaction locking rules will apply to SELECT statement within a cursor definition that applies to any other SELECT statement. You can control the transaction locks for cursors definition SELECT statement by choosing the correct isolation and/or using the locking hints specified in the FROM clause. The locks are held until the current transaction for both cursors and independent SELECT statements ends. When SQL Server is running in auto commit mode, each individual SQL statement is a transaction and the locks are freed when the statement finishes. If SQL Server is running in explicit or implicit transaction mode, then the locks are held until the transaction is either committed or rolled back.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Reduce the time a transaction takes to complete by making sure you are not performing the same reads over and over again. If your application does need to read the same data more than once, cache it by storing it in a variable or an array, and then re-reading it from there, not from SQL Server. Reduce lock time. Try to develop your application so that it grabs locks at the latest possible time, and then releases them at the very earliest time.</span></li>
<li><span style="font-family: Verdana, sans-serif;">If appropriate, control locks escalation by using the ROWLOCK or PAGLOCK because transaction locks in SQL Server consumes memory resources and when number of locks increases, memory decreases. If the percentage of memory used for transaction lock exceeds a certain threshold then SQL Server convert the fine-grained locks page or row) into a coarse-grained locks (table locks) which is also known as lock escalation. Lock escalation reduces the overall number of locks being held on the SQL Server instance, reducing the lock memory usage. While finer grained locks do consume more memory, they also can improve concurrency, as multiple queries can access unlocked rows.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Consider using the NOLOCK hint where possible because when you run the query against table in SQL Server default isolation level it will put a lock on table and any other query that will try to access the table will have to wait for the lock to be released. This is fine if your table is small but the things get slow if your table is big. A way to get around that is to add a NOLOCK hint to the query, which will override locking of the whole table and allow access to it to other queries. You have to be careful with using NOLOCK hint because it will allow for dirty reads for example if you execute the query with NOLOCK and the query runs for 30 seconds. Because the table is not locked, during these 30 seconds other queries may have added new rows that the query will not return or modified or deleted rows that were already read. It may also have read data from other queries that were uncommitted and could have been rolled back. So keep that in mind when using the NOLOCK hint.</span></li>
</ul>
<span style="font-family: Verdana, sans-serif;">You can see some more details on below link -</span><br />
<a href="http://technet.microsoft.com/en-us/library/ms178104(v=sql.105).aspx">http://technet.microsoft.com/en-us/library/ms178104(v=sql.105).aspx</a><br />
<strong></strong><br />
<span style="font-family: Verdana, sans-serif;">If you have any problems related to Deadlock just reach me by comments!!!</span><br />
<span style="font-family: Verdana, sans-serif;">Your suggesions and comments are most welcome!!!</span><br />
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana;">Thankyou :)</span></div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-53224683019473516322013-09-21T12:31:00.000+05:302013-09-21T22:17:09.968+05:30Normalisation Rules with Implementations<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Verdana, sans-serif;">Normalisation is a fundamental concept of Database Design.I have saw peoples working with database from 5 years but still have some doubt about its implementations.</span><br />
<span style="font-family: Verdana, sans-serif;"></span><br />
<span style="font-family: Verdana, sans-serif;">Here we will see what is normalisation and how it will helpful in database desinging.</span><br />
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana, sans-serif;"><b>Database normalization:</b></span><br />
<span style="font-family: Verdana, sans-serif;"><b><br /></b></span>
<span style="font-family: Verdana, sans-serif;">It is the process of organizing the </span><span style="font-family: Verdana, sans-serif;">fields</span><span style="font-family: Verdana, sans-serif;"> and </span><span style="font-family: Verdana, sans-serif;">tables</span><span style="font-family: Verdana, sans-serif;"> of a </span><span style="font-family: Verdana, sans-serif;">relational database</span><span style="font-family: Verdana, sans-serif;"> to minimize </span><span style="font-family: Verdana, sans-serif;">redundancy</span><span style="font-family: Verdana, sans-serif;"> and dependency. </span><br />
<span style="font-family: Verdana, sans-serif;">Normalization usually involves dividing large tables into smaller (and less redundant) tables and defining relationships between them. </span><br />
<span style="font-family: Verdana, sans-serif;">The objective is to isolate data so that additions, deletions, and modifications of a field can be made in just one table and then propagated through the rest of the database using the defined relationships.</span><br />
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana, sans-serif;">Edgar F. Codd</span><span style="font-family: Verdana, sans-serif;">, the inventor of the </span><span style="font-family: Verdana, sans-serif;">relational model</span><span style="font-family: Verdana, sans-serif;">, introduced the concept of normalization</span> <br />
<br />
<span style="font-family: Verdana, sans-serif;">So It is mainly used for two purpose - </span><br />
<ul style="text-align: left;">
<li><span style="font-family: Verdana, sans-serif;">Eliminate Reduntant(Useless) Data.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Ensuring that data dependance make sense.</span></li>
</ul>
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana;">Normalization is divided into four forms -</span><br />
<ul>
<li><span style="font-family: Verdana, sans-serif;">First Normal Form</span></li>
<li><span style="font-family: Verdana, sans-serif;">Second Normal Form</span></li>
<li><span style="font-family: Verdana, sans-serif;">Third Normal Form</span></li>
<li><span style="font-family: Verdana, sans-serif;">BCNF (Boyce and Codd Normal Form)</span></li>
</ul>
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana;"><b>First Normal Form -</b></span><br />
<ul style="text-align: left;">
<li><span style="font-family: Verdana;">A data row can not contain repeated group of data.</span> </li>
<li><span style="font-family: Verdana, sans-serif;">Each cell contains only a single value.</span></li>
<span style="font-family: Verdana, sans-serif;"></span>
<li><span style="font-family: Verdana, sans-serif;">Each record is unique and identified by primary key.</span></li>
</ul>
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana, sans-serif;">Let’s see the example below :<br /> </span><br />
<span style="font-family: Verdana, sans-serif;">Prior to Normalization<br /> <b>Item Colors Price Tax</b><br /> Pen red, blue 2.0 0.20<br /> Scale red, yellow 2.0 0.20<br /> Pen red, blue 2.0 0.20</span><span style="font-family: Verdana, sans-serif;"> Bag blue, black 150.00 7.80</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"> This table is not in first normal form because:<br /> • A. There are multiple fields in color lab.<br /> • B. Records are repeating (Duplicate records) or no primary key.</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"> First Normal Form (1NF)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /><b> Item Colors Price Tax</b><br /> Pen red 2.0 0.20<br /> Pen blue 2.0 0.20<br /> Scale red 2.0 0.20<br /> Scale yellow 2.0 0.20<br /> Bag blue 150.00 7.80<br /> Bag black 150.00 7.80</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"> • This table is now in first normal form.</span><br />
<br />
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana, sans-serif;"><b>Second Normal Form-</b></span><br />
<ul style="text-align: left;">
<li><span style="font-family: Verdana, sans-serif;">It should follow first normal form.</span></li>
<span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;">There must not be any partial dependency of any column on prmary key.</span></li>
</ul>
<span style="font-family: Verdana, sans-serif;">Let’s introduce a Review table as an example :<br /><b> Item Colors Price Tax</b><br /> Pen red 2.0 0.20<br /> Pen blue 2.0 0.20<br /> Scale red 2.0 0.20<br /> Scale yellow 2.0 0.20<br /> Bag blue 150.00 7.80<br /> Bag black 150.00 7.80</span><br />
<br />
<span style="font-family: Verdana, sans-serif;">Table is not in Second Normal Form because the price and tax depends on the item, but not color.</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"><b> Item Colors</b><br /> Pen red<br /> Pen blue<br /> Scale red<br /> Scale yellow<br /> Bag blue<br /> Bag black<br /><br /><b>Item Price Tax</b><br /> Pen 2.0 0.20<br /> Scale 2.0 0.20<br /> Bag 150.00 7.80</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"> Tables are now in Second Normal Form.</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"><b>Third Normal Form -</b></span><br />
<ul style="text-align: left;"><span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;">Table must follow Second Normal Form.</span></li>
<span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;">Every Non Prime Attribute must be dependent on Primary Key.</span></li>
<span style="font-family: Verdana, sans-serif;">
</span>
<li><span style="font-family: Verdana, sans-serif;">Transitive functional dependancy should be removed from table.</span></li>
</ul>
<span style="font-family: Verdana, sans-serif;"></span><br />
<span style="font-family: Verdana, sans-serif;"><b>Item Colors</b><br />Pen red<br />Pen blue<br />Scale red<br />Scale yellow<br />Bag blue<br />Bag black</span><br />
<span style="font-family: Verdana;"></span><br />
<span style="font-family: Verdana, sans-serif;"><b>Item Price Tax</b><br />Pen 2.0 0.20<br />Scale 2.0 0.20<br />Bag 150.00 7.80</span><br />
<span style="font-family: Verdana, sans-serif;"><br />Tables are not in Second Normal Form because tax depends on price, not item.<br />
<b></b></span><span style="font-family: Verdana, sans-serif;"><b>Item Colors</b><br />Pen red<br />Pen blue<br />Scale red<br />Scale yellow<br />Bag blue<br />Bag black</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"><b>Item Price</b><br />Pen 2.0<br />Scale 2.0<br />Bag 150.00</span><br />
<span style="font-family: Verdana, sans-serif;">Price Tax<br />2.0 0.20<br />150.00 7.80</span><br />
<br />
<span style="font-family: Verdana, sans-serif;">Tables are now in Third Normal Form.</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"><b>Boyce and Codd Normal Form-</b></span><br />
<span style="font-family: Verdana, sans-serif;"></span><span style="font-family: Verdana, sans-serif;"></span><br />
<div>
<span style="font-family: Verdana, sans-serif;">When a relation has more than one candidate key, anomalies may result even though the relation is in 3NF. </span> </div>
<div>
<br />
<br />
<li><span style="font-family: Verdana, sans-serif;">A relation is in BCNF is, and only if, every determinant is a candidate key.</span> </li>
<li><span style="font-family: Verdana, sans-serif;"> A table is in BCNF if every determinant is a candidate key. A table can be in 3NF but not in BCNF. This occurs when a non key attribute is a determinant of a key attribute.</span></li>
</div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0Pune, Maharashtra, India18.5204303 73.85674369999992518.2795348 73.534020199999929 18.7613258 74.17946719999992tag:blogger.com,1999:blog-8472953866166721352.post-63097004738713865182013-09-11T16:42:00.000+05:302013-09-11T16:42:19.082+05:30SQL-Server Join Advance Mechanism<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">SQL-SERVER
Support Five type of joins:</span></span><br />
<ul style="text-align: left;">
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Inner
Join.</span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Left
Outer Join.</span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Right
Outer Join.</span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Full
Outer Join.</span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Cross
Join.</span></span></li>
</ul>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">By
choosing effective indexes and join strategies, the query optimizer
builds an efficient plan to retrieve data from SQL queries.</span></span></div>
<br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Three
join strategies are available to the query processor</span></span><br />
<ul style="text-align: left;">
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Nested
Loops Joins.</span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Merge
Joins.</span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Hash
Joins. </span></span></li>
</ul>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><b>Nested-Loop
Joins:</b></span></span></div>
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<strong><span style="font-family: Verdana;"></span></strong> </div>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">If
the optimizer determines that a nested-loop join is the optimal join,
it selects one table as the outer (first) table and the other as the
inner table. When executing a nested-loop join, SQL Server scans the
outer table row by row. For each row, it also scans the inner table,
looking for matching rows. This join type is very efficient if one of
the tables is small (or has been filtered so that it has only a few
qualifying rows) and if the other table has an index on the column
that joins the tables. The optimizer typically chooses the small
table as its first input because this is the fastest method of
executing the nest-loop algorithm.</span></span><br />
<span style="font-family: Verdana;"></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">For
the nested-loop strategy to be effective, the inner table needs an
index on the join column. This index means SQL Server doesn't need to
scan the entire inner table; after accessing a row in the outer
table, SQL Server can use the index on the join column to quickly
find all matching rows in the inner table.</span></span><br />
<span style="font-family: Verdana;"></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">If
the inner table doesn't have a useful index on the join column, the
optimizer usually chooses a hash join strategy. However, if the join
between the tables isn't based on equality, the optimizer chooses a
nested-loop join, regardless of the tables' sizes and indexing
schema.</span></span><br />
<br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Let's
look at the following query on the tables:</span></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><em>SELECT
C.CustomerName, O.OrderDate</em></span></span><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">FROM
Customers C INNER JOIN </span></span></em><br />
<em>
</em><em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Orders
O</span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">ON
C.CustomerID = O.CustomerID</span></span></em><br />
<br />
<em>
</em><span style="color: black;"><span style="font-family: Verdana, sans-serif;">The
outer loop iterates through the rows in the Orders table. Note that
because a clustered index contains the data, when the execution plan
calls for a clustered index scan, the query processor scans the
entire table. <i>In the absence of a clustered index, this scan is
called a table scan.</i> For each row in the Orders table, the query
processor uses clustered index seek, which scans a particular range
of rows from a clustered index to seek a matching row in the
Customers table because the join column CustomerID has a clustered
index.</span></span><br />
<br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">The
query optimizer distinguishes among three variants of nested-loop
joins. </span></span><br />
<span style="font-family: Verdana;"></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">A
search that scans an entire table or index is a naïve nested-loop
join. </span></span><br />
<br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">A
search that performs lookups in an index to fetch rows is an index
nested-loop join.</span></span><br />
<br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">When
SQL Server builds an index as part of the query plan and destroys it
when the query completes, you have a temporary index nested-loop
join. If you notice the Query Analyzer using a temporary index
nested-loop join for a common join, you might want to consider
running the Index Tuning Wizard to determine whether you could
benefit from adding an index to the base table.</span></span><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i><b>Outlines:</b></i></span></span></div>
<br />
<ul style="text-align: left;">
<li><div style="margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>It
is very efficient if one of the tables is small (or has been filtered
so that it has only a few qualifying rows) and if the other table has
an index on the column that joins the tables. The optimizer typically
chooses the small table as its first input because this is the <span style="color: black;"><span style="font-family: Verdana, sans-serif;">fastest
method of executing the nest-loop algorithm.</span></span></i></span></span></div>
</li>
<li><div style="margin-bottom: 0cm;">
<em><span style="font-family: Verdana;"></span></em> <span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>The
optimizer typically chooses the small table as its first input
because this is the fastest method of executing the nest-loop
algorithm.</i></span></span></div>
</li>
</ul>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><b>Merge
Joins:</b></span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">If
the optimizer decides that a merge join is optimal, the query
execution scans two sorted inputs and merges them. For a merge join,
the query processor sorts both inputs on the join column; if the two
inputs to the join are already sorted on the join column (for
example, if each has a clustered index on the join column), merge
join is a logical choice. In other cases, if adequate memory is
available, the optimizer might determine that sorting one input
before joining inputs results in the most efficient join strategy.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">If
a one-to-many relationship exists between the inputs, SQL Server
follows a series of steps for an inner join executed with a merge
join strategy. First, it gets a row from each input, then compares
the join columns of the rows. If the join columns match, SQL Server
returns the requested columns from each row. If the columns don't
match, SQL Server discards the row with the lower value and gets the
next row from that input. SQL Server repeats these steps until it has
processed all rows in both inputs, scanning both inputs only once.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">To
demonstrate a situation in which the optimizer will choose merge
join, we inserted 10,000 rows into the Orders table. For each Order,
we inserted five products into the OrderDetails table, resulting in
50,000 rows. Both Orders and OrderDetails have clustered indexes on
the OrderID column. Then we executed the following query against the
tables:</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>SELECT
O.OrderID, </i></span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>O.OrderDate,</i></span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>OD.ProductID,</i></span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>OD.Quantity</i></span></span></div>
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>FROM
Orders O INNER JOIN </i></span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>OrderDetails
OD</i></span></span></div>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>ON
O.OrderID = </i></span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>OD.OrderID</i></span></span><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">SQL
Server scans both the Orders table and the OrderDetails table. For
each row in Orders, the matching rows in OrderDetails are merged.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Another
case of merge join might occur if a <i>many-to-many relationship
exists between the inputs</i>. If duplicate values exist in both
inputs, the second input must be positioned to the point in the
database where the first duplicate was found before the query
processor can process the next duplicate from the first input. A
temporary table stores the rows instead of discarding them. We can
best explain this approach with a simple example:</span></span></div>
<br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>SELECT
Table1.Col1, Table1.Col2, Table2.Col3</i></span></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>FROM
Table1 INNER MERGE JOIN Table2</i></span></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>ON
Table1.Col1 = Table2.Col1</i></span></span><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Note
that in this example, we used a join hint (which we'll explain later)
to force a merge join. With these small tables, the optimizer
probably won't choose merge join. </span></span>
</div>
<br />
<div style="margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i><b>Outlines:</b></i></span></span></div>
<br />
<ul style="text-align: left;">
<li><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>If
the two inputs to the join are already sorted on the join column (for
example, if each has a clustered index on the join column), merge
join is a logical choice.</i></span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>Query
processor sorts both inputs on the join column.</i></span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>Another
case of merge join might occur if a many-to-many relationship exists
between the inputs</i></span></span></li>
</ul>
<br />
<div style="font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><b>Hash
Joins:</b></span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">The
third type of join is a hash join. <i>The main reason why the SQL
Server optimizer chooses the hash join algorithm is a lack of
adequate indexes on the join columns</i>. If the optimizer chooses a
hash join, the execution plan involves building a hash table, which
is like building a <b>special index on the fly</b>. The hash join
strategy has two phases: build and probe. During the build phase, the
query processor builds a <i>hash table by scanning each value in the
build input (usually the smaller table) </i>and applying the hashing
algorithm to the key. The hash table consists of linked lists called
hash buckets. The hash function applied to each hash key in the build
input determines the relevant hash bucket. During the probe phase,
the query processor scans each row from the probe input (the second
table) and computes the same hash value on the hash key to find any
matches in the corresponding hash bucket.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Hash
joins perform most efficiently when the tables differ significantly
in size. While processing the query, SQL Server might determine that
it chose the wrong table for the build input. In that case, a role
reversal occurs, and the build input becomes the probe input and vice
versa.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">An
example of a hash function is adding the ASCII values of the
characters in the key field and extracting only the last few digits
of the result. Another example is computing the modulo (percentage)
of the key and a prime number. An important aspect of the hash
algorithm is that, unlike regular index keys, the hash function can
produce significantly shortened versions of the original keys. The
hash function chosen generates an even distribution of the input rows
in the hash buckets. These special hash indexes are efficient for
finding exact matches (because the two join keys generate the same
hash function result), but are useless for joining tables based on
inequalities.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"> <span style="font-family: Verdana, sans-serif;">To
demonstrate a situation in which the optimizer usually chooses a hash
join, drop the constraints and both clustered indexes from the Orders
and OrderDetails tables. Now execute the same query we ran in the
merge join example:</span></span></div>
<br />
<div style="font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>SELECT
O.OrderID, O.OrderDate,</i></span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>OD.ProductID,
OD.Quantity</i></span></span></div>
<div style="font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;">
<span style="font-family: Verdana, sans-serif;"><i>FROM
Orders O INNER JOIN OrderDetails OD </i></span></span></div>
<div style="font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;">
<span style="font-family: Verdana, sans-serif;"><i>ON
O.OrderID = OD.OrderID</i></span></span></div>
<br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">The
Orders table is the best candidate for the build input because it's
considerably smaller. The linked lists start with the function's
possible results; in this case, there are only five. Linked to each
bucket are records containing all the values the query will return
from the build input table that correspond to the bucket. Applying
the hash function to the join column of each build input record
determines the correspondence. OrderID and OrderDate are the only
columns you need from the build input (the Orders table), so these
values are the only ones that stay in each record of the hash table.
</span></span><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"> <span style="font-family: Verdana, sans-serif;">SQL
Server performs a table scan on the smaller table, Orders, which is
the build input. Then it builds a hash table with the values that
result from applying the hash function to each scanned row. SQL
Server also performs a table scan on the probe—the OrderDetails
table—and looks for the matching values in the hash table by
applying to each scanned row the same formula that it used to build
the hash table.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">In
some cases, your server might not have enough memory to hold the
entire build input. In that case, SQL Server divides the hash table
into multiple partitions and performs the join in separate steps,
loading the relevant partition as needed. <i>The hash join algorithm
is very fast and efficient when proper indexes don't exist. This
efficiency is an advantage when you want to run ad hoc queries
without incurring the overhead of creating and dropping new indexes
for only these queries.</i></span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><b><i>Outlines:</i></b></span></span></div>
<br />
<ul style="text-align: left;">
<li><div style="font-style: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>The
main reason why the SQL Server optimizer chooses the hash join
algorithm is a lack of adequate indexes on the join columns.</i></span></span></div>
</li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>The
execution plan involves building a hash table, which is like building
a </i><i><b>special index on the fly</b></i><i>.</i></span></span></li>
<li>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>hash
join strategy has two phases: </i><i><b>build and probe</b></i><i>. </i></span></span></li>
<li><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>During
the build phase, the query processor builds a hash table by scanning
each value in the build input (usually the smaller table) and
applying the hashing algorithm to the key.</i></span></span></li>
<li><span style="color: black;"><span style="font-family: Verdana, sans-serif;"><i>During
the probe phase, the query processor scans each row from the probe
input (the second table) and computes the same hash value on the hash
key to find any matches in the corresponding hash bucket.</i></span></span></li>
</ul>
<br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><b>Join
Hints:</b></span></span><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">The
query optimizer is very sophisticated, and in most cases, it chooses
the best join strategy. However, in some situations, perhaps because
of a lack of statistics or uneven data distributions, it might not
make the right choice. When tuning query performance, experiment with
different strategies on the same query to try to find a better
strategy than the optimizer's choice. If you think that a better
strategy is available, you can use join hints. Keep in mind, though,
that after you add a join hint to the query, the query becomes
static. You lose SQL Server's ability to process queries dynamically
as a result of adding a new index, dropping an existing index,
updating statistics, or modifying data in the tables.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">The
syntax for supplying join hints is</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">SELECT
<select_list></span></span></em></div>
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">FROM
<left_table_name></span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;"><join_type>
<join_hint></span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">JOIN
<right_table_name></span></span></em><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">The
<join_type> can be LOOP, MERGE, or HASH. (A fourth hint,
REMOTE, doesn't really control the join strategy as we discuss in
this article, so we won't go into detail about it.) Note that you
must use the ANSI join syntax to use a join hint. For example, to
force a certain join strategy on a query that selects all orders and
their details, use the process in Listing 3, page 40. To test the
efficiency of a certain query, you can use SET STATISTICS TIME ON to
show execution times, SET STATISTICS IO ON to show I/O costs, and SET
SHOWPLAN_TEXT ON to show the execution plan.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">Let's
look at an example in which forcing a strategy that is different from
the one the query processor chose might yield better performance.
Suppose the Orders table has 10,000 orders and the OrderDetails table
has five entries for each of those orders. Run the following query,
which selects all orders, their products, and quantities:</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">SET
SHOWPLAN_TEXT ON</span></span></div>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">GO</span></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">SELECT
O.OrderID, O.OrderDate, OD.ProductID,</span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;">OD.Quantity</span></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">FROM
Orders O INNER JOIN OrderDetails OD</span></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">ON
O.OrderID = OD.OrderID</span></span><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">The
execution plan</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<em>
<span style="color: black;">—<span style="font-family: Verdana, sans-serif;">Merge
Join(Inner Join,</span></span></em></div>
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">MERGE:(\[O\].\[OrderID\])=(\[OD\].\[OrderID\]),
</span></span></em><br />
<em>
</em><em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">RESIDUAL:(\[OD\].\[OrderID\]=\[O\].\[OrderID\]))</span></span></em><br />
<em>
<span style="color: black;">—<span style="font-family: Verdana, sans-serif;">Clustered
Index Scan</span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">(OBJECT:(\[testdb\].\[dbo\].\[Orders\].</span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">\[PK_Orders\]
AS \[O\]), ORDERED)</span></span></em><br />
<em>
<span style="color: black;">—<span style="font-family: Verdana, sans-serif;">Clustered
Index Scan</span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">(OBJECT:(\[testdb\].\[dbo\].\[OrderDetails\].</span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">\[PK_OrderDetails\]
AS \[OD\]), ORDERED)</span></span></em><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">shows
that the query processor chose a merge join. Forcing different join
strategies with join hints shows that merge join is the best choice
for this case.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">If
you run the following query</span></span></div>
<br />
<em><span style="color: black;"><span style="font-family: Verdana, sans-serif;">SELECT
O.OrderID, O.OrderDate, OD.ProductID,</span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;">OD.Quantity</span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">FROM
Orders O INNER JOIN OrderDetails OD</span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">ON
O.OrderID = OD.OrderID</span></span></em><br />
<em>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">WHERE
O.OrderID > 9900</span></span></em><br />
<em>
</em><br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"> <span style="font-family: Verdana, sans-serif;">the
query processor chooses merge join again. But if you try a
nested-loop join, you'll see that it yields considerably better
performance:</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">SELECT
O.OrderID, O.OrderDate, OD.ProductID,</span></span><span style="color: black;"><span style="font-family: Verdana, sans-serif;">OD.Quantity</span></span></div>
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">FROM
Orders O INNER LOOP JOIN OrderDetails OD</span></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">ON
O.OrderID = OD.OrderID</span></span><br />
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">WHERE
O.OrderID > 9900</span></span><br />
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">You
might use another hint to force the query processor to join tables in
the order in which they're listed in the FROM clause. With no hint,
the query optimizer decides the order of the joins on a cost-based
estimation, regardless of their order in the SQL statement. To force
the join order for a certain query, use the FORCE ORDER query hint.
FORCE ORDER isn't a JOIN hint because it doesn't appear in the FROM
clause. Alternatively, you can force the query processor to use your
specified join order for all queries in the session level by using
SET FORCEPLAN ON.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<span style="color: black;"><span style="font-family: Verdana, sans-serif;">As
a rule, avoid interfering with the query optimizer's decisions. The
optimizer uses a variety of algorithms and in most cases, it comes up
with the best plan. The new join techniques we discussed in this
article are some of the improvements in SQL Server 7.0 that let you
keep a normalized data model, accommodate VLDBs, and get your desired
results faster.</span></span></div>
<br />
<div style="font-style: normal; font-weight: normal; margin-bottom: 0cm;">
<strong><em><span style="font-family: Verdana;">Outlines:</span></em></strong><br />
</div>
<ul style="text-align: left;">
<li>
<span style="font-family: Verdana;">When tuning query performance, experiment with different strategies on the same query to try to find a better strategy than the optimizer's choice. If you think that a better strategy is available, you can use join hints. </span></li>
<li><span style="font-family: Verdana;">Keep in mind, though, that after you add a join hint to the query, the query becomes static. </span></li>
</ul>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-69906959333184024422013-08-20T21:41:00.000+05:302013-08-20T21:41:04.166+05:30SQLSERVER Replication Implementation<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">There are various types of replication:</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Transactional Replication.</span><br />
<span style="font-size: large;">Transactional Replication with Updatable Subscriptions</span><br />
<span style="font-size: large;">Snapshot Replication</span><br />
<span style="font-size: large;">Merge replication</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">There are a lot of people who subscribe for magazines like readers digest or India today or get organizational news update every month in their mail box. Information about the latest organizational/national development is communicated over these email/magazines. The information is directly dropped in mail box or at the door step. We simply need to subscriber for the desired magazine or mailer. Similarly the replication feature in MS SQL Server moves the data from a remote server to our local server boxes via publications and subscriptions mechanism. There are various reasons and scenario where replications can be considered a very strong tool for data relay. We could consider replication for,</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Getting the data closer to the user, consider a server stationed in Germany and since the business also operates at Bangalore in India we need the data quite frequently. Now every time we need the data from the Products or Sales table we need to use a linked server, connect to the German Server and pull the data. This will have impacts like:</span><br />
<span style="font-size: large;">We need to rely heavily on the network connectivity each time we pull the data.</span><br />
<span style="font-size: large;">Secondly the source server will have to bear the load of data reads.</span><br />
<span style="font-size: large;">Also these ad-hoc queries might create conflicts if there is any exclusive lock on a record on account of any transaction taking place on the source data. Further to this, the ad-hoc pull queries will run for a really long time in this case eating up network bandwidth and also causing unnecessary load on the source.</span><br />
<span style="font-size: large;">And if the data is to be pulled on a regular basis this ad-hoc queries seem really out of place option.</span><br />
<span style="font-size: large;">Consider replication for removing impacts of heavy read intensive operations like report generation etc. Replication is a very good option when the desired data is simply read only and the update to the source is not intended.</span><br />
<span style="font-size: large;">Consider replication when server pulling the data intends to own the pulled data i.e. make changes to the pulled version without impacting the source. Replication provides the desired autonomy to the subscriber.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Replication traditionally takes the Publisher/Subscriber analogy. It’s quite similar to the magazine example. For any magazine there is a publisher who publishes information in the form of articles. Once the magazine (which is collection of article and is called publication) is published there needs to be a distributor who will distribute it to people like you and me who are actually the subscribers. This forms the standard of the entire Publisher/Subscriber cycle. But there could be changes in the setup like there is a publisher who also acts as distributor or there could be a distributor who is also a subscriber. The key terms are:</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><b>Article:</b> The article is the information that is going to be replicated. It could be a table, a procedure or a filtered table etc.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><b>Publisher:</b> The publisher is the database on the source server which is actually replicating the data. The publication which is collection of articles (various objects in the database) is published by the publisher.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><b>Distributor: </b>The distributor can be considered as the delivery boy who brings the publications to the subscriber. The distributor could himself be a publisher or a subscriber.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><b>Subscriber:</b> Subscriber is the end receiver of the publication who gets the data in the form of subscriptions. The changes published are propagated to all the subscribers of the publications through the distributor. The subscriber simply has to create a subscription on the publication from its end to receive the data.</span><br />
<span style="font-size: large;"><br /></span>
<b style="font-size: x-large;"><br /></b>
<b style="font-size: x-large;">Transactional Replication:</b><br />
<span style="font-size: large;"><b><br /></b></span>
<span style="font-size: large;">In the transactional replication the transactions occurring on the published articles from the publisher are forwarded on to the distributor who in turn replicates the same and commits them on the subscribers. Subscribers can use this data for read only purposes. As transactions are small items to publish the latency for transactional replication is very low. As far as the autonomy is concerned as the data is read only type each of the subscribers cannot update the data and hence there is absolutely no autonomy in this type of replication.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Suppose there is a ticket booking web site, all the tickets booked are centrally stored in the database hosted at New Delhi. There are distribution centers in every city in the country where the bookings are received and the booked ticket shipped at the addresses provided. All the tickets booked from Hyderabad needs to be shipped to the respective customers. The Hyderabad distribution center could setup a filtered (get bookings for Hyderabad only) transactional replication so that every new booking (transaction) is replicated to their center with minimal delay (almost immediately). They need a read only access to the replicated data so transactional replication fits the bill. They could dispatch the booked ticket ASAP with transactional replication setup.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Key facts of transactional replication:</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">As replication happens on a transaction, the latency of replication is very low.</span><br />
<span style="font-size: large;">The subscription is read only, hence there almost no autonomy for the subscribers.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><b>Transactional Replication with Updatable Subscriptions:</b></span><br />
<span style="font-size: large;"><b><br /></b></span>
<span style="font-size: large;">This is similar to the transactional replication with the additional capability for the subscribers to be able to update the published articles. This way there is a gain in the autonomy as the subscribers can update the existing data, the latency is maintained at the same level. In most of the scenarios this considered to be the best solution. This setup uses the two-phase commit process to keep the Publisher/Subscriber in sync. The two phase commit process uses the MSDTC so that the changes are made simultaneously at the publisher-subscribers end. So before setting up this kind of replication it’s important to have the MSTDC up and running.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><b>Snapshot Replication:</b></span><br />
<span style="font-size: large;">Snapshot replications as the distribution method moves the entire copy of published articles through the distributor to the subscriber. This type of replication method provides the subscribers with a very high autonomy. That means that they can update or changes their local copy of subscribed data without causing any changes on the publishers data. The next time the data gets syncronized the entire snapshot gets overwritten. Latency for such configuration setup is also high because as the entire publication gets syncronized. This kind of replications mainly finds use in OLAP servers. The data for OLAP might be pulled every week or fortnight and would be readonly for reporting and analytical processing purposes.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><b>Merge Replication:</b></span><br />
<span style="font-size: large;">Merge replication allows each of the subscribers to edit their piece of subscriptions independently and at some point these changes are merged together and synced amongst all the subscribers and publisher on the whole. This seems quite complex isn’t it? It is, but with wise configuration, this setup could be a real asset as this solution provides the highest level of autonomy to each of the subscribers. This setup requires a very wise conflict resolution. Suppose a record is updated with value 10 by a subsA and the same record gets updated to 5 by subsB and also the publisher updates it to 15 now changes from both the subscribers will be merged followed by the publisher’s change. In this case the publisher’s change wins. For changes involving only the subscribers we need to have a conflict resolution in place, example it has been configured that for only subscriber’s changes SubsA wins.</span></div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-63406485555563600202013-07-27T18:11:00.000+05:302013-07-27T18:11:03.137+05:30Heard about System Database in SQL-SERVER??????????<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 18px;">A database server application such as Microsoft SQL Server 2005 uses a lot of information in order to operate. Considering the purpose of a database is to store information, it only makes sense that SQL Server dips into its own technology for storing and accessing the information required for operating in a set of its own databases. Each of the databases used plays a specific role in the operation of the SQL Server. The system databases use the same components of databases created by users with: tables, views, stored procedures, and other database objects.</span></div>
<div class="MsoNormal">
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 18px;"><br /></span></div>
<div class="MsoNormal">
<i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">System Defined Database In SQL-SERVER:</span></i></div>
<div class="MsoNormal">
</div>
<ul style="text-align: left;">
<li><i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">Master</span></i></li>
<li><i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">Model</span></i></li>
<li><i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">MSDB</span></i></li>
<li><i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">Resource</span></i></li>
<li><i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">Distribution</span></i></li>
<li><i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">TempDB</span></i></li>
<li><i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">ReportServerDB</span></i></li>
<li><i><span style="font-family: Verdana, sans-serif; font-size: 10pt;">ReportServerTempDB</span></i></li>
</ul>
<div>
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><i><br /></i></span></div>
<ul style="text-align: left;">
<li><b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Master</span></b></li>
</ul>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Purpose - Core system database to manage the SQL Server
instance. In SQL Server 2005, the Master database is the logical
repository for the system objects residing in the sys schema. In
SQL Server 2000 and previous editions of SQL Server, the Master database
physically stored all of the system objects.</span><div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Prominent Functionality</span><ul style="text-align: left;" type="disc"><ul type="circle">
<ul type="square">
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Per instance configurations<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Databases residing on the instance<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Files for each database<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Logins<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Linked\Remote servers<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Endpoints<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">The first database in the SQL Server startup process<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div class="MsoNormal" style="margin-left: 36pt;">
<br /></div>
<ul type="disc">
<li class="MsoNormal"><b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Resource</span></b></li>
</ul>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Purpose - The Resource database is responsible for physically
storing all of the SQL Server 2005 system objects. This database has been
created to improve the upgrade and rollback of SQL Server system objects
with the ability to overwrite only this database.</span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Prominent Functionality</span><ul style="text-align: left;" type="disc"><ul type="circle">
<ul type="square">
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">System object definition<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Introduced in SQL Server 2005 to help manage the upgrade and
rollback of system objects<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Prior to SQL Server 2005 the system related data was stored in
the master database<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Read-only database that is not accessible via the SQL Server 2005
tool set<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">The database ID for the Resource database is 32767<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">The Resource database does not have an entry in
master.sys.databases.<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div class="MsoNormal">
<br /></div>
<ul type="disc">
<li class="MsoNormal"><b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">TempDB</span></b></li>
</ul>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Purpose - Temporary database to store temporary tables (#temptable
or ##temptable), table variables, cursors, work tables, row versioning,
create or rebuild indexes sorted in TempDB, etc. Each time the SQL Server
instance is restarted all objects in this database are destroyed, so
permanent objects cannot be created in this database.</span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Prominent Functionality</span><ul type="disc"><ul type="circle">
<ul type="square">
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Manage temporary objects listed in the purpose above<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Each time a SQL Server instance is rebooted, the TempDB database
is reset to its original state.<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div class="MsoNormal">
<br /></div>
<ul type="disc">
<li class="MsoNormal"><b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Model</span></b></li>
</ul>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Purpose - Template database for all user defined databases.</span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Prominent Functionality</span><ul style="text-align: left;" type="disc"><ul type="circle">
<ul type="square">
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Objects<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Columns<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Users<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">User defined tables, stored procedures, user defined data types,
etc can be created in the Model database and will exist in all future
user defined databases<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">The database configurations such as the recovery model for the
Model database are applied to future user defined databases.<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div class="MsoNormal">
<br /></div>
<ul style="text-align: left;" type="disc">
<li><b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">MSDB</span></b></li>
</ul>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Purpose - Primary database to manage the SQL Server Agent
configurations</span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Prominent Functionality</span><ul style="text-align: left;" type="disc"><ul type="circle">
<ul type="square">
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">SQL Server Agent Jobs, Operators and Alerts<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">DTS Package storage in SQL Server 7.0 and 2000<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">SSIS Package storage in SQL Server 2005.<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div class="MsoNormal">
<br /></div>
<ul style="text-align: left;" type="disc">
<li class="MsoNormal"><b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Distribution</span></b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><o:p></o:p></span></li>
</ul>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Purpose - Primary data to support SQL Server replication</span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Prominent Functionality</span><ul style="text-align: left;" type="disc"><ul type="circle">
<ul type="square">
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Database responsible for the replication meta data<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Supports the data for transaction replication between the
publisher and subscriber(s).<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div class="MsoNormal">
<br /></div>
<ul style="text-align: left;" type="disc">
<li class="MsoNormal"><b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">ReportServer</span></b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><o:p></o:p></span></li>
</ul>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Purpose - Primary database for Reporting Services to store the
meta data and object definitions</span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Prominent Functionality</span><ul style="text-align: left;" type="disc"><ul type="circle">
<ul type="square">
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Reports security<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Job schedules and running jobs<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Report notifications<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Report execution history.<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<div class="MsoNormal">
<br /></div>
<ul style="text-align: left;" type="disc">
<li class="MsoNormal"><b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">ReportServerTempDB</span></b><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><o:p></o:p></span></li>
</ul>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Purpose - Temporary storage for Reporting Services.</span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: 10pt;">Prominent Functionality</span><ul style="text-align: left;" type="disc"><ul type="circle">
<ul type="square">
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Session information<o:p></o:p></span></li>
<li class="MsoNormal"><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Cache.<o:p></o:p></span></li>
</ul>
</ul>
</ul>
<br />
<div class="MsoNormal">
<br /></div>
</div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-36193354526571535082013-07-26T21:56:00.001+05:302013-07-26T21:56:28.656+05:30B I A u c t i o n: MDF, NDF and LDF files in SQL-SERVER<a href="http://gouravsaxena.blogspot.com/2013/07/mdf-ndf-and-ldf-files-in-sql-server.html?spref=bl">B I A u c t i o n: MDF, NDF and LDF files in SQL-SERVER</a>: If you have experience with SQL Server, you may have heard the terms MDF, NDF and LDF already. Those are the commonly used file name extens...Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-47015377703100360082013-07-26T21:08:00.000+05:302013-07-26T21:08:02.326+05:30MDF, NDF and LDF files in SQL-SERVER<div dir="ltr" style="text-align: left;" trbidi="on">
If you have experience with SQL Server, you may have heard the terms MDF, NDF and LDF already. Those are the commonly used file name extensions in SQL Server for specify the Primary Data files, Secondary data files and Log files respectively.<br />
<br />
In SQL Server, data and log information are never stored in the same file. Furthermore, those individual files (primary data, secondary data and log) are used by only one server. However, below is a brief description about the three file types in SQL Server.<br />
<br />
<b>Primary data files (MDF):</b><br />
Primary data file is the starting point of the database. It points to the other files in the database. Therefore, every database has one primary data file. Also, all the data in the database objects (tables, stored procedures, views, triggers.. etc.) are stored in the primary data files. The recommended and the most common file name extension for primary data files is .mdf.<br />
<br />
<b>Secondary data files (NDF):</b><br />
You can only have one primary data file for a database. Rest made up by secondary data files. But its not necessary to have a secondary data file. Therefore some databases may not have any secondary data file. But its also possible to have multiple secondary data files for a single database. .ndf is usually recommended to denote secondary data files. It’s also possible to store the secondary data file in a separate physical drive than the one which primary data file is stored.<br />
<br />
<b>Log files ( LDF ):</b><br />
Log files in SQL Server databases hold all the log information. Those information can be later used to recover the database. Size of the log file is determined by the logging level you have set up on the database. There must be at least one log file for each database. But it is also possible to have more than one log file for a single database. The recommended file name extension for log files is .ldf.<br />
<br />
Locations of all the files in a database (primary, secondary and log files) are stored in the primary file of the database and in the master database. When the SQL Server Database Engine want to use the file location information of those files, it retrieves the data from the master database.</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-70197268220478008152013-07-25T18:59:00.000+05:302013-07-25T18:59:48.526+05:30DATABASE RECOVERY MODEL IN SQL-SERVER 2008<div dir="ltr" style="text-align: left;" trbidi="on">
There are three methods available for database recovery model:<br />
<ul style="text-align: left;">
<li>Simple Recovery.</li>
</ul>
<ul style="text-align: left;">
<li>Full Recovery.</li>
</ul>
<ul style="text-align: left;">
<li>Bulk Logged.</li>
</ul>
<br />
<b>Recovery Model:</b><br />
<br />
Every SQL Server database consists of at least two physical files on the hard drive, an MDF file and an LDF file. The MDF file contains all of the actual data being stored. The LDF file, or Log file, contains a record of each data change. This logging of each data change makes undo operations and “point in time” backups possible. A point in time backup gives us the ability to restore a database to literally any point in time we wish, yesterday, two hours ago, or two minutes ago. By default, both the MDF and LDF files are located in the SQL Server Server\Version\MSSQL\Data directory on the hard drive.<br />
<br />
This recorded history doesn't remain in the transition log forever though. If it did, the size of the log file over time would become huge and unmanageable. Instead, the log file is periodically cleared, or “Truncated”. The amount of time the log file is allowed to grow before being truncated is determined by the database “Recovery Model”.<br />
<br />
A “Recovery Model” determines how a database’s transaction logs are maintained. Each database has its own Recovery Model setting. Meaning a SQL Server can contain multiple databases, each with its own Recovery Model, separate of how other database are configured.<br />
<br />
<b><br /></b>
<b>Simple Recovery:</b><br />
<br />
When a database is set to Simple Recovery, it means log files are not kept permanently. So when a TSQL statement executes, changes are written to the data and log files, but they are not kept in the log file for long before being Truncated (cleared). This truncating is caused by SQL Server issuing a “Check Point”.<br />
<br />
What this Truncating of the log file means to us is that the log file cannot be used for a database Restore. This is because we are not in control of when the log is cleared, SQL Servers checkpoints are. Therefore, when a database is set to Simple Recovery, the only backup type available is a Full Backup.<br />
<br />
A Full backup restores all your data, you can’t tell it to restore all my data at a specific point in time. For point in time, we need a transaction log.<br />
<br />
<b><br /></b>
<b>Full Recovery:</b><br />
<br />
Not to be confused with “Full Backups”, Full Recovery refers to a database that keeps a transaction log file history. Because the log file will now be an integral part of the database, thought must be taken as to its creation. When creating a database, there are two file options to consider, “Initial Size”, and “Auto-growth”, both of which can be configured from the SQL Server Management Studios Database Properties screen. Under the Files page, there are settings for both Size and Growth.<br />
<br />
If a database is set to Full Recovery, then the history of each data change operation is saved. If the log file files up or runs out of physical disk space, the database will stop working. This risk can be mitigated by SQL Server’s ability to Auto Grow the log file. To enable Auto Grow, give the log file an initial size in Megabytes. Next, select the “Autogrowth” check box and enter a growth size. The max size of the log file can also be restricted or left to grow indefinably. Without auto-growth, a fixed size for the log file has to be guessed. If the log file fills up, the database stops working. Auto-growth avoids this, but comes with some added overhead. When SQL Server increases the log file size dynamically, it can be resource (memory, CPU, and hard disk) intensive, and database performance may suffer while this happens. Once the log has been adjusted, performance will return to normal.<br />
<br />
<br />
<b>Bulk Logged:</b><br />
<br />
In bulk logged mode, most transactions are stored in the transaction log, but some bulk operations such as bulk loads or index creation are not logged.<br />
<br />
It is full mode with one difference; bulk load operations are minimally-logged. The log backup and truncation methods apply here just as they did in full mode so nothing really changes. This isn’t a mode you’ll actually run your database in though. If you have a need to backup your logs for full recovery, you’ll run in full mode, and only switch to this mode when you need to do large bulk load operations. Switching to bulk mode for these operations allows you to minimally log them to not only greatly reduce the size of the log, but also to speed the operation.<br />
<br />
<br />
<span id="goog_325697927"></span><span id="goog_325697928"></span><br /></div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-92196033838478083522013-07-24T18:23:00.002+05:302013-07-24T18:23:58.365+05:30* * * * * TYPES OF BACKUP IN SQL-SERVER 2008 * * * * *<div dir="ltr" style="text-align: left;" trbidi="on">
<b style="color: #351c75; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; line-height: 17.98611068725586px;">* * * TYPES OF BACKUP IN SQL-SERVER 200</b><b style="color: #351c75; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; line-height: 17.98611068725586px;">8 * * * </b><br />
<br />
<br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;">Backup and Restore are very interesting concepts and one should be very much with the concept if you are dealing with production database. One never knows when a natural disaster or user error will surface and the first thing everybody wants is to get back on point in time when things were all fine. Well, in this article I have attempted to answer a few of the common questions related to Backup methodology.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">1. Full Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">2. Differential Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">3. Transaction Log Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">4.File and file group backup</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">5. Partial Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">6. Copy-Only Backups.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;"></span><br />
<a name='more'></a><span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">1. Full Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">A full backup captures the entire database, including part of the transaction log, so the database may be completely restored to a consistent state at the point in time when the full backup completed. Any uncommitted transactions that were open at the time the backup completed will be rolled back in the event of a restore. The full backup also serves as a base for subsequent differential and log backups. You can't take differential or log backups on a database if you have never taken a full backup. Typically, you will take a full backup once a day if the database size is within reason, and then supplement with transaction log backups throughout the day. If the database is too large to create daily backups in a timely fashion, you can take less frequent full backups, perhaps on a weekly basis, and then supplement with differential backups throughout the week. No matter what strategy you choose, it all begins with a full backup of the database.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">SQL Server only backs up the data pages in the database that have currently been used, so the full backup will generally be smaller than the size of the database.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">2. Differential Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">A differential backup captures all changes that have occurred in the database since the last full backup. The differential backup uses a bitmap page that contains a bit for every extent to keep track of the changes. The bit is set to 1 in the bitmap page for each changed extent since the last full backup referred to as the differential base. Each subsequent differential backup following a full backup contains all changes made since the last full backup, not just the changes made since the last differential. This means that over time, the differential backup can become as large as the full backup itself. In order to benefit from the speed advantage and space savings of differential backups, you should make sure to schedule your full backups in short enough intervals to serve as a new differential base, so the differential backup remains significantly smaller than the full backup.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">3. Transaction Log Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">If you are using the full or the bulk-logged recovery model you must schedule regular transaction log backups. Routine transaction log backups not only provide the highest level of data protection, they also truncate the inactive portions of the log and enable you to reuse the log space for new transactions. If you never back up your transaction logs, the logs will never be truncated and will ultimately grow out of control. Beginning with SQL Server 2005, you can now make concurrent full database backups and transaction log backups. In previous versions, the transaction log backup would wait for the full backup to complete before proceeding. You cannot make transaction log backups using the simple recovery model because SQL Server automatically truncates the log on checkpoint.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">Each transaction log backup only contains the new log records that were not backed up in the previous transaction log backup. A succession of uninterrupted transaction log backups forms a log chain that allows you to restore to a point in time within the log chain. SQL Server assigns each transaction log backup a log sequence number (LSN) that it uses to maintain the log chain. Once the log chain is broken for any reason, such as a missing backup file or data corruption, you cannot restore any further transactions in the chain until you take a full or differential database backup to serve as a new base for the chain.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">4. File Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">File backups allow you to create a backup that contains individual files or filegroups. File backups give you the flexibility to take backups of large databases based on usage patterns. For example, you may have a set of tables that is only updated once a month in one filegroup and frequently updated tables in another. You may also want to use file backups if you have multiple filegroups on separate disks. If a single disk fails, you will only need to restore the file backup for files contained on a single disk instead of the entire database.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">Unless your database is in Simple mode, you also need to make sure you are backing up the transaction log when working with file backups. In order to completely restore a database using file backups, you must have the appropriate transaction log backups as well. All of the file backups plus the transaction log backups taken since the first file backup are equivalent to a full backup. You can also create a differential file backup to increase recovery time that will only contain the changed extents since the last full file backup.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">5. Copy-Only Backups</span><br />
<div style="text-align: left;">
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span></div>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">You can create a copy-only backup to perform a full or transaction log backup; this is independent of the normal backup sequence that is maintained using standard backup operations. Copy-only backups were introduced in SQL Server 2005 to enable you to backup a database without interfering with the normal backup and restore routine. For example, you cannot use a copy-only full backup as a differential base because the differential backup ignores the fact that the copy-only backup was made, and the differential is based on the last full backup that was made without using the copy-only option. A transaction log copy-only backup allows you to create a backup of the transaction log without breaking the log sequence number or truncating the transaction log. As with any other transaction log backup, you cannot create a copy-only log backup of a database using the simple recovery model. </span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">6. Partial Backups</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">Partial backups were introduced in SQL Server 2005 to provide an alternative way to back up large databases that contain read-only filegroups. Partial backups are similar to full backups except that they are designed to back up only the primary filegroup, any read/write filegroups, and any read-only filegroups that are optionally specified. If you create a partial backup of a read-only database, only the primary filegroup will be included in the backup.</span><br />
<span style="color: #0b5394; font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #0b5394; font-family: Verdana, sans-serif;">Just as with full backups, you can also create a differential partial backup that uses a partial backup as a differential base. The differential partial backup will then only contain the changed extents since the last partial backup. If your last partial backup included any optional read/write filegroups, you must also include them in the differential partial backup. You cannot create a differential partial backup that uses a full backup as a differential base.</span><br />
<div>
<br /></div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com2tag:blogger.com,1999:blog-8472953866166721352.post-54373915836311402492013-07-01T21:08:00.005+05:302013-07-01T21:08:30.704+05:30Remove Delete Duplicate Records Or Rows-Sql Server<span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">This post explains how to </span><b style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">Remove Delete Duplicate Records Or Rows From Ms Sql Server Database Table.</b><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">Different methods of deleting duplicate records.</span><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br />
<div class="separator" style="background-color: #f4f3e8; clear: both; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYEWUjYTALj10qHTV70OJT0P8zdzEJdCh4dlzEdvRXP1e_839XtlMZW1sOlJZw4bF5oDqU_iCi6Q7efKqTARVB3UP9BhGvDhnB9JSTShJqATCeQiCSAZGYGO5u9fZPOv70UpXAWXxUM16C/s1600/DeleteDuplicateRecordsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Delete Duplicate Records In Sql Server" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYEWUjYTALj10qHTV70OJT0P8zdzEJdCh4dlzEdvRXP1e_839XtlMZW1sOlJZw4bF5oDqU_iCi6Q7efKqTARVB3UP9BhGvDhnB9JSTShJqATCeQiCSAZGYGO5u9fZPOv70UpXAWXxUM16C/s320/DeleteDuplicateRecordsInSql.PNG" style="border-width: 0px;" /></a></div>
<span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">I am using Employees table with FirstName and Department columns.</span><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCIVpTEmOMCoS4UOrWvctQwTseX0eOwlMbj5yKgEbcGikqU2FX2YqhmBABty4Mry00xIcuJg1DbqVAfLy1SHYshQuNF1uQsSYDlZCYh0hgt4ipxyZcbL8xI1LZNXaK1ZvJDHedCTb_Zwd/s1600/RemoveDuplicateRecordsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Remove Duplicate Rows In Sql" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCIVpTEmOMCoS4UOrWvctQwTseX0eOwlMbj5yKgEbcGikqU2FX2YqhmBABty4Mry00xIcuJg1DbqVAfLy1SHYshQuNF1uQsSYDlZCYh0hgt4ipxyZcbL8xI1LZNXaK1ZvJDHedCTb_Zwd/s320/RemoveDuplicateRecordsInSql.PNG" style="border-width: 0px;" /></a></div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><b>First Method.</b></span><br />
<h3>
Delete duplicate records/rows by creating identity column.</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />duplicate records in table looks like shown in first image.<br /><br />First of all we need to <b>create a identity column</b> in our table by<b>using code mentioned below.</b><br /><br />And table will look like image on the left.<br /><br /><br /></span><br />
<div class="syntaxhighlighter" id="highlighter_963191" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 14px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">ALTER TABLE dbo.Employees ADD ID INT IDENTITY(1,1)</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /><b>Now write this query to delete duplicate rows.</b><br /></span><br />
<div class="syntaxhighlighter" id="highlighter_202946" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 42px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE FROM dbo.Employees</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">WHERE ID NOT IN (SELECT MIN(ID)</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">FROM dbo.Employees GROUP BY FirstName,Department)</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />This should remove all duplicate records from table.<br /><br /><br /><b>Second Method.</b></span><br />
<h3>
Delete duplicate records using Row_Number()</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />If you do not want to make any changes in table design or don't want to create identity column on table then you can remove duplicate records <b>using Row_Number in sql server 2005 onwards</b>.<br /><br />for this write below mentioned code and execute.<br /></span><br />
<div class="syntaxhighlighter" id="highlighter_419153" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 112px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">WITH DuplicateRecords AS</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">(</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">SELECT *,row_number() OVER(PARTITION BY FirstName,Department ORDER BY </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">4</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">5</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">FirstName) </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">6</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">AS RowNumber FROM dbo.Employees</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">7</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">)</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">8</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE FROM DuplicateRecords WHERE RowNumber>1</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />This should remove all duplicate records from table.<br /><br /><br /><b>Third Method.</b></span><br />
<h3>
Remove duplicate rows/Records using temporary table</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />Use below mentioned code to delete duplicates by moving them to temporary table using DISTINCT.<br /></span><br />
<div class="syntaxhighlighter" id="highlighter_121971" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 126px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">SELECT DISTINCT * INTO TempTable FROM dbo.Employees</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">GROUP BY FirstName,Department</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">HAVING COUNT(FirstName) > 1</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">4</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">5</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE dbo.Employees WHERE FirstName</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">6</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">IN (SELECT FirstName FROM TempTable)</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">7</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">8</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">INSERT dbo.Employees SELECT * FROM TempTable</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">9</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DROP TABLE TempTable</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKCjLjQ-fjgwiOGu03CZT7XFTGeAtRMMJV4XVx_XrfV-tJISYMR1P8R8pXsBKnvdT5ZuZOY85pTVRH5vifsDm6yWD9GCqWi-M6KtsCzEMW0IyZ9Ft5GzXvXgG65I-HVDAiAEHYzNACwlR/s1600/RemoveDuplicateRowsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Remove delete Duplicate Rows In Sql" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKCjLjQ-fjgwiOGu03CZT7XFTGeAtRMMJV4XVx_XrfV-tJISYMR1P8R8pXsBKnvdT5ZuZOY85pTVRH5vifsDm6yWD9GCqWi-M6KtsCzEMW0IyZ9Ft5GzXvXgG65I-HVDAiAEHYzNACwlR/s320/RemoveDuplicateRowsInSql.PNG" style="border-width: 0px;" /></a></div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-20791657610131470902013-07-01T21:08:00.003+05:302013-07-01T21:08:24.724+05:30Remove Delete Duplicate Records Or Rows-Sql Server<span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">This post explains how to </span><b style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">Remove Delete Duplicate Records Or Rows From Ms Sql Server Database Table.</b><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">Different methods of deleting duplicate records.</span><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br />
<div class="separator" style="background-color: #f4f3e8; clear: both; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYEWUjYTALj10qHTV70OJT0P8zdzEJdCh4dlzEdvRXP1e_839XtlMZW1sOlJZw4bF5oDqU_iCi6Q7efKqTARVB3UP9BhGvDhnB9JSTShJqATCeQiCSAZGYGO5u9fZPOv70UpXAWXxUM16C/s1600/DeleteDuplicateRecordsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Delete Duplicate Records In Sql Server" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYEWUjYTALj10qHTV70OJT0P8zdzEJdCh4dlzEdvRXP1e_839XtlMZW1sOlJZw4bF5oDqU_iCi6Q7efKqTARVB3UP9BhGvDhnB9JSTShJqATCeQiCSAZGYGO5u9fZPOv70UpXAWXxUM16C/s320/DeleteDuplicateRecordsInSql.PNG" style="border-width: 0px;" /></a></div>
<span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">I am using Employees table with FirstName and Department columns.</span><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCIVpTEmOMCoS4UOrWvctQwTseX0eOwlMbj5yKgEbcGikqU2FX2YqhmBABty4Mry00xIcuJg1DbqVAfLy1SHYshQuNF1uQsSYDlZCYh0hgt4ipxyZcbL8xI1LZNXaK1ZvJDHedCTb_Zwd/s1600/RemoveDuplicateRecordsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Remove Duplicate Rows In Sql" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCIVpTEmOMCoS4UOrWvctQwTseX0eOwlMbj5yKgEbcGikqU2FX2YqhmBABty4Mry00xIcuJg1DbqVAfLy1SHYshQuNF1uQsSYDlZCYh0hgt4ipxyZcbL8xI1LZNXaK1ZvJDHedCTb_Zwd/s320/RemoveDuplicateRecordsInSql.PNG" style="border-width: 0px;" /></a></div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><b>First Method.</b></span><br />
<h3>
Delete duplicate records/rows by creating identity column.</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />duplicate records in table looks like shown in first image.<br /><br />First of all we need to <b>create a identity column</b> in our table by<b>using code mentioned below.</b><br /><br />And table will look like image on the left.<br /><br /><br /></span><br />
<div class="syntaxhighlighter" id="highlighter_963191" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 14px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">ALTER TABLE dbo.Employees ADD ID INT IDENTITY(1,1)</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /><b>Now write this query to delete duplicate rows.</b><br /></span><br />
<div class="syntaxhighlighter" id="highlighter_202946" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 42px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE FROM dbo.Employees</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">WHERE ID NOT IN (SELECT MIN(ID)</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">FROM dbo.Employees GROUP BY FirstName,Department)</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />This should remove all duplicate records from table.<br /><br /><br /><b>Second Method.</b></span><br />
<h3>
Delete duplicate records using Row_Number()</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />If you do not want to make any changes in table design or don't want to create identity column on table then you can remove duplicate records <b>using Row_Number in sql server 2005 onwards</b>.<br /><br />for this write below mentioned code and execute.<br /></span><br />
<div class="syntaxhighlighter" id="highlighter_419153" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 112px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">WITH DuplicateRecords AS</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">(</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">SELECT *,row_number() OVER(PARTITION BY FirstName,Department ORDER BY </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">4</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">5</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">FirstName) </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">6</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">AS RowNumber FROM dbo.Employees</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">7</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">)</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">8</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE FROM DuplicateRecords WHERE RowNumber>1</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />This should remove all duplicate records from table.<br /><br /><br /><b>Third Method.</b></span><br />
<h3>
Remove duplicate rows/Records using temporary table</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />Use below mentioned code to delete duplicates by moving them to temporary table using DISTINCT.<br /></span><br />
<div class="syntaxhighlighter" id="highlighter_121971" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 126px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">SELECT DISTINCT * INTO TempTable FROM dbo.Employees</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">GROUP BY FirstName,Department</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">HAVING COUNT(FirstName) > 1</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">4</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">5</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE dbo.Employees WHERE FirstName</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">6</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">IN (SELECT FirstName FROM TempTable)</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">7</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">8</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">INSERT dbo.Employees SELECT * FROM TempTable</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">9</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DROP TABLE TempTable</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKCjLjQ-fjgwiOGu03CZT7XFTGeAtRMMJV4XVx_XrfV-tJISYMR1P8R8pXsBKnvdT5ZuZOY85pTVRH5vifsDm6yWD9GCqWi-M6KtsCzEMW0IyZ9Ft5GzXvXgG65I-HVDAiAEHYzNACwlR/s1600/RemoveDuplicateRowsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Remove delete Duplicate Rows In Sql" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKCjLjQ-fjgwiOGu03CZT7XFTGeAtRMMJV4XVx_XrfV-tJISYMR1P8R8pXsBKnvdT5ZuZOY85pTVRH5vifsDm6yWD9GCqWi-M6KtsCzEMW0IyZ9Ft5GzXvXgG65I-HVDAiAEHYzNACwlR/s320/RemoveDuplicateRowsInSql.PNG" style="border-width: 0px;" /></a></div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-73251041945557842022013-07-01T21:08:00.001+05:302013-07-01T21:08:02.778+05:30Remove Delete Duplicate Records Or Rows-Sql Server<span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">This post explains how to </span><b style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">Remove Delete Duplicate Records Or Rows From Ms Sql Server Database Table.</b><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">Different methods of deleting duplicate records.</span><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br />
<div class="separator" style="background-color: #f4f3e8; clear: both; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYEWUjYTALj10qHTV70OJT0P8zdzEJdCh4dlzEdvRXP1e_839XtlMZW1sOlJZw4bF5oDqU_iCi6Q7efKqTARVB3UP9BhGvDhnB9JSTShJqATCeQiCSAZGYGO5u9fZPOv70UpXAWXxUM16C/s1600/DeleteDuplicateRecordsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Delete Duplicate Records In Sql Server" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYEWUjYTALj10qHTV70OJT0P8zdzEJdCh4dlzEdvRXP1e_839XtlMZW1sOlJZw4bF5oDqU_iCi6Q7efKqTARVB3UP9BhGvDhnB9JSTShJqATCeQiCSAZGYGO5u9fZPOv70UpXAWXxUM16C/s320/DeleteDuplicateRecordsInSql.PNG" style="border-width: 0px;" /></a></div>
<span style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;">I am using Employees table with FirstName and Department columns.</span><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><br style="background-color: #f4f3e8; color: #555555; font-family: Arial, Helvetica, sans-serif; font-size: 12px;" /><span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCIVpTEmOMCoS4UOrWvctQwTseX0eOwlMbj5yKgEbcGikqU2FX2YqhmBABty4Mry00xIcuJg1DbqVAfLy1SHYshQuNF1uQsSYDlZCYh0hgt4ipxyZcbL8xI1LZNXaK1ZvJDHedCTb_Zwd/s1600/RemoveDuplicateRecordsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Remove Duplicate Rows In Sql" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCIVpTEmOMCoS4UOrWvctQwTseX0eOwlMbj5yKgEbcGikqU2FX2YqhmBABty4Mry00xIcuJg1DbqVAfLy1SHYshQuNF1uQsSYDlZCYh0hgt4ipxyZcbL8xI1LZNXaK1ZvJDHedCTb_Zwd/s320/RemoveDuplicateRecordsInSql.PNG" style="border-width: 0px;" /></a></div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><b>First Method.</b></span><br />
<h3>
Delete duplicate records/rows by creating identity column.</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />duplicate records in table looks like shown in first image.<br /><br />First of all we need to <b>create a identity column</b> in our table by<b>using code mentioned below.</b><br /><br />And table will look like image on the left.<br /><br /><br /></span><br />
<div class="syntaxhighlighter" id="highlighter_963191" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 14px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">ALTER TABLE dbo.Employees ADD ID INT IDENTITY(1,1)</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /><b>Now write this query to delete duplicate rows.</b><br /></span><br />
<div class="syntaxhighlighter" id="highlighter_202946" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 42px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE FROM dbo.Employees</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">WHERE ID NOT IN (SELECT MIN(ID)</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">FROM dbo.Employees GROUP BY FirstName,Department)</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />This should remove all duplicate records from table.<br /><br /><br /><b>Second Method.</b></span><br />
<h3>
Delete duplicate records using Row_Number()</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />If you do not want to make any changes in table design or don't want to create identity column on table then you can remove duplicate records <b>using Row_Number in sql server 2005 onwards</b>.<br /><br />for this write below mentioned code and execute.<br /></span><br />
<div class="syntaxhighlighter" id="highlighter_419153" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 112px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">WITH DuplicateRecords AS</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">(</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">SELECT *,row_number() OVER(PARTITION BY FirstName,Department ORDER BY </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">4</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">5</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">FirstName) </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">6</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">AS RowNumber FROM dbo.Employees</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">7</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">)</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">8</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE FROM DuplicateRecords WHERE RowNumber>1</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />This should remove all duplicate records from table.<br /><br /><br /><b>Third Method.</b></span><br />
<h3>
Remove duplicate rows/Records using temporary table</h3>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br />Use below mentioned code to delete duplicates by moving them to temporary table using DISTINCT.<br /></span><br />
<div class="syntaxhighlighter" id="highlighter_121971" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; line-height: 14px; margin: 1em 0px !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">
<div class="lines" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number bg" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: block !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: 126px; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: 1px; vertical-align: 0px !important; width: 3em !important;">1</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">SELECT DISTINCT * INTO TempTable FROM dbo.Employees</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">2</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">GROUP BY FirstName,Department</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">3</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">HAVING COUNT(FirstName) > 1</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">4</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">5</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DELETE dbo.Employees WHERE FirstName</code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">6</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">IN (SELECT FirstName FROM TempTable)</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">7</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="blankLine" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 1px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; white-space: pre !important; width: auto !important;"> </code></span></span></div>
<div class="line alt2" style="background-color: rgb(248, 248, 248) !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">8</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">INSERT dbo.Employees SELECT * FROM TempTable</code></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: 530px;">
<code class="number" style="background-attachment: inherit !important; background-clip: inherit !important; background-color: inherit !important; background-image: inherit !important; background-origin: inherit !important; background-size: inherit !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: 0px !important; margin: 0px !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: absolute !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: 0px !important; width: 3em !important;">9</code><span class="content" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px 0px 0px 3.3em !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto;"><span class="block" style="background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVFo6RZHU53dBnN1gpYdo69DY8S_MC7GESMY_K2lUWCYWRsCaTykngySU-zdPGpGPll3iHUAcj6TL23yMFJrpiEhz7DzMd9lS-rimPii_2KXtCvbKMkJSpcWEKagt2s0iJoA4Hse-pmEH-/s1600/wrapping.png) !important; background-position: 0px 1.2em !important; background-repeat: no-repeat no-repeat !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px 0px 0px 21px !important; position: static !important; right: auto !important; text-indent: -21px !important; top: auto !important; vertical-align: 0px !important; white-space: pre-wrap !important; width: auto;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; display: inline !important; float: none !important; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 1em; height: auto; left: auto !important; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: 0px !important; width: auto !important;">DROP TABLE TempTable</code></span></span></div>
</div>
</div>
<span class="fullpost" style="background-color: #f4f3e8; color: #555555; display: inline; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKCjLjQ-fjgwiOGu03CZT7XFTGeAtRMMJV4XVx_XrfV-tJISYMR1P8R8pXsBKnvdT5ZuZOY85pTVRH5vifsDm6yWD9GCqWi-M6KtsCzEMW0IyZ9Ft5GzXvXgG65I-HVDAiAEHYzNACwlR/s1600/RemoveDuplicateRowsInSql.PNG" imageanchor="1" style="clear: left; color: #b30000; float: left; margin-bottom: 1em; margin-right: 1em; outline: none; text-decoration: none;" target="_blank"><img alt="Remove delete Duplicate Rows In Sql" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKCjLjQ-fjgwiOGu03CZT7XFTGeAtRMMJV4XVx_XrfV-tJISYMR1P8R8pXsBKnvdT5ZuZOY85pTVRH5vifsDm6yWD9GCqWi-M6KtsCzEMW0IyZ9Ft5GzXvXgG65I-HVDAiAEHYzNACwlR/s320/RemoveDuplicateRowsInSql.PNG" style="border-width: 0px;" /></a></div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-14901094725845803262013-06-19T00:56:00.001+05:302013-06-19T00:59:39.870+05:30SQL SERVER – Introduction to JOINs – Basic of JOINs<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw2n0g_f9lxfQz4NuzMSvuYSw2iWChJKC6VdcUOBqW97aS4jv9CZAcp7xX6FygDX9EWmNwE8TT4BkiUfIe9l42LPtYRDDUorapizWo478Sc0MhlTo5YF35i6o_rbo3S-PADu14dSvayDKh/s1600/sqljoins2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw2n0g_f9lxfQz4NuzMSvuYSw2iWChJKC6VdcUOBqW97aS4jv9CZAcp7xX6FygDX9EWmNwE8TT4BkiUfIe9l42LPtYRDDUorapizWo478Sc0MhlTo5YF35i6o_rbo3S-PADu14dSvayDKh/s400/sqljoins2.png" width="400" /></a></div>
<br />
<br />
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";">There are four types of Joins in
SQL-SERVER: <br />
1. Inner Join.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><br />
2. Outer Join<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.5in;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><br />
a. Left Outer Join.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.5in;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><br />
b. Right Outer Join.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.5in;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><br />
c. Full Outer Join.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";">3. Cross Join.<br />
<br />
4. Self Join.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="background: #F9F9F9; line-height: 17.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-outline-level: 2; text-align: justify;">
<b><span style="color: #363636; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Inner
Join<o:p></o:p></span></b></div>
<div class="MsoNormal" style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";">Inner join returns only those records/rows that match/exists in
both the tables<o:p></o:p></span></div>
<div class="MsoNormal" style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="background: #F9F9F9; line-height: 17.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-outline-level: 2; text-align: justify;">
<b><span style="color: #363636; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Outer
Join<o:p></o:p></span></b></div>
<div class="MsoNormal" style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";">We have three types of Outer Join.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"> </span><b><span style="color: #363636; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";">Left Outer Join<o:p></o:p></span></b></div>
<div class="MsoNormal" style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5pt; margin-right: 0in; margin-top: 0in; text-align: justify;">
<span style="color: #161616; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";">Left outer join returns all
records/rows from left table and from right table returns only matched records.
If there are no columns matching in the right table, it returns NULL values.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5pt; margin-right: 0in; margin-top: 0in; text-align: justify; text-indent: 34.5pt;">
<b><span style="color: #363636; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: Arial;">Right Outer Join<o:p></o:p></span></b></div>
<div style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5pt; margin-right: 0in; margin-top: 0in; text-align: justify;">
<span style="color: #161616; font-family: "Arial","sans-serif"; font-size: 10.0pt;">Right
outer join returns all records/rows from right table and from left table
returns only matched records. If there are no columns matching in the left
table, it returns NULL values.<o:p></o:p></span></div>
<h2 style="background: #F9F9F9; line-height: 17.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5pt; margin-right: 0in; margin-top: 0in; text-align: justify; text-indent: 34.5pt;">
<span style="color: #363636; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: Arial;">Full Outer Join<o:p></o:p></span></h2>
<div style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5pt; margin-right: 0in; margin-top: 0in; text-align: justify;">
<span style="color: #161616; font-family: "Arial","sans-serif"; font-size: 10.0pt;">Full
outer join combines left outer join and right outer join. This join returns all
records/rows from both the tables. If there are no columns matching in the both
tables, it returns NULL values.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<h2 style="background: #F9F9F9; line-height: 17.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5pt; margin-right: 0in; margin-top: 0in; text-align: justify;">
<span style="color: #363636; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: Arial;">Cross Join<o:p></o:p></span></h2>
<div style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5pt; margin-right: 0in; margin-top: 0in; text-align: justify;">
<span style="color: #161616; font-family: "Arial","sans-serif"; font-size: 10.0pt;">Cross
join is a Cartesian join means Cartesian product of both the tables. This join
does not need any condition to join two tables. This join returns records/rows
that are multiplication of record number from both the tables means each row on
left table will related to each row of right table.<span class="apple-converted-space"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<h2 style="background: #F9F9F9; line-height: 17.25pt; margin-bottom: .0001pt; margin: 0in; text-align: justify;">
<span style="color: #363636; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: Arial;">Self Join<o:p></o:p></span></h2>
<div style="background: #F9F9F9; line-height: 18.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5pt; margin-right: 0in; margin-top: 0in; text-align: justify;">
<span style="color: #161616; font-family: "Arial","sans-serif"; font-size: 10.0pt;">Self
join is used to join a database table to itself, particularly when the table
has a Foreign key that references its own Primary Key. Basically we have only
three types of joins: Inner join, Outer join and Cross join. We use any of
these three JOINS to join a table to it. Hence Self join is not a type of Sql
join.<o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<br /></div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-76414119035134524972013-06-12T00:21:00.002+05:302013-06-12T00:21:29.763+05:30List all the database in SQL-SERVER in Different ways.<h3>
<i><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; color: #0a5786; font-family: Helvetica, sans-serif; font-size: 13.5pt; font-weight: normal;">I
personally recommend using EXEC sp_databases because it gives the same results
as other but it is self explaining.</span></i></h3>
<div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><span style="background: white; color: #0a5786; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">----SQL-SERVER
2005 Store Procedure<o:p></o:p></span></i></div>
<div class="MsoNormal">
<i><span style="background: white; color: #0a5786; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><br /></span></i></div>
<div class="MsoNormal">
<span style="background: white; color: #0070c0; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-style: italic; mso-fareast-font-family: "Times New Roman";"><b>EXEC sp_databases;<o:p></o:p></b></span></div>
<div class="MsoNormal">
<span style="background: white; color: #0070c0; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-style: italic; mso-fareast-font-family: "Times New Roman";"><b><br /></b></span></div>
<div class="MsoNormal">
<span style="background: white; color: #0070c0; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-style: italic; mso-fareast-font-family: "Times New Roman";"><b>EXEC sp_helpdb;</b><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="background: white; color: #0070c0; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-style: italic; mso-fareast-font-family: "Times New Roman";"><br /></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<i><span style="background: white; color: #0a5786; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">----SQL 2000 Method still works in SQL Server
2005<o:p></o:p></span></i></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #0070c0; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-style: italic; mso-fareast-font-family: "Times New Roman";"><b>SELECT name FROM sys.databases;<o:p></o:p></b></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #0070c0; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-style: italic; mso-fareast-font-family: "Times New Roman";"><b>SELECT name FROM sys.sysdatabases;<o:p></o:p></b></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<i><span style="background: white; color: #0a5786; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">----SQL SERVER Un-Documented Procedure<o:p></o:p></span></i></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #0070c0; font-family: "Helvetica","sans-serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-style: italic; mso-fareast-font-family: "Times New Roman";"><b>EXEC sp_msForEachDB 'PRINT
''?''';<o:p></o:p></b></span></div>
<div class="MsoNormal">
<br /></div>
</div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-37634217877059116082013-06-03T23:57:00.000+05:302013-06-03T23:57:24.130+05:30<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 class="post-name" style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 2em; font-weight: normal; line-height: 1.25; margin: 0px 0px 15px; padding: 0px;">
What Does Big Data Mean to You?</h3>
<div>
<br /></div>
<div>
<div style="background-color: white; color: #424242; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.5px; margin-top: 12px;">
<span style="font-size: x-small;">Data that is so large, so complex or collected at such a fast pace that it challenges the capabilities of traditional data management systems. Any organization looking at their current data infrastructure and seeing a significant shift the <i>volume, variety </i>or<i> velocity </i>of data is experiencing big data.</span></div>
<ul style="background-color: white; color: #424242; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.5px;">
<li><span style="font-size: x-small;">Data <i>volume</i> is growing by <b><i>10 times every 5 years</i></b>, According to a recent </span><a href="http://gigaom.files.wordpress.com/2010/05/2010-digital-universe-iview_5-4-10.pdf" style="color: #707070; outline: none; text-decoration: none;"><u><span style="font-size: x-small;">IDC report</span></u></a><span style="font-size: x-small;">, the volume of digital records is forecasted to hit 1.2M zetabytes (10<sup>21</sup> bytes) this year – and predicted to grow 44 times over the next decade.</span></li>
<li><span style="font-size: x-small;">The <i>variety </i>of data is also challenging traditional data storage technologies -- up to 85% of new data is unstructured, such as Facebook posts, tweets, photos, videos search engine queries, etc.</span></li>
<li><span style="font-size: x-small;">Finally, the <i>velocity</i> of data creates new challenges as organizations now nearly instantaneously capture vast amounts of data from websites, machine generated data like sensors on smart grids, point-of-sale devices and other sources.</span></li>
</ul>
<div style="background-color: white; color: #424242; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.5px; margin-top: 12px;">
<a href="http://blogs.technet.com/b/dataplatforminsider/archive/2013/02/08/what-does-big-data-mean-to-you.aspx" style="color: #707070; outline: none;" target="_blank" title="What does big data mean to you"><img alt="image" border="0" height="247" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-60-54-metablogapi/1586.image_5F00_18A7B589.png" style="background-image: none; border: 0px; display: block; float: none; margin-left: auto; margin-right: auto; max-width: 100%; overflow: hidden;" title="image" width="281" /></a></div>
<div style="background-color: white; color: #424242; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.5px; margin-top: 12px;">
<span style="font-size: x-small;">The real promise of big data is to enable every type of organization to harness all their data and discover insights that help them do whatever they do – better. We’re here to help with </span><a href="http://www.microsoft.com/en-us/sqlserver/solutions-technologies/business-intelligence/big-data.aspx" style="color: #707070; outline: none; text-decoration: none;"><span style="font-size: x-small;">tools and solutions</span></a><span style="font-size: x-small;"> to help make sense of all that big data – helping our customers make faster, better decisions.</span></div>
</div>
<br /></div>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0tag:blogger.com,1999:blog-8472953866166721352.post-15400437700985622092013-04-04T22:57:00.000+05:302013-04-04T22:57:00.952+05:30What is Business Intelligence<span style="font-family: Arial, Helvetica, sans-serif;">I</span><span style="font-family: Verdana, sans-serif;">t is a Technology for understanding the past and predicting future<br />It allows:</span><br />
<span style="font-family: Verdana, sans-serif;">Gathering ,Storing Accessing and Analyzing data to help business users make decisions.<br /></span><br />
<span style="font-family: Verdana, sans-serif;">It have a broad category of Application including activities of</span><br />
<span style="font-family: Verdana, sans-serif;">Decision Making System</span><br />
<span style="font-family: Verdana, sans-serif;">Query and Reporting.<br />Online Analytical Processing (OLTP).<br />Statistical Analysis, forecasting and Data Mining.</span><br />
<span id="goog_1203646041" style="font-family: Verdana, sans-serif;"></span><br />
<br />
<h3>
</h3>
Ahttp://www.blogger.com/profile/09782661018172685471noreply@blogger.com0Pune, Maharashtra, India18.5204303 73.85674369999992518.2795338 73.534020199999929 18.761326800000003 74.17946719999992