Quantcast
Channel: Für Entwickler: SQL Server Forum
Viewing all 1772 articles
Browse latest View live

SELECT-Anweisungen und Export in CSV in einem SQL-Script möglich

$
0
0

Hallo

gibt es die Möglichkeit unterschiedliche Tabellen mit SELECT-Abfragen Daten auszuwerten und jeweils einen Export als Befehlt im SQL?

SELECT Spalte1, Spalte2, '**divText** AS Spalte3, Spalte4
FROM Tabelle1
GO
--- Export-Befehl??
GO

SELECT *
FROM Tabelle2
GO
--- Export-Befehl??
GO

SELECT A,B,C,D
FROM Tabelle3
GO
--- Export-Befehl??
GO

Ich muss diverse Daten aus Tabellen exportieren - und da dürfen es auch nicht alle Spalten aus allen Tabellen sein, bzw. Daten anonymisiert usw.; und für jeden SELECT/Tabelle muss eine eigene CSV-Datei erstellt werden.

Vielleicht hat hier jemand einen Tipp für mich, wie ich das am besten angehen könnte.

Vielen Dank schon mal & schönen Gruß,

Michael


SQL-Performance: Wie optimiere ich Felddefinitionen und Abfragen bei der Festlegung? Was ist wichtig?

$
0
0

Hallo zusammen,

noch habe ich die Möglichkeit die Felder einmalig definieren zu können. Ich möchte im ersten Schritt relational mit Faktentabellen und reinen SQL-Abfragen arbeiten, erstelle aber gleichzeitig schon Dimensionen, die ich in den einfachen Fakten-Abfragen ggf. mit einbaue und mit denen man dann Cubes und/oder Dimensionsfilter aufbauen kann.

Die Frage ist wie ich die Fakten-Einzelsatzabfrage nicht ausbremse.

FRAGE:
1.) Ist es egal ob ich das Konto als Zahl oder Text anlege, als nvarchar oder char.Der Import von Exceltabellen hat Unmengen an float-und anderen Definitionen erstellt die nicht sinnvoll sind.Was bremst ein SQL aus und bläht die Datenbank unnötig auf? 

2.) Ist es besser in der Faktentabelle die redundanten Infos mit über eine Abfrage einzuspielen oder ist es egal ob man sich dann die Kontobezeichnung über eine 1:n-Beziehung holt? Bremsen also einfache Abfragen ein SQL ebenfalls langfristig bei hohen Datenmengen betrachtet aus, wenn ich auf eine solche Abfrage mit SSRS zugreife?

3.) Ist longinteger unter access = bigint bei SQL und ist die Autofelderkennung beim Import der Tabelle nutzbar?

4.) Was ist besser nutzbar: decimal oder numeric? 

Vielen Dank für Hinweise.



Suche nach Best practice: fertig berechnete statistische Werte vorrätig halten

$
0
0

Seit vielen Jahren programmiere ich ehrenamtlich für mehrere gemeinnützige Jugendverbände eine Freizeitdatenbank auf Basis eines SQL Servers als Backend und MS Access als Frontend. Das Datenmodell ist so weit wie möglich normalisiert, so dass es u.a. Tabellen zu

Personen

Freizeiten

Anmeldungen zu Freizeiten

Zusatzoptionen zu Freizeiten

Gewählte Zusatzoption einer Anmeldung

Buchungen
 

gibt. In den verschiedenen Menüs sind häufig auch berechnete Eckdaten enthalten. So gibt es im Freizeitmenü einen Reiter mit der Auflistung der Teilnehmer. Darunter sind dann statistische Eckdaten aufgeführt: Gesamtzahl, männliche, weibliche Teilnehmer, Begleitpersonen, etc.

Auch beim Reiter „Buchhaltung“ finden sich statistische Eckdaten, die man für einen schnellen Eindruck braucht ohne eigens detaillierte Berichte aufrufen zu müssen: Teilnehmergebühren und Stornogebühren (SOLL), bezahlte Gebühren (IST), Differenz von SOLL und IST, etc.

