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

<channel>
	<title>Maciej Grabek &#187; SQL Search</title>
	<atom:link href="https://blog.maciejgrabek.com/tag/sql-search/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.maciejgrabek.com</link>
	<description>/* Make it See Sharp - Windows Phone, C#, .NET i nie tylko */</description>
	<lastBuildDate>Mon, 27 Oct 2014 11:18:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>SQL Search &#8211; koniec z ręcznym przeszukiwaniem struktur bazy!</title>
		<link>https://blog.maciejgrabek.com/2010/05/14/sql-search-koniec-z-recznym-przeszukiwaniem-struktur-bazy/</link>
		<comments>https://blog.maciejgrabek.com/2010/05/14/sql-search-koniec-z-recznym-przeszukiwaniem-struktur-bazy/#comments</comments>
		<pubDate>Fri, 14 May 2010 17:01:00 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Testy]]></category>
		<category><![CDATA[SQL Search]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/maciek_blog/?p=9982</guid>
		<description><![CDATA[SQL Search – narzędzie (DARMOWE) stworzone przez Red Gate pozwala nam spać spokojnie (a przynajmniej spokojniej) w momencie gdy wprowadzamy do bazy zmiany. Nie musimy już analizować różnic między wersjami bazy danych, mozolnie przeklikiwać się przez poszczególne procedury i funkcje w poszukiwaniu odwołań do wybranego przez nas pola w tabeli. Owszem, w Sql Server Management Studio mamy do dyspozycji drzewo zależności. Mamy tam procedury składowane, funkcje, tabele widoki, ale! Niestety nie możemy wyświetlić drzewa zależności dla pojedynczej kolumny. Dostając wynik zależności dotyczących tabeli [Persons].[Contats] nie wiemy tak naprawdę, która jej część jest użyta. Przyjmijmy taki oto scenariusz: Korzystamy z bazy [AdventureWorks], w niej znajduje się tabela [Person].[Contact], w niej mamy do dyspozycji następujące pola:     [ContactID]     [NameStyle]     [Title]     [FirstName]     [MiddleName]     [LastName]     [Suffix]     [EmailAddress]     [EmailPromotion]     [Phone]     [PasswordHash]     [PasswordSalt]     [AdditionalContactInfo]     [rowguid]     [ModifiedDate] Pewnego dnia ktoś, z pewnych przyczyn chce zmienić nazwę kolumny [AdditionalContactInfo] na dajmy na to [AdditionalInfo]. Mając do dyspozycji drzewo zalezności nie wiemy tak naprawdę gdzie ta kolumna jest wykorzystana. Musimy zatem sprawdzić każdą z zależności pod kątem jej wystąpienia. Dodatkowo nie dysponujemy możliwością szybkiego podglądu/przeniesienia do obiektów zależnych &#8211; musimy je ręcznie wyszukać. Z pomoca<a href="https://blog.maciejgrabek.com/2010/05/14/sql-search-koniec-z-recznym-przeszukiwaniem-struktur-bazy/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.red-gate.com/products/sql_search/index.htm" target="_blank">SQL Search</a> – narzędzie (DARMOWE) stworzone przez <a href="http://www.red-gate.com/" target="_blank">Red Gate</a> pozwala nam spać spokojnie (a przynajmniej spokojniej) w momencie gdy wprowadzamy do bazy zmiany. Nie musimy już analizować różnic między wersjami bazy danych, mozolnie przeklikiwać się przez poszczególne procedury i funkcje w poszukiwaniu odwołań do wybranego przez nas pola w tabeli. Owszem, w Sql Server Management Studio mamy do dyspozycji drzewo zależności. Mamy tam procedury składowane, funkcje, tabele widoki, ale! Niestety nie możemy wyświetlić drzewa zależności dla pojedynczej kolumny. Dostając wynik zależności dotyczących tabeli<span style="font-family: Consolas;"> [Persons].[Contats]</span> nie wiemy tak naprawdę, która jej część jest użyta.</p>
<p><a href="http://maciejgrabek.com/wp-content/uploads/2010/05/dependencies.png"><img class="alignnone size-full wp-image-10141" title="dependencies" src="http://maciejgrabek.com/wp-content/uploads/2010/05/dependencies.png" alt="" width="174" height="222" /></a><a href="http://maciejgrabek.com/wp-content/uploads/2010/05/dependencies2.png"><img class="alignnone size-full wp-image-10142" title="dependencies2" src="http://maciejgrabek.com/wp-content/uploads/2010/05/dependencies2.png" alt="" width="321" height="288" /></a><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1mVJrW0oE6YCDpZAhj4p7vYR25bAxKd6n46xEI5NDadfDX7KIzFG34JZtUh9x4AeszHHkfKnxj2RJvWKg1l4BAACdEhzNwuJevDTtAXTgKXjy2gUfB3puYfmDEBoIXX8EXvcEaKODlmPR9QZHL7CeprQ/dependencies2[2].png"></a></p>
<p>Przyjmijmy taki oto scenariusz:<br />
Korzystamy z bazy <a href="http://msftdbprodsamples.codeplex.com/releases/view/37109" target="_blank">[AdventureWorks]</a>, w niej znajduje się tabela <span style="font-family: Consolas;">[Person].[Contact]</span>, w niej mamy do dyspozycji następujące pola:<br />
 <span style="font-family: Consolas;">   [ContactID]<br />
    [NameStyle]<br />
    [Title]<br />
    [FirstName]<br />
    [MiddleName]<br />
    [LastName]<br />
    [Suffix]<br />
    [EmailAddress]<br />
    [EmailPromotion]<br />
    [Phone]<br />
    [PasswordHash]<br />
    [PasswordSalt]<br />
    [AdditionalContactInfo]<br />
    [rowguid]<br />
    [ModifiedDate]</span><span style="font-family: Conso;"> </span></p>
<p>Pewnego dnia ktoś, z pewnych przyczyn chce zmienić nazwę kolumny [AdditionalContactInfo] na dajmy na to<span style="font-family: Consolas;"> [AdditionalInfo].</span> Mając do dyspozycji drzewo zalezności nie wiemy tak naprawdę gdzie ta kolumna jest wykorzystana. Musimy zatem sprawdzić każdą z zależności pod kątem jej wystąpienia. Dodatkowo nie dysponujemy możliwością szybkiego podglądu/przeniesienia do obiektów zależnych &#8211; musimy je ręcznie wyszukać.</p>
<p>Z pomoca przychodzi <a href="http://www.red-gate.com/products/sql_search/index.htm" target="_blank">SQL Search</a>. Pierwsza praca z bazą danych wymaga zaindeksowania jej struktury. Trwa to od chwili do kilku minut, w zależności od rozległości bazy.</p>
<p><a href="http://maciejgrabek.com/wp-content/uploads/2010/05/indexing.png"><img class="alignnone size-full wp-image-10143" title="indexing" src="http://maciejgrabek.com/wp-content/uploads/2010/05/indexing.png" alt="" width="401" height="73" /></a></p>
<p><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1m0iv9WYKXiIjQYjRFTXDbF6ysE3e1og1bShYsIpDgBeWxF2iSH4i1K4NRlIhEvvvtT-JaJE3G8Gi9McMJghiuZb-YBgqUV788ZpeqwT1weQLa6XFmibNxA5h6TjfY-SK3CuEyTB_6gPVkbwzJHhUF1g/indexing[3].png"></a></p>
<ol>
<li>Integruje się on w pełni z SQL Server Management Studio nawet w wersji Express! Wystarczy skorzystać z przycisku na toolbarze, lub wcisnąć <span style="font-family: Consolas;">Alt + Ctrl + D</span>.<br />
<a href="http://maciejgrabek.com/wp-content/uploads/2010/05/integrated.png"><img class="alignnone size-full wp-image-10144" title="integrated" src="http://maciejgrabek.com/wp-content/uploads/2010/05/integrated.png" alt="" width="182" height="107" /></a><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1mswxYkwpI1HS8tisrO6TWU-wexDApp0EShB-PiSiA7ABTAiBt1Sw2igNuGvLDiesfOyB4nJUEWS8yx_tc7BOYfNlsd3ajWhtob0fy670s1osterKXXpd5yH68IiTkiUm-EIjfOO_bj6JQBOXwEJ3aMg/integrated[2].png"></a></li>
<li>Mamy możliwość doprecyzowania co nas interesuje czyli: możemy wybrać dokładne dopasowanie, typ obiektu, bazę do przeszukania oraz serwer.<br />
<img class="alignnone size-full wp-image-10145" title="match" src="http://maciejgrabek.com/wp-content/uploads/2010/05/match.png" alt="" width="384" height="109" /><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1mQNar73WPWNw0nZ5yBoo6ld0FYhvwaB5ShDE3f8LINGHZgKlrw_nmhhZbLo-YEm39As6bBf-R9hEq8XNERJN0Lt4_Zd-kxh-Nl7s18ZCqfSOedp3c2_eVlzUiEzBL3mLzvwXoR3LND9h9qG9_V3yhzw/match[16].png"></a> <a href="http://maciejgrabek.com/wp-content/uploads/2010/05/obj_type.png"><img class="alignnone size-full wp-image-10146" title="obj_type" src="http://maciejgrabek.com/wp-content/uploads/2010/05/obj_type.png" alt="" width="384" height="95" /></a><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1my2AR37CyzxjVuEJ3bIjB6MDX7usTXvfxdpfqGSTVIPjdnw1MNXZbQNjJiugm07G8VOrQ8SXoSSLqqT7y_SEwO2AfcO0ETmxcFkQDXp9RPXtLGU-Wz8SVBDYTJ6GJKrM4bjicFKKafr8vs1zaiU3NYQ/obj_type[6].png"></a>   <a href="http://maciejgrabek.com/wp-content/uploads/2010/05/dbSelect.png"><img class="alignnone size-full wp-image-10140" title="dbSelect" src="http://maciejgrabek.com/wp-content/uploads/2010/05/dbSelect.png" alt="" width="384" height="95" /></a><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1m3UiYN9qX4J4Ay6YJAF_N8416XHbuTrHV2dXwafuzzCmrlPijuXvkIeUB5HBmzQk1iYBcUU4X4aE0xyIYdi5O86e5TDWbgziBlobypwtV48Yv-nviBZOU8CVMkuubmj_ErX_dioEp9T40mXohO4Fy0A/dbSelect[3].png"></a></li>
<li>Przeszukiwanie odbywa się w sposób ciągły/dynamicznie (&#8220;as you type&#8221;). Dzięki czemu od razu widzimy wyniki naszego działania.<br />
<a href="http://maciejgrabek.com/wp-content/uploads/2010/05/result.png"><img class="alignnone size-full wp-image-10147" title="result" src="http://maciejgrabek.com/wp-content/uploads/2010/05/result.png" alt="" width="510" height="384" /></a></li>
<li>W przeciwieństwie do drzewa zależności możemy przenieść się do obiektu który wybraliśmy, dzięki czemu odpada nam kolejna część pracy, czyli mozolne przeszukiwanie.</li>
</ol>
<p>Wyniki wyszukiwania dają nam informację o sposbie dopasowania &#8211; czy jest to dopasowanie tekstu, kolumny, nazwy klumny. Dodatkowo dla przejrzystości odnaleziona fraza jest podświetlana&#8230;</p>
<p><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1mqk2FnDL5ktwSGdk68wog1Wh3tnawLQ55C-GeB9EINvFY6skOhOMEaHuIyImpySspjVSJC4c-LOSlSC9aIq6nJ0B4Gg2UashufTmqjGnE3C3Svf-P_TE8_n16BfoL0ARoaCu9d1HSRL11YqzTtI6VjQ/result_with_preview_highlighted[3].png"></a></p>
<p><a href="http://maciejgrabek.com/wp-content/uploads/2010/05/result_with_preview_highlighted.png"><img class="alignnone size-full wp-image-10148" title="result_with_preview_highlighted" src="http://maciejgrabek.com/wp-content/uploads/2010/05/result_with_preview_highlighted.png" alt="" width="458" height="346" /></a></p>
<p>Czego brakuje? Szukam, szukam, ale narazie nie znalazłem <img src="https://blog.maciejgrabek.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zachęcam do <a href="http://www.red-gate.com/products/sql_search/index.htm" target="_blank">pobrania</a> (przypomnę, że produkt jest darmowy!) i przetestowania</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2010/05/14/sql-search-koniec-z-recznym-przeszukiwaniem-struktur-bazy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
