<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>donkarl Forum - SQL Server</title>
      <link>http://donkarl.com</link>
      <description>donkarl Forum - SQL Server</description>
<item>
<title>Kartesisches Produkt vermeiden</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=2139</link>
<description><![CDATA[Hallo zusammen,<br /><br />ich soll für einen Kunden Auswertungen ermöglichen, die Detaildaten aus mehreren Unterbereichen beinhaltet, also z.B. sollen zu einem Artikel alle Einkäufe und Verkäufe angezeigt werden - in einer Tabelle. Wenn ich jetzt ganz normal über die ArtikelID und die entsprechenden Fremdschlüssel in Einkäufe und Verkäufe joine, erhalte ich ja folgendes:<br /><br />Artikel1     Einkauf1     Verkauf1<br />Artikel1     Einkauf1     Verkauf2<br />Artikel1     Einkauf1     Verkauf3<br />Artikel1     Einkauf2     Verkauf1<br />Artikel1     Einkauf2     Verkauf2<br />Artikel1     Einkauf2     Verkauf3<br /><br />Wie muss ich ansetzen, um ein solches Ergebnis zu erhalten:<br /><br />Artikel1     Einkauf1     Verkauf1<br />Artikel1     Einkauf2     Verkauf2<br />Artikel1                      Verkauf3<br /><br />Es kann sich bei meiner konkreten Anwendung um bis zu vier Unterbereiche handeln. Ich habe schon an cte gedacht, aber mir fehlt die zündende Idee.<br /><br />Ich würde mich sehr über Hinweise freuen!<br /><br />Liebe Grüße<br />Andrea]]></description>
</item>
<item>
<title>SSMS 20.2 Menüs fehlen plötzlich nur bei spezieller Instanz</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=2113</link>
<description><![CDATA[Hallo zusammen,<br /><br />ich verzweifele an einem seltsamen Problem, ganz plötzlich fehlen mir im SSMS unter den Datenbanken Menüpunkte wie &quot;Sicherheit&quot;,&quot;Speicher&quot; oder &quot;Service Broker&quot; (Bild1)<br /><br />Das seltsame dabei, nur wenn ich mich mit einer bestimmten Instanz verbinde?!<br /><br />Wenn ich im gleichen SSMS eine andere SQL-Instanz verbinde ist alles normal (Bild2)<br /><br /><br />Das ganze ist auch nicht User Abhängig und auf dem Server selbst ist im SSMS auch alles normal, nur wenn ich mich bei mir am Client lokal im SSMS mit dieser Instanz verbinde fehlen mit Menüpunkte, selbst unter dem SA-User:<br /><br />Auch nach Deinstallation des SSMS, Neustart und erneuter Installation habe ich das gleiche Problem. An anderen Clients tritt das Problem nicht auf.<br /><br />Es kam von heute auf morgen.<br /><br />Hat hier jemand eine Idee wie dies zu lösen sein könnte? Gibt es ähnliche bekannte Probleme wo Menüs einfach nicht angezeigt wurden im SSMS?]]></description>
</item>
<item>
<title>Datenbankdiagramm</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1930</link>
<description><![CDATA[Hallo!<br />Ich habe eine Access-Datenbank nach SQL Server Express 2019 migriert.<br />Das ist OK.<br />Wenn ich ein Datenbankdiagramm erstellen möchte gibt es Probleme.<br />Ich kann die Tabelle Angebot einfügen.<br />Bei der Tabelle AngebotDeteil startet das Management Studio neu.<br />Das Problem ist auch bei den anderen Tabellen.<br /><br />Ich habe Dr. Google gefragt und musste feststellen das ich mit meinen Problem nicht alleine bin.<br />Aber Lösung war auch keine in Sicht.<br /> <br />Ich habe die neuesten Update Installiert.<br />Ist mir bei der Installation ein Fehler unterlaufen?<br />Oder muss man einen Hacken setzten?<br /><br />Besten dank für einen Tipp!<br /><br />mfg<br />Peter<br /><br />]]></description>
</item>
<item>
<title>Datenbankdiagramm</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1929</link>
<description><![CDATA[Hallo!<br />Ich habe eine Access-Datenbank nach SQL Server Express 2019 migriert.<br />Das ist OK.<br />Wenn ich ein Datenbankdiagramm erstellen möchte gibt es Probleme.<br />Ich kann die Tabelle Angebot einfügen.<br />Bei der Tabelle AngebotDeteil startet das Management Studio neu.<br />Das Problem ist auch bei den anderen Tabellen.<br /><br />Ich habe Dr. Google gefragt und musste feststellen das ich mit meinen Problem nicht alleine bin.<br />Aber Lösung war auch keine in Sicht.<br /> <br />Ich habe die neuesten Update Installiert.<br />Ist mir bei der Installation ein Fehler unterlaufen?<br />Oder muss man einen Hacken setzten?<br /><br />Besten dank für einen Tipp!<br /><br />mfg<br />Peter<br /><br />]]></description>
</item>
<item>
<title>iif - Bedingung im SQL-Server - View</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1882</link>
<description><![CDATA[Hi!<br /><br />beim SQL-server bin ich leider Anfänger....<br /><br />ich möchte eine Bedingung prüfen und dann entsprechend der Bedingung einen Rückgabewert zurückgeben<br /><br />in ACCESS funtioniert dies problemlos<br />*****************************************<br />SELECT *.*, IIf(=&#39;Stornorechnung&#39;,-1) AS x<br />FROM Tabelle<br />WHERE (((Tabelle.Belegart)=&quot;Stornorechnung&quot;));<br /><br /><br />IN SQL-server hab ich folgendes eingegeben - und es funktioniert nicht :(<br />***********************************************<br />SELECT Belegart, iif(=&#39;storno&#39;, - 1) AS Expr1<br />FROM     dbo.KHKVKBelege<br />GROUP BY Belegart<br /><br />Was ist falsch?<br /><br /><br /><br />Grüße<br />Sven<br />]]></description>
</item>
<item>
<title>Server Agent:SSIS-Packet läuft auf neuer Instanz nicht mehr</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1780</link>
<description><![CDATA[Hallo Zusammen,<br /><br />ich habe das Problem, dass ein schon funktionierender ServerAgent-Auftrag auf Basis eines SSIS Packet (auf Fileebene eingebunden) plötzlich nicht mehr funktioniert.<br /><br />Hintergrund:<br />- Ich habe auf einem SQL-Server 2019 in einer ersten Instanz diesen Auftrag erstellt ==&gt; funktioniert<br />- Anschließend habe ich eine 2. Instanz erzeugt und einen neuen Auftrag mit dem gleichen SSIS Packet erstellt ==&gt; funktioniert<br />- Daraufhin habe ich Instanz 1 gelöscht und in VisualStudio das SSIS Packet auf Instanz 2 umkonfiguriert ==&gt; läuft im VisualStudio ohne Fehler<br />- Im ServerAgent auf Instanz 2 kommt es beim Ausführen zu einem Fehler:<br /><br /><br />Executed as user: &quot;hier steht unser Domänen Admin drin!!&quot;. Microsoft (R) SQL Server Execute Package Utility  Version 15.0.2000.5 for 64-bit  Copyright (C) 2019 Microsoft. All rights reserved.    Started:  06:15:00  Error: 2020-08-13 06:15:01.35     Code: 0xC00490F7     Source: Import FehlzeitenTxt Import FehlzeitenTxt (in SQL Server_DB )     <br />Description: The managed pipeline component &quot;DTSAdapter.SQLServerDestination.7&quot; could not be loaded.  The exception was: Could not load type &#39;DTSAdapter.SQLServerDestination.7&#39; from assembly &#39;Microsoft.SqlServer.PipelineHost, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91&#39;..  End Error  Error: 2020-08-13 06:15:01.36     Code: 0xC0000036     Source: Import FehlzeitenTxt Import FehlzeitenTxt (SSIS.Pipeline)     <br />Description: Failed to create COM Component Categories Manager due to error 0x80131600 &quot;&quot;.  End Error  Error: 2020-08-13 06:15:01.36     Code: 0xC0048021     Source: Import FehlzeitenTxt Import FehlzeitenTxt (in SQL Server_DB )     <br />Description: The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is &quot;SQL Server Destination;Microsoft Corporation; Microsoft SQL Server; (C) Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;5&quot;.  End Error  Error: 2020-08-13 06:15:01.36     Code: 0xC004801F     Source: Import FehlzeitenTxt Import FehlzeitenTxt (SSIS.Pipeline)     <br />Description: The component metadata for &quot;in SQL Server_DB&quot; could not be upgraded to the newer version of the component. The PerformUpgrade method failed.  End Error  Error: 2020-08-13 06:15:01.45     Code: 0xC004801F     Source: Import FehlzeitenTxt SSIS.Pipeline     <br />Description: The component metadata for &quot;in SQL Server_DB, clsid {7CDF593F-DE06-4ABD-B356-7976EF7AC8E0}&quot; could not be upgraded to the newer version of the component. The PerformUpgrade method failed.  End Error  Error: 2020-08-13 06:15:01.48     Code: 0xC0048021     Source: Import FehlzeitenTxt in SQL Server_DB      <br />Description: The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is &quot;SQL Server Destination;Microsoft Corporation; Microsoft SQL Server; (C) Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;5&quot;.  End Error  Error: 2020-08-13 06:15:01.48     Code: 0xC0047017     Source: Import FehlzeitenTxt SSIS.Pipeline     <br />Description: in SQL Server_DB failed validation and returned error code 0xC0048021.  End Error  Error: 2020-08-13 06:15:01.49     Code: 0xC004700C     Source: Import FehlzeitenTxt SSIS.Pipeline     Description: One or more component failed validation.  End Error  Error: 2020-08-13 06:15:01.49     Code: 0xC0024107     Source: Import FehlzeitenTxt      <br />Description: There were errors during task validation.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  06:15:00  Finished: 06:15:01  Elapsed:  0.531 seconds.  The package execution failed.  The step failed.<br /><br /><br />Diese Fehlermeldung sagt mir gar nichts. Auch im www habe ich hierzu nichts brauchbares gefunden.<br />Folgendes habe ich bisher schon probiert, aber ohne Erfolg:<br />- SQL Server neu gestartet (mehrfach)<br />- Server Agent neu gestartet (mehrfach)<br />- neues Packet in VisualStudio erstellt und neu in Server Agent eingebunden<br /><br />ich hoffe auf eure Hilfe<br /><br />Danke<br />Willi<br /> <br /><br />]]></description>
</item>
<item>
<title>Suchen nach Datum in Proc</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1694</link>
<description><![CDATA[Hallo und schönen Nachmittag!<br /><br />Zuerst einmal das sind meine ersten Schritte mit SQL Server.<br /><br />Ich habe eine Proc erstellt mit der ich die Angebote suche. Es wird alles gefunden bis auf die Datumswerte.<br /><br />Mit nachfolgenden Fragment der Procedur habe ich mein Glück versucht.<br />In der Tabelle Angebot ist der Datumswert DATE.<br /><br /> <br />ALTER Proc .<br />......<br />@DatumVon date = Null,<br />@DatumBis Date = Null, <br />......<br />as<br /><br />SELECT <br />..... <br />Datum, <br />.....<br />FROM dbo.tblAngebot INNER JOIN <br />dbo.tblKundenAdressen ON <br />dbo.tblAngebot.Kundennummer = dbo.tblKundenAdressen.Adressnummer<br />WHERE<br />......<br />AND (isNull(@Datumvon,&#39;19000101&#39;) IS NULL oR <br />	Datum &gt;= @DatumVon) <br />AND (isNull(@DatumBis,&#39;29001231&#39;) IS NULL OR <br />	Datum &lt;= @DatumBis) <br />.....<br /><br /><br />Ich hoffe das meine Ausführungen verständlich sind.<br />Für einen Tipp Besten Dank im voraus<br /><br />mfg<br />Peter<br /><br />]]></description>
</item>
<item>
<title>ODBC-verknüpfte Tabellen in Access öffnen - sinnvoll?</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1654</link>
<description><![CDATA[Moin<br />ich wundere mich gerade über die Anzeige einer Tabelle in Access, die auf dem SQL-Server liegt. Ich habe hier den gleichen Filter gesetzt und bekomme doch eine andere Ausgabe als eine adäquate Abfrage. Wobei die Ausgabe der gefilterten Tabelle auch falsch ist, doppelte Datensätze dürften nicht vorkommen (PrimKey auf Quartal, xxNR9, PArt, Wert, Verband).<br />Hier ein Tabellenausschnitt:<br /><br />Quartal	xxNR9	PArt	Wert	        Anz_Wert	Sum_DDD	Verband<br />20171	000	        S8	M05BAXX	5	        2,997	AOK<br />20172	000	        S8	M05BA	7	        28		AOK<br />20172	000	        S8	M05BA	7	        28		AOK<br />20174	000	        S8	M05BA	7	        28		AOK<br />20174	000	        S8	M05BA	7	        28		AOK<br />20171	000	        S8	M05BA	1	        4		KBS<br />20174	000	        S8	M05BAXX	1	        6		VDEK<br />20172	000	        S6	L03AA_B	1	        6,8569      VDEK<br />20171	000	        S8	M05BAXX	3	        16		VDEK<br />20172	000	        S6	L03AA_B	1	        6,856	VDEK<br /><br />Und dazu die korrekte Ausgabe der Abfrage:<br /><br />Quartal	xxNR9	PArt	Wert	        Anz_Wert	Sum_DDD	Verband<br />20171	000	        S8	M05BAXX	5	        2,997	AOK<br />20172	000	        S8	M05BA	7	        28	        AOK<br />20172	000	        S8	M05BAXX	3	        1,99821	AOK<br />20174	000	        S8	M05BA	7	        28	        AOK<br />20174	000	        S8	M05BAXX	2	        7,33200	AOK<br />20171	000	        S8	M05BA	1	        4	        KBS<br />20174	000	        S8	M05BAXX	1	        6	        VDEK<br />20172	000	        S8	M05BA	8	        385,1430	VDEK<br />20171	000	        S8	M05BAXX	3	        16	        VDEK<br />20172	000	        S6	L03AA_B	1	        6,856	VDEK<br /><br />Eigentlich wollte ich über diese in Access geöffnete Tabelle ein paar Korrekturen an den Einträgen vornehmen. Das ginge wohl in die Hose, aber warum?<br /><br />Gruß<br /><br />]]></description>
</item>
<item>
<title>SQL Server 2016 kompatibel mit Windows 7 und MS Access 2010</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1530</link>
<description><![CDATA[Hallo Leute,<br />ich würde gerne meine Datenbank (SQL-Server 2012) auf den SQL-Server 2016 migrieren. Leider nutzten wir hier derzeit noch Windows 7 und MS Access 2010. <br />Hier meine Frage:<br />Hat jemand schon Erfahrung mit der oben genannete Konstellation. Oder anders gefragt: Kann ich mit Windows 7 und MS Access 2010 auf einen SQL Server 2016 zugreifen?<br />vielen Dank schon mal vorab..<br /><br />]]></description>
</item>
<item>
<title>Abfangen Fehlermeldung bei Unterbrechung Serververbindung</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1454</link>
<description><![CDATA[Guten Morgen an die User dieses Forums,<br /><br />mein Name ist Eric. Ich betreue und entwickle eine Datenbank, welche den Status von Projekten verfolgt, auswertet etc.<br /><br />Die Datenbank besteht aus einem Access FE und einem SQL-Server (MS SQL Standard Edition 64bit, NT6.1).<br /><br />Das System wird von ca. 100 Usern benutzt und funktioniert soweit zuverlässig.<br /><br />Das Frontend beinhaltet ein Hauptformular, welches im pop-up Modus gestartet wird.<br />Auf dem Hauptformular sind in Summe ca. 20 Unterformulare welche ggf. selbst noch Unterformulare haben.<br /><br />In VBA bin ich soweit fit.<br /><br /><br />Problem:<br />Im Zuge einer Firmen-Kampagne erhalten sehr viele der User jetzt Notebooks, d.h. sie werden plötzlich mobil.<br />Dabei tritt nun vermehrt auf, dass Nutzer das Notebook bei laufender Datenbank aus der Dockingstation nehmen.<br />Weiterhin werden Räume oder Gebäude gewechselt, während das Notebook läuft inkl. Datenbank und zwischendurch die WLAN-Verbindung bei Gebäudewechsel abbricht.<br />Da es mir auch selbst manchmal passiert, ist eine Aufklärung und organisatorische Lösung (&quot;Verbot der Mobilität bei Nutzung&quot;) nicht zielführend.<br /><br />Im Falle eines solchen userverursachten Verbindungsabbruchs kommt es zu (Euch sicher bekannten) Fehlermeldungen, welche die Programmfortführung verhindern:<br /><br />&quot;ODBC-Aufruf fehlgeschlagen......allgemeiner Netzwerkfehler&quot;<br />&quot;Das Objekt ist ungültig oder nicht mehr festgelegt&quot;<br /><br />Es hat sich gezeigt, dass hier derzeit nur ein Abbruch im Taskmanager ein beenden von Access ermöglicht.<br /><br />Gewünschte Lösung:<br />Ich möchte gern via Programmierung diese Fehler &quot;abfangen&quot; und das Programm nach einer Meldung automatisch beenden (ähnlich SAP, dort kommt in einem solchen Fall eine Fehlermeldung und nach Quittieren schließt es sich).<br /><br />Frage:<br />Wo und wie kann ich den Fehler abfangen?<br />Ich habe es im Ereignis &quot;bei Fehler&quot; des HF getestet, die Fehlermeldung erscheint jedoch bevor der Code zum Fehlerereignis gestartet wird.<br /><br />Vielen Dank für die Unterstützung<br /><br />Mfg<br /><br />Eric<br />]]></description>
</item>
<item>
<title>Clustered index update</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1425</link>
<description><![CDATA[Ich habe eine grosse Tabelle (mit vielen Einträgen). Die Tabelle hat einen &#39;clustered index&#39; auf dem &#39;primary key&#39;, einem integer autoincrement. Daneben hat die Tabelle noch weitere acht Indizes. <br />Jetzt habe ich am Schluss zwei Felder angefügt vom Typ BIT NOT NULL. <br />Diese beiden Felder möchte ich bei allen bereits bestehenden Einträgen auf den Wert FALSE setzen (numerisch: 0).<br />Dazu benütze ich folgenden Command:<br /><br />UPDATE (tablename) <br />SET (columnname) =0<br />WHERE (indexfield1) BETWEEN (date1) and (date2)<br /><br />Das dauert unendlich lange. Ein Blick in den &#39;estimated execution plan&#39; offenbart Erstaunliches:<br />Der SQL Server macht einen &#39;clustered index update&#39; auf allen Einträgen; dieser benötigt 98% der totalen Kosten.<br />Dabei wird der PK gar nicht geändert. Der &#39;execution plan&#39; sieht übrigens im Wesentlichen gleich aus, wenn ich die WHERE-Klausel weglasse.<br /><br />Wie ist das zu erklären? Und wie bringt man den SQL Server dazu, sich nur um das eine BIT-Feld zu kümmern und die Finger vom clustered index zu lassen?<br />]]></description>
</item>
<item>
<title>Access Frontend .adp in ein neues Verzeichnis verschieben</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1372</link>
<description><![CDATA[Hallo,<br /><br />wie kann ich .adp-Dateien (Access 2010) in ein anderes Verzeichnis verschieben?<br />Hintergrund ist der Umzug unserer Projekte auf einen neuen Fileserver. <br />Momentan wird die Aktion mit der Meldung &quot;Die Aktion kann nicht abgeschlossen werden, da die Datei in einem anderen Programm geöffnet ist&quot; abgebrochen.<br />Ich denke mal die Ursache liegt hier in der Verbindung zum SQL-Server (2008R2). <br />Leider habe ich nichts gefunden, wie das Ganzen getrennt, verschoben und zum Schluss wieder verbunden werden kann.<br /><br />Weiß jemand von Euch, wie sowas realisiert wird?<br /><br />Danke<br />Willi<br /><br /><br />]]></description>
</item>
<item>
<title>SQL Server 2014</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1310</link>
<description><![CDATA[Unser Access Projekt 2003 läuft momentan mit dem SQL Server 2005. Wir möchten zum SQL Server 2014 wechseln. Erwarten uns bekannte Probleme?]]></description>
</item>
<item>
<title>Probleme bei gespeicherter Procedur</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1250</link>
<description><![CDATA[Guten Morgen!<br /><br /> Beim Filtern in einer gespeicherten Procedur klappt der Filter nicht<br /><br /> Ich möchte <br /> Wenn @Lieferant 0 ist sollen alle Lieferanten angezeigt werden<br /> ansonsten nur der Lieferant,<br /> <br /><br /> ALTER Procedure .<br /> @Artikel varchar(50)=&#39;%&#39;, <br /> @Rabatt varchar(16)=&#39;%&#39;, <br /> @Warengruppe varchar(16)=&#39;%&#39;, <br /> @Lieferant int=0<br /><br /> AS<br /> SELECT * FROM tblProdukt <br /> WHERE<br /> <br />if @Lieferant=0<br /> tblProdukt.Lieferant) &gt;= @Lieferant)AND<br /> ELSE<br /> ((tblProdukt.Lieferant) =@Lieferant) AND <br /> -- Weitere Filter.<br /><br /><br /> Mit meinen if Else construckt bekomme ich folgene Fehlermeldung:<br /><br /> Meldung 156, Ebene 15, Status 1, Prozedur spProdukteFilter, Zeile 41<br /> Falsche Syntax in der Nähe des if-Schlüsselworts.<br /> Meldung 102, Ebene 15, Status 1, Prozedur spProdukteFilter, Zeile 42<br /> Falsche Syntax in der Nähe von &#39;tblProdukt&#39;.<br /><br /> Das Problem tritt nur beim Lieferanten auf. Bei den anderen Filtern kein Problem.<br /> Besten Dank im Voraus für einen tipp!<br /><br /> LG<br /> Peter<br />  <br />]]></description>
</item>
<item>
<title>Superbase</title>
<link>http://donkarl.com/forum/forums/thread-view.asp?tid=1243</link>
<description><![CDATA[Hallo!<br /><br />Ich soll eine Superbase Datenbank nach SQL Server 2014 importieren. Den kostenpflichtigen ODBC-Treiber vom Hersteller (16Bit) werde ich wohl nicht mehr kaufen ...<br /><br />Hat jemand eine Idee wie ich das bewerkstelligen kann?<br /><br />Danke im Voraus!<br /><br />]]></description>
</item>

   </channel>
</rss>