Die Dauer zum Aufruf des jeweiligen Menüs in Access ist gerade noch OK – ich würde mir aber eine deutlich höhere Performance wünschen. In den letzten Jahren habe ich daher einen Abstecher zur „In-Memory-Technologie“ gemacht. Das hat tatsächlich einiges an Geschwindigkeit gebracht – war aber mit so vielen Nachteilen und Problemen verbunden, dass ich mich letztlich dann doch wieder davon verabschiedet habe.

Ein wesentlicher Punkt war für mich auch die Optimierung der Indices und Abfragen. Hier kann man sicher auch noch etwas rausholen – aus den relevanten Fachbüchern und Internettipps habe ich aber schon vieles umgesetzt und ausprobiert.

Ein Gedanke, der mich schon länger umtreibt und für den ich mit diesem Post eine „Best-Practice“-Lösung suche ist, ob die statistischen Eckdaten nicht schon vorab in irgendeiner Form berechnet werden können und dann beim Abruf eines Menüs viel schneller zur Verfügung stehen. Am Beispiel der Teilnehmerzahl kann diese für eine Freizeit eine längere Zeit konstant bleiben (z.B. weil die maximale Teilnehmerzahl sowieso schon erreicht ist) – trotzdem wird das Menü für die Freizeit X-fach aufgerufen.

Meine Suche hat mich jetzt zu indizierten Sichten geführt. Rein vom beschriebenen Rahmen hätte ich gemeint, dass es genau das ist, was ich suche – Berechnungen können damit „materialisiert“ werden. In meiner Vorstellung ist das wie eine Tabelle und ich muss mich um nichts kümmern. Leider gibt es für diese Sichten keine „OUTER JOINS“, weshalb ich faktisch für jede Unterscheidung eines berechneten Wertes eine eigene Sicht brauche.

 

CREATE VIEW
[dbo].[IS_Freizeiten_Anzahl_TN_M]

WITH
SCHEMABINDING 

AS

 

SELECT                     FZ_ID, COUNT_BIG(*) AS
Anzahl_TN_M 

FROM            dbo.PersFZ PFZ                                    INNER JOIN                                   dbo.Personen
P         ON PFZ.Pers_ID = P.Pers_ID                                                                                  

WHERE                     PersFZ_Warteliste = 0                        AND PersFZ_Absage = 0                         AND PersFZ_Stornierung =
0                        AND    PersFZ_Status_Person >= 100                        AND    PersFZ_Status_Person < 200                        AND    Pers_Geschlecht = 10 

GROUP BY    FZ_ID 

GO

SET ARITHABORT ON

SET CONCAT_NULL_YIELDS_NULL ON

SET QUOTED_IDENTIFIER ON

SET ANSI_NULLS ON

SET ANSI_PADDING ON

SET ANSI_WARNINGS ON

SET NUMERIC_ROUNDABORT OFF

GO

 

/****** Object: 
Index [IX_FZ_ID]    Script Date:
28.05.2020 21:59:42 ******/

CREATE UNIQUE CLUSTERED INDEX [IX_FZ_ID] ON [dbo].[IS_Freizeiten_Anzahl_TN_M]

