<?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>SQL &#8211; Karl Jepertinger IT Consulting</title>
	<atom:link href="https://www.jepertinger-itconsulting.de/category/datenbanken/sql/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.jepertinger-itconsulting.de</link>
	<description>Consultant as a Service!</description>
	<lastBuildDate>Mon, 22 May 2017 17:32:37 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.1</generator>
	<item>
		<title>Azure Datawarehouse: SQL Server Management Studio Verbindung</title>
		<link>https://www.jepertinger-itconsulting.de/2017/05/22/azure-datawarehouse-sql-server-management-studio-verbindung/</link>
		
		<dc:creator><![CDATA[Karl Jepertinger]]></dc:creator>
		<pubDate>Mon, 22 May 2017 17:30:42 +0000</pubDate>
				<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">https://www.jepertinger-itconsulting.de/?p=770</guid>

					<description><![CDATA[Als erster Teil einer kleinen Serie zum Thema Azure Warehouse beschäftigte ich mich heute mit der Verbindung des SQL Server Management Studios (kurz SSMS) zum Azure Datawarehouse. Wie man grundsätzlich eine MPP Datenbank in Azure erstellt ist auf Simple Talk &#8230; <a href="https://www.jepertinger-itconsulting.de/2017/05/22/azure-datawarehouse-sql-server-management-studio-verbindung/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Als erster Teil einer kleinen Serie zum Thema Azure Warehouse beschäftigte ich mich heute mit der Verbindung des SQL Server Management Studios (kurz SSMS) zum Azure Datawarehouse.<span id="more-770"></span></p>
<p>Wie man grundsätzlich eine MPP Datenbank in Azure erstellt ist auf <a href="https://www.simple-talk.com/cloud/azure-sql-data-warehouse/" target="_blank" rel="noopener noreferrer">Simple Talk</a> bereits gut beschrieben. Seitdem hat sich zwar vieles verändert, aber das grundlegende Erstellen passt nach wie vor.</p>
<p>Als Tools zum Arbeiten mit der Datawarehouse gibt die Möglichkeit über den SQL Server  Object-Explorer in Visual Studio zu arbeiten. Diese Variante wird aus der Weboberfläche von Azure auch angeboten (&#8222;In Visual Studio öffnen&#8220;). Die Unterstützung für richtiges Arbeiten ist darin aber dürftig. Besser ist das schon vom on premise SQL Server bekannte Management Studio, dass von <a href="https://msdn.microsoft.com/de-de/library/mt238290.aspx" target="_blank" rel="noopener noreferrer">Microsoft</a> kostenlos bezogen werden kann.</p>
<p>Man verbindet sich dabei mit dem zuvor festgelegten Servernamen. Nicht zu verwechseln mit dem Namen der Datenbank, die man innerhalb des Servers definiert hat. In meinem Fall ist das &#8222;jicazuredwh.database.windows.net&#8220;. Benutzername und Passwort sind während der Installation der Datenbank angelegt worden.</p>
<p><a href="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init.jpg" rel="lightbox-0"><img loading="lazy" class="alignnone size-medium wp-image-772" src="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init-275x300.jpg" alt="" width="275" height="300" srcset="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init-275x300.jpg 275w, https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init.jpg 477w" sizes="(max-width: 275px) 100vw, 275px" /></a></p>
<p>Unter Optionen verbirgt sich noch ein wichtiger Haken.</p>
<p><a href="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_options.jpg" rel="lightbox-1"><img loading="lazy" class="alignnone size-medium wp-image-773" src="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_options-275x300.jpg" alt="" width="275" height="300" srcset="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_options-275x300.jpg 275w, https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_options.jpg 477w" sizes="(max-width: 275px) 100vw, 275px" /></a></p>
<p>Die Checkbox suggeriert, dass es möglich wäre eine unverschlüsselte Verbindung zur Cloud aufzubauen. Gerade in einem Umfeld mit vielen Nutzern wäre dies fatal.</p>
<p>Mit dem Tool <a href="https://www.wireshark.org/" target="_blank" rel="noopener noreferrer">Whireshark</a> lässt sich der Netzwerkverkehr  &#8211;  und eben auch die Anmeldung &#8211; mitprotokollieren. Auf die Anfrage des SQL Clients (Source) dass die Verschlüsselung möglich aber nicht notwendig aber möglich ist &#8230;.</p>
<p><a href="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_login_attempt.jpg" rel="lightbox-2"><img loading="lazy" class="alignnone size-medium wp-image-776" src="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_login_attempt-300x175.jpg" alt="" width="300" height="175" srcset="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_login_attempt-300x175.jpg 300w, https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_login_attempt.jpg 705w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&#8230;antwortet die Cloud, dass die Verschlüsselung für diesen Dienst sehr wohl notwendig ist. Unverschlüsselte Verbindungen sind nicht erlaubt.</p>
<p><a href="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response.jpg" rel="lightbox-3"><img loading="lazy" class="alignnone size-medium wp-image-774" src="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response-300x173.jpg" alt="" width="300" height="173" srcset="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response-300x173.jpg 300w, https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response-768x444.jpg 768w, https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response.jpg 777w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Daraufhin beginnt der Client mit der Aushandlung (Hand-Shake) für die TLS-Transport-Verschlüsselung.</p>
<p><a href="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response.jpg" rel="lightbox-3"><img loading="lazy" class="alignnone size-medium wp-image-774" src="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response-300x173.jpg" alt="" width="300" height="173" srcset="https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response-300x173.jpg 300w, https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response-768x444.jpg 768w, https://www.jepertinger-itconsulting.de/wp-content/uploads/2017/05/SSMS_connect_init_whireshark_azure_response.jpg 777w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Die Erkenntnis, dass der Client zur Verschlüsselung gezwungen wird, lässt sich nun ebenso auf alle anderen Anwendungen übertragen. Ist also in deren Connection String die Verschlüsselung nicht explizit definiert, findet sich dennoch statt.</p>
<p>Zusätzlich zum Datenbankuser und Kennwort ist an dieser Stelle noch der Login über das Microsoft Konto notwendig. Über dieses Konto kann &#8211; wie im nächsten Screenshot zu sehen &#8211; die eigene IP (die IP des DSL/Mobilfunkanschlusses oder des Corporate Networks) zur Firewall hinzugefügt werden. Nur über diese IP(s) ist nun der Zugriff auf die Datenbank möglich.</p>
<p>Ab hier müsste die Verbindung klappen. Gelegentlich kann es noch zu Fehlermeldungen kommen (wie auch schon im Link von Simple Talk moniert), diese verschwinden aber bei einem zweiten Versuch.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Die mysteriösen Fehlermeldungen des SQL Servers&#8230;</title>
		<link>https://www.jepertinger-itconsulting.de/2011/03/10/die-mysterioesen-fehlermeldungen-des-sql-servers/</link>
		
		<dc:creator><![CDATA[Karl Jepertinger]]></dc:creator>
		<pubDate>Thu, 10 Mar 2011 19:40:29 +0000</pubDate>
				<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://blog.jepertinger-itconsulting.de/?p=113</guid>

					<description><![CDATA[Heute hatte ich einen interessante Fehlermeldung vom MS SQL Server 2008 bei einem SQL erhalten: The multi-part identifier &#8222;[Tabelle.Spalte]&#8220; could not be bound. Mit der Meldung hatte ich erst nicht viel anfangen können und habe mich also bei Google auf &#8230; <a href="https://www.jepertinger-itconsulting.de/2011/03/10/die-mysterioesen-fehlermeldungen-des-sql-servers/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Heute hatte ich einen interessante Fehlermeldung vom MS SQL Server 2008 bei einem SQL erhalten:</p>
<blockquote><p>The multi-part identifier &#8222;[Tabelle.Spalte]&#8220; could not be bound.</p></blockquote>
<p>Mit der Meldung hatte ich erst nicht viel anfangen können und habe mich also bei Google auf die Suche gemacht was das wohl ist. Gefunden habe ich dabei einen Artikel über den im SQL Server 2005 neuen Befehl &#8222;Apply&#8220;: <a href="http://www.mssqltips.com/tip.asp?tip=1958">Cross Apply auf MSSQLTipps</a></p>
<p>Das war zwar ein interessanter Exkurs über einen -für mich neuen- Operator, aber wohl nicht die Lösung meines Problems. Aber, meine Fehlermeldung taucht in dem Artikel auf, und hier dreht es sich wohl um die Definition des Joins.</p>
<p>Also nochmal zu meinem SQL , auf das nötigste reduziert :</p>
<pre class="brush: sql; title: ; notranslate">
select *
from tabelle1 tab1
join tabelle2 tab2 on tab1.fid = .tab2.fid
where tab1.name like 'a%' .....
</pre>
<p>Das Problem liegt hier in der Definition des Joins, hier hat einfach der Alias bzw der Spaltenname (in meinem Beispiel &#8222;.tab2.fid&#8220; =&gt; &#8222;tab2.fid&#8220;).</p>
<p>Vielleicht findet ja nun der nächste mit dieser Fehlermeldung seine Lösung schneller als ich&#8230;</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