(

       [FZ_ID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO
 

Was mich etwas irritiert ist die Tatsache, dass beim Aufruf der Beispielsicht die Datensätze nicht etwa nach der FZ_ID sortiert sind – obwohl die ID als UNIQUE CLUSTERED INDEX gesetzt ist.

Dann braucht die übergreifende Sicht, in der ich wieder die verschiedenen Einzelwerte der indizierten Sichten zusammenfasse zum Aufruf doch recht lange. Schaue ich mir den Ausführungsplan an, so sehe ich, dass z.B. die Bestimmung des Geschlechtes u.ä. Rechenzeit in Anspruch nehmen. Dabei enthält die zusammenfassende Sicht nur indizierte Sichten nach dem oben aufgezeigten Schema. Ich hätte erwartet, dass auf die bereits berechneten Werte zurückgegriffen wird.

Jetzt bin ich etwas ratlos, was eine bessere Alternative wäre. Ist es „Best Practice“, dass man eine eigene echte Tabelle mit fertig berechneten statistischen Werten erstellt? Nur müsste ich dann überall Trigger setzen, damit jede kleine Änderung dort mitgezogen wird.

 

Oder setzt man so etwas mit temporären Tabellen um?

SSRS Abonnement - falscher Zeitplan

$
0
0

Hallo,

ich habe hier bei mehreren Reporten zeitgesteuerte Abonnements angelegt mit welchen die Reporte als PDF versendet werden.

Konkret „Um 23:50 an den 31 Tagen von Jan; Mär, ab dem …“

Am 31. März wurde kein Report automatisiert versendet, dafür aber am 31. Mai !

Der SQL Server wurde Anfang diesen Jahres, von SQL Server 2016 auf SQL Server 2019 (Version: 15.0.4033.1) migriert.

Nirgends ist ein Hinweis auf den 31. Mai zu finden, dennoch wurde das Abo zu diesem Zeitpunkt ausgeführt.

Wo liegt der Fehler?

Karsten

MS SQL Studio Deutsch - Engine Englisch

$
0
0

Guten Tag 

Ich brauche etwas Unterstützung bei einer Installation von Microsoft SQL Management Studio (in deutsch). Wir haben eine Kunden, welcher mit der englischen Version von SQL Studio nicht zurecht kommt. Nun müssen wir das SQL Studio in deutsch installieren. 

Die deutsche Version vom Studio wurde hier heruntergeladen: 
msdn.microsoft.com/de-ch/library/mt238290.aspx

Die Sprache / Region wurde nach diesem Dokument auf Deutsch(Germany) umgestellt: 
docs.microsoft.com/en-us/sql/sql-server/install/local-language-versions-in-sql-server

Die Sprache von Windows ist auch Deutsch. 

Nach der Deinstallation vom SQL Studio und einer erneuten Installation, ist das Studio immer noch auf englisch. In den Spracheinstellungen vom SQL-Studio kann nur Englisch oder "Same as Micrsoft Windows". "Same as Micrsoft Windows" neu starten und immer noch auf englisch. 

SQL-Server engine ist englisch, dies sollte aber keinen Unterschied machen oder? 

Vielen Dank und Freundliche Grüsse

NeXT405

Wie kann ich bei einem Update einer Tabelle Datum und Uhrzeit setzen?

$
0
0

Ich arbeite auf Navision (SQL Server 10.50.6220)
mit Microsoft SQL Server Management Studio    11.0.2100.60

Folgende Tabelle liegt zugrunde:Struktur der betroffenen Tabelle

Folgende SQL-Abfrage hat nicht funktioniert:

update [NAVISION2009].[dbo].[xxxxxx_GmbH$Raumgew]
set
RGew=41.5,
Bearbeiter='swolf',
Datum=(CAST( year(GETDate()) as varchar) + '-' + CAST(month(GETDate()) as varchar) + '-' + cast(DAY(GETDate()) as varchar) + ' 00:00:00.000',
FSZ=179
where Bez='C' and PU=200 and System='B3' and LaengeMin=0 and LaengeMax=99999

Es gab Probleme bei der Umsetzung des Datums.
Gerne würde ich neben dem Datum auch die aktuelle Uhrzeit im Datensatz setzen, wenn ich diesen mit update aktualisiere.

Wie macht man das richtig?

Danke für Hilfe im Voraus.

Die SELECT-Berechtigung wurde für das 'types'-Objekt, 'mmsqlsystemresource'-Datenbank, 'sys'-Schema, verweigert

$
0
0

Hallo,

wir haben eine SQL View in MS Power BI integriert. Nun bekommt ein Kollege diese Fehlermeldung:

Die SELECT-Berechtigung wurde für das 'types'-Objekt, 'mmsqlsystemresource'-Datenbank, 'sys'-Schema, verweigert

In der View wird nirgendwo auf ein types-Objekt verwiesen.

Alles was zu googeln war, hat mich auch nicht weiter gebracht.

Gruß

cheapy

Frage zu COMPUTE und Server-Version

$
0
0

Hallo,

ich habe hier zwei Konstellationen:

1. Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) // Datenbank im Kompatibilätslevel 100 (SQL-Server 2008)

2. Microsoft SQL Server 2019 (RTM-CU5) (KB4552255) - 15.0.4043.16 (X64) // Datenbank im Kompatibilätslevel 100 (SQL-Server 2008)

Ich bin auf einer SQL-Konsole mit beiden Servern/Datenbanken verbunden (im Wechsel) und probiere ein Statement, welches das Schlüsselwort COMPUTE enthält. In Konstellation 1 funktioniert es, in 2 nicht. (Fehlermeldung "Falsche Syntax in der Nähe des compute-Schlüsselworts.") Warum ist das so?

Mir ist schon klar, dass COMPUTE obsolete ist. Ich hätte aber nicht gedacht, dass obwohl für beide Datenbanken der gleiche Kompatibilätslevel vorliegt, es zu diesem unterschiedlichen Verhalten kommt. Kann mir das bitte jemand erklären. Vielen Dank schon mal.

Franz


Übertragung der Spalteneigenschaften (Bezeichnung) via MSSQL ODBC Treiber

$
0
0

Hallo zusammen,

ich versuche aktuell die Spaltenbezeichnungen aus einer MSSQL Server Datenbank (SQL Server 2017) via ODBC Treiber (ODBC Treiber 17 für SQL Server) zu übertragen, leider ohne Erfolg.

Hat jemand eine Idee woran das liegen könnte?

VG


In DB gespeicherte Vorlagentexte mit eigenen Daten füllen

$
0
0

Seit vielen Jahren programmiere ich ehrenamtlich für mehrere gemeinnützige Jugendverbände eine Freizeitdatenbank auf Basis eines SQL Servers als Backend und MS Access als Frontend (siehe auch https://social.msdn.microsoft.com/Forums/sqlserver/de-DE/aeb93988-38f2-4d32-967e-dd43e0e7475a/suche-nach-best-practice-fertig-berechnete-statistische-werte-vorrtig-halten?forum=sqlserverde)

Hierbei werden alle Daten über Stored Procedures ausgeliefert und bilden dann die Datengrundlage für Berichte in Access. Für bestimmte Bestätigungsarten (es geht um Freizeitanmeldungen für Kinder- und Jugendliche) sind die Texte fest im Quellcode der SPs hinterlegt. In die Texte sind verschiedene Daten eingearbeitet, die jeweils im SELECT-Befehl ermittelt werden.

Leider ist das System relativ starr. Daher suche ich nach einer guten Lösung, wie Vorlagentexte mit einer Art Platzhalter in einer eigenen Tabelle gespeichert werden können. Beim Aufruf der Stored Procedures werden dann die Platzhalter befüllt und der fertige Text ausgeliefert. Dadurch könnte man dann leichter Text in Berichten ändern.

Gibt es da bessere Möglichkeiten als mit einem reinen "FIND & REPLACE" zu arbeiten?


Join-SQL-Update aus ACCESS für den SQL-Server nutzen (Syntax für den SQL-Server umschreiben).

$
0
0

Hallo zusammen,

leider bin ich nicht der SQL-Profi und möchte gerne über ein JOIN ein Feldupdate auf dem Server durchführen.
Wie muss ich das SQL umschreiben, damit es auf dem SQL-Server 2017 läuft, was in ACCESS klappt

Ich habe identische Tabellen aufgebaut und eine Aktualisierungsabfrage mit dem Editor in ACCESS erstellt, die man so aber nicht auf dem SQL-Server nutzen kann. Wie muss ich umschreiben damit die Syntax passt?

UPDATE tbl_KORE_EP LEFT JOIN tbl_KST1 ON tbl_KORE_EP.Kst1 = tbl_KST1.KST1 SET tbl_KORE_EP.FirmenNr = [tbl_KST1].[FirmenNr]

Vielen Dank für Eure Hilfe.

Gruß 

Chris

Verzeichnisstruktur auf dem SQL Server

$
0
0

Hallo,

im Managementstutio habe die die Möglichkeit einen Ordner für ein Backup auszusuchen.

Dabei wird mir die Verzeichnisstruktur auf dem SQL Server angezeigt.

Das Studio hat dazu keine andere Verbindung als die SQL-Verbindung zum Server.

Es muss also eine Möglichkeit geben mit SQL - Befehlen die Verzeichnisstruktur auf dem SQL Server anzuzeigen.

Weiss jemand wie das funktiononiert?

Liebe Grüße

Willi


Möglicher Bug bei Volltextrecherche

$
0
0

Hallo,

ich benutze einen SQL-Server mit folgenden Parametern:

hier sollten Screenshots stehen, aber zuerst muss mein Konto geprüft werden ????

Also nur das Wichtigste:
Produkt: Microsoft SQL Server Developer 64-bit
BS: Windows 10 Pro
Version: 14.0.2027.2
Sprache: English (Vereinigte Staten)
Sortierung: Latin1_General_CI_AS

Der Volltextindex ist folgendermaßen parametriert:

Volltest-Auffüllstatus-Tabelle: Keine
Volltextindex-Dateigruppe: PRIMARY
Volltextindex-Stoppliste: System
Sucheigenschaftenliste: Aus
Vollrexrindizierung Aktiviert: True
Änderungsverfolgung: Automatisch

Der Katalog sieht so aus:

Standardkatalog: false
Auffüllungsstatus: Im Leerlauf
Unterscheidung nach Akzent: True
Besitzer: dbo


Nun zu meinem Problem:

Aus welchen Gründen auch immer, wird das Wort 'Will' nicht gefunden. 

Ich suche mit Contains(fulltext, 'Will') auch '"Will*"' oder '"*Will*"' führen nicht zum Ziel. 
Bei den Worten 'Wil' und 'Willi' verhält sich die Suche normal.
Auch Like verhält sich wie erwartet.

Habe ich was falsch gemacht oder liegt hier ein Bug vor ?
Ich wäre für jeden Hinweis dankbar.

Vielen Dank im Voraus 

Matthias 

Problem mit Abfrage

$
0
0

Hallo NG,
ich habe die Abfrage

Select id1 FromTab1Whereid1NOTIN(SelectnummerFromTab2)

eigentlich in der Art schon 100 genutzt, aber hier bekomme ich kein Ergebnis. Es gibt nummern in Tab2, die nicht als id1 in Tab1 vorhanden sind, aber ich bekomme 0 Datensätze.
Ich habe das auf 2 SQL-Servern probiert - selbes Ergebnis. Ich weiß nicht, ob das wieder mal ein "Klemmer" ist, aber an der Stelle komme ich nicht weiter.

Für Hinweise wäre ich dankbar

Uwe


Mittelung vom Forum

Problem mit COUNT(*)

$
0
0

Hallo, ich habe folgende Abfrage:

SELECT
    COUNT(*) as Anzahl,
    DATENAME(HOUR,POS.dbo.transaction.date) AS Stunde,
    DATENAME(weekday , POS.dbo.transaction.date) AS Wochentag

FROM POS.dbo.transaction_line_item AS TLI
         LEFT JOIN POS.dbo.transaction ON TLI.fk_transaction = POS.dbo.transaction.transaction_id
WHERE POS.dbo.transaction.fk_status <> '3'

GROUP BY DATENAME(weekday , POS.dbo.transaction.date),
         DATENAME(HOUR,POS.dbo.transaction.date)
ORDER BY Wochentag,
         Stunde

Das produziert mir eine Ausgabe mit den Spalten Anzahl, Stunde und Wochentag. Soweit so gut.

Jetzt möchte ich jedoch Beispielhaft, dass nur die Tage berücksichtigt werden, an denen die Anzahl während der Stunde 9 zwischen '0' und '10' liegt.

Da komme ich einfach nicht weiter....laufe auf Grund und bin am schleudern!!!


Fehler bei der Bereitstellung - SQL Express SSAS Cube

$
0
0

Hallo ZUsammen,

Ich möchte SSAS Cube erstellen es gibt aber eine Fehler mit der Bereitstellung mit der folgenden Fehlermeldung:

SchweregradCodeBeschreibungProjektDateiZeileUnterdrückungszustand
FehlerDas Projekt konnte aufgrund der folgenden Konnektivitätsprobleme nicht auf dem Server "localhost" bereitgestellt werden:
Es kann keine Verbindung hergestellt werden. Stellen Sie sicher, dass der Server ausgeführt wird..
Überprüfen oder aktualisieren Sie den Namen des Zielservers, indem Sie mit der rechten Maustaste im Projektmappen-Explorer auf das Projekt klicken. Wählen Sie "Projekteigenschaften" aus, klicken Sie auf die Registerkarte "Bereitstellung", und geben Sie dann den Namen des Servers ein. 0

Ich habe schon "Impersonation Information" umgestellt alle Variation ausprobiert geht aber leider nicht.

Könnt Ihr mir helfen?

Vielen Dank!



SSRS: "Keep together" ohne Auswirkung beim Erzeugen von docx Reports

$
0
0

Hallo,

wir haben Probleme mit dem Erzeugen von docx-Dokumenten mit SSRS.

Wir haben einen Hauptreport, in dem mehrere Subreports eingebunden sind.

Einer der Subreports besteht aus einem Tablix mit ein paar Textboxen (als Zwischenüberschriften) und einem weiteren Subreport mit den Detaildatensätzen.

Dieser innere Subreport enthält wiederum ein Tablix mit einem Rectangle um die Detaildaten zusammenzuhalten. Beim Rectangle ist die Eigenschaft "Keep together" auf true gesetzt.

Wenn der Report als PDF gerendert wird passt alles wie erwartet.

Beim Rendern als docx entsteht im Tablix1 aus Subreport1 ein Seitenumbruch vor dem ersten Datensatz aus Subreport2, außerdem werden die Textboxen innerhalb des Rectangles nicht zusammengehalten, Seitenumbrüche entstehen sogar innerhalb einer mehrzeiligen Textbox innerhalb des Rectangles.

Nachfolgend nochmal die Reportstruktur zur Veranschaulichung:

MainReport => Body => Subreport1

Subreport1 => Body => Tablix1 => Datarow aus Textboxen & Subreport2

Subreport2 => Body => Tablix2 => Rectangle (keep together = true) => Datarow aus Textboxen

Nun die Frage: Wie bringen wir docx bei, dass es die Textboxen innerhalb des Rectangles zusammenhält und das erste Rectangle aus Subreport2 auf die Seite der Überschrift aus Subreport1 setzt?

Danke...

Grischa Schulz


Grischa Schulz

Ich brauche nochmal Hilfe für die Erstellung einer Suchfunktion

$
0
0

Hi,

ich habe in meinem Kundenstamm zwei Firmen:

1. Robo Technologies

2. Robomaniac

Ich möchte nur mit der Suche 'robo' beide Firmen angezeigt bekommen, was mir aber nicht gelingt. Bei 'robo' erscheint nur Robo Technologies. Robomaniac erscheint erst, wenn das Wort vollständig eingegeben wird.

Als Suchfunktion nutze ich CONTAINSTABLE. Hier mein Code.

SELECT        TOP 300 dbo.Kundenliste.*
FROM            dbo.Kundenliste INNER JOIN
                          CONTAINSTABLE(Kundenliste, *, 'robo') as Key_tBL ON Kundenliste.id_Kunde = key_tbl.[Key]
WHERE        Kundenliste.Type = 1
ORDER BY key_tbl.rank desc

Wie muss ich das anpassen, damit beide Ergebnisse erscheinen? 


.::datekk::.

RunningValue - Funktion funktioniert nicht mehr

$
0
0

Hallo zusammen,

folgendes Problem:
In einem Report wird eine SharePoint-Liste abgegriffen. Die Liste wurde im lokalen Dataset parametrisiert auf ein bestimmtes Jahr.
Als Chart-Label möchte ich nun die laufende Summe der einzelnen Zeilen einer Spalte darstellen. Folgende Expression verwende ich:

=RunningValue(Fields!Ausschuss_Weiterberechnungen.Value,Sum,"KPI_BSC_Kennzahlen")

Leider wird nur die Summe (also der Wert für sum(Fields!Ausschuss_Weiterberechnungen.Value,"KPI_BSC_Kennzahlen") ) dargestellt.

Woran könnte das liegen?
Das Seltsame ist, dass die Expression meiner Meinung nach schon funktioniert hat, wie si funktionieren sollte!

Danke für die Hilfe!

Viele Grüße

Olaf


Anfrage daueren wesentlich länger

$
0
0

Guten Tag,

wir haben seit dem Wochenende mit unserm SQL-Server ein großes Problem.

Anfragen die mit anderen Tabellen verjoint worden sind, laufen seitdem erheblich langsamer. Als Beispiel gibt es ein Query das vor dem Sonntag (bzw. seit Montag 31.08.) ungefähr einen Abfragedauer von ca. 2 Sekunden gebraucht hat. Gestern hat die gleiche Query 43 Sekunden benötigt.

Der SQL-Server ist auf WIN Server 2016 installiert. Alle aktuellen Updates sowohl für den SQL-Server als auch für den Windowsserver sind installiert. Weder im Windows Eventviewer noch im den Server-Logs haben wir Fehlermeldungen gefunden.

In den Logs die wir mitschreiben lassen können wir nachvollziehen das SQL- Stored Proceduen die täglich laufen vor Montag in ca. 2 Min abgearbeitet wurden nun bis zu 13 Minuten brauchen.

Beim Nachvollziehen der Schritte konnten wir feststellen das bei Abfragen mit Join's die erheblichen Zeitverluste auftraten bzw auftreten.  

MS-SQL Server Standard(64-bit)

WIN Server 2016 Standard (10.0)

Version 14.0.3335.7

Arbeitsspeicher 391874 MB

Prozessoren 12

Weder in der Auslastung der CPU'S noch beim SQL-Server konnten wir hohe Auslastungen erkennen.

die SP sp_updatestate  wurde ebenfalls durchgeführt ohne eine erkennbare Verbesserung.

Die Erneuerung der Indizes wurde ebenfalls durchgeführt ohne Erfolg.

Auf die PrüfungDBCC CHECKDB war ohne Verbesserung.

Die oben beschriebe Symtomatik können wir bei vielen System nachvollziehen die sich Daten vom SQL-Server laden wollen.

Hier kommt es immer wieder zu Timeouts. LAN Problem ziehen wir nicht in Betracht. SP werden zwar über LAN gestärtet, laufen aber innerhalb des SQL-Servers.

Die Abfragen die heriverwendet sind vom auf Aufbau gleich

SELECT
t1.id
,t1.artNr
,t1.artBez
,t1.artZugangDate
,t1.aktiv
,t2.verkauftQty
,t2.verkauftDate
,t2.verkauftRegionId
from artikel as t1
left join artikelVerkauf on t1.artNr = t2.artNr
where t1.artNr between 5000 and 6000
and t1.aktiv = 1
and t2.verkaufRegionID in (10,12,13)

Laufzeit vorher ca. 3 Sekunden - Laufzeit jetzt 45 Sekunden

Wir haben versucht nach zu vollziehen was sich von Sonntag auf Montag geändert hat. HAben aber keinerlei  Ansatz gefunden.

es wurden weder neu Anwendungen noch weitere neu Aufgaben hinzugefügt.

Vielleicht weiß jemand wo wir ansetzen könnten.

Vielen Dank im Voraus für die Hilfe.

Wolfgang

PS: Grundsätzliche Dinge wie Platz auf dem Datenträger, Größe der DB, RAM usw. haben wir geprüft.

Viewing all 1772 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>