Jump to content

MDD

Members
  • Gesamte Inhalte

    168
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von MDD

  1. Hallo hierzu ein paar Fragen. die Zeilen mit der Id 2 - 5 gehören immer zu der vorhergehenden Artikelnummer? Das bedeutet eine Sequenz geht immer von Artikel zum nächsten Artikel? Welche Version von SQL verwendest du (2016/17/19)? Steht bei jeder Artkielnummer auch immer 1 in der Positionsart? Kommen die Artikel mehrfach vor oder sind sie eindeutig? Wird das eine neue Datenbank oder handelt es sich um bestehende Daten? gruss mdd
  2. Hallo du kannst innerhalb des Triggers auf die alten Daten (DELETED.ZUST) und auf die neuen (UPDATED.LNr) Bezug nehmen und nach Prüfung entsprechende Aktionen setzen. Kannst entweder im Trigger machen oder auch über eine SP, was zum Debuggen leichter ist und mir immer klarer erscheint als ein Trigger. Du kannst theoretisch auch mit der Output-Klausel arbeiten.
  3. habe weder Oracle noch MySQL hier um es auszutesten aber bei mir schaut es im T-SQL so aus. Datum ist noch nicht formatiert. Habe jetzt einfach vom zum heutigen Tag 31 dazugezählt. Womit unter Umständen mehr als 1 Monat angezeigt wird SELECT cast(gebdatum AS DATE) geborenAm ,Vorname ,Nachname ,year(getdate()) - year(gebdatum) as NeuAlter ,dateadd(year, year(getdate()) - year(gebdatum), gebdatum) NaechsterGeburtstag FROM T_Mitarbeiter WHERE dateadd(year, year(getdate()) - year(gebdatum), gebdatum) BETWEEN cast(getdate() AS DATE) AND cast(dateadd(DAY, 31, getdate()) AS DATE) ORDER BY 5 Heutiger Tag und 28. Februar wurden richtig berücksichtigt.
  4. Okay ich bin ja keine Oracle/MySQL Spezialist aber das Ganze erscheint mir doch recht umständlich. Was ist mit den Befehlen EOMONTH (T-SQL) respektive Last_Day(). Damit solltest du das Schaltjahrproblem in den Griff kriegen. Und mit ohne es zu wissen vermute ich mal das es eine wesentlich übersichtlichere Art gibt das Datum zu formatieren statt es zusammenzusetzen. Mit der Rechnerei wirst du vermutlich Schwierigkeiten haben wenn du nicht mit Ganzzahlen rechnest (365.25)
  5. Das könnte gut sein. Der SQL Service läuft unter einem eigenen Benutzer der gerne bei den Berechtigung im Verzeichnis übersehen wird.
  6. Hallo Du kannst die Pfade mit einem Alter Database anpassen: Hier beispielhaft mit der AdventureWorks ALTER DATABASE AdventureWorks MODIFY FILE (NAME = AdventureWorks_Data, FILENAME ='D:\MSSQL\Data\AdventureWorks_Data.mdf'); ALTER DATABASE AdventureWorks MODIFY FILE (NAME = AdventureWorks_Log, FILENAME ='D:\MSSQL\Log\AdventureWorks_Log.ldf'); Sollte hoffentlich hinhauen. Das kannst auch aus der Master raus.
  7. Hallo Kann es sein dass dein Record noch weitere Felder enthält?
  8. Guten Morgen mir ist nicht klar ob das Backup über den SQL gefahren wird, ob dazu ein separates Tool verwendet wird oder über die Applikation erfolgt. Was du jedenfalls prüfen kannst ist ob die Backup Kompression generell eingeschalten ist. Nutzt aber nur was wenn es nicht über das externe Tool gemacht wird, bzw. der Backupaufruf das nicht übersteuert. Dadurch hast du zwar mehr Last auf der CPU aber in der Regel geht das Backup meiner Erfahrung nach einiges schneller. Das Backup ist wesentlich kleiner und die Schreibvorgänge verringern sich dadurch erheblich. Gruß MDD
  9. MDD

    SQL2017 Wartungsplan

    Hallo, ohne den Inhalt bzw. Wissen über den Aufbau der Datenbank zu haben, würde ich mich nicht trauen da irgendwelche Empfehlungen zu geben. Manchmal machen irgendwelche Backupsysteme bereits Sicherungen und man verdoppelt die Arbeit oder pfuscht dem anderen System sogar in die Suppe. Empfehlungen von Microsoft finden sich hier: https://docs.microsoft.com/de-de/sql/relational-databases/backup-restore/back-up-and-restore-of-sql-server-databases?view=sql-server-2017 Gruß Daniel Hier vielleicht noch ein Hinweis: Statistiken sollten zuerst aktualisiert werden und erst anschließen die Index Wartungen erfolgen.
  10. MDD

    SQL - Execute As

    Hallo Der User "proxyUser" existiert bereits und ist aktiv? du schreibst schon: GRANT VIEW SERVER STATE TO proxyUser ohne die Hochkommas bzw. Anführungszeichen?
  11. MDD

    MSSQL Querry

    Du hast geschrieben, dass dies das Ergebnis sein soll. Da ist kein ExeCode drinnen. Welche Information soll in deren Spalten passed und failed ersichtlich sein?
  12. MDD

    MSSQL Querry

    Was sich mir aber noch ganz und gar nicht erschließt ist das: Das ist so "von hinten rum durch die Brust ins Auge"
  13. MDD

    MSSQL Querry

    Hallo Wie ich dein Beispiel gesehen habe ist mir das irgendwie bekannt vorgekommen. Achja, du hast schon mal eine sehr ähnliche Aufgabe hier vorgebracht. Vom Prinzip hier ist die Vorgangsweise die selbe wie damals. Declare @CurrentDate DateTime Declare @PrevMonthDate DateTime Set @CurrentDate=Dateadd(dd,datediff(d,0,getdate()),0) Set @PrevMonthDate=dateadd(month,-1,@CurrentDate) SELECT DISTINCT cast(dbo.OrdData.DateMade as Date) TestDatum, dbo.OrdData.OrdNr, dbo.ProgData.ArtCode, dbo.ProgData.ArtBez, dbo.TestData.SensorNr, sum (case TestData.ExeCode when 0 then 0 else 1 end ) as Passed, sum (case TestData.ExeCode when 0 then 1 else 0 end ) as Failed, dbo.ProgData.Version, dbo.TestSeqInfo.MBNr FROM dbo.TestData INNER JOIN dbo.OrdData ON dbo.TestData.OrdNr = dbo.OrdData.OrdNr INNER JOIN dbo.ProgData ON dbo.OrdData.ArtKey = dbo.ProgData.ArtKey INNER JOIN dbo.TestSerieData ON (dbo.TestData.OrdNr = dbo.TestSerieData.OrdNr AND dbo.TestData.SerieModeName = dbo.TestSerieData.SerieModeName AND dbo.TestData.SerieCode1 = dbo.TestSerieData.SerieCode1 AND dbo.TestData.SerieCode2 = dbo.TestSerieData.SerieCode2 ) INNER JOIN dbo.TestSeqInfo ON (dbo.TestData.OrdNr = dbo.TestSeqInfo.OrdNr AND dbo.TestData.SensorNr = dbo.TestSeqInfo.SensorNr AND dbo.TestSerieData.TestSerieKey = dbo.TestSeqInfo.TestSerieKey) WHERE dbo.TestSeqInfo.MBNr = '710111' and dbo.OrdData.DateMade > @PrevMonthDate Group by cast(dbo.OrdData.DateMade as Date), dbo.OrdData.OrdNr, dbo.ProgData.ArtCode, dbo.ProgData.ArtBez, dbo.ProgData.Version, dbo.TestSeqInfo.MBNr Order by 1 DESC Versuchs damit. Ich hoffe ich habe nichts übersehen
  14. Hi Auch im Bereich Sicherung bzw. Datenübertragung (Mirroring / Log-Shipping) gibt es Unterschiede die möglicherweise zu berücksichtigen sind. sp_spaceused ‘Tabellenname‘ Gibt den verwendeten Speicherplatz zurück.
  15. MDD

    Case When Abfrage

    Willkürlich stimmt sich nicht! Die Werte werden der Reihe nach durchgegangen. Der erste der nicht NULL ist, wird zurückgegeben. Aber das scheint nicht dein Ziel zu sein. Wenn ich deine Anweisung richtig lese willst du die Werte entweder verknüpfen oder summieren, richtig? Vermutlich wirst du mit SELECT CONCAT(Feld1 + ' ', Feld2 + ' ', Feld3 + ' ', Feld4) dein Ziel erreichen
  16. Gibt es einen Grund warum das 2 verschiedene Tabellen sein müssen? Irgendwie stehen ja die Daten im Zusammenhang - es gibt eine Verknüpfung zwischen diesen beiden Tabellen. Also musst du die beiden Tabellen verknüpfen (Stichwort JOIN) und hast dann beide Werte mit denen du weiter arbeiten kannst. Lies dich mal in das Thema JOINs ein. Gruß MDD
  17. Hallo Verständlich ist es nicht. Du kannst Spaltennamen kaschieren wenn du willst. Einen „Alias“ vergibst du folgendermaßen: Select Spalte1 AS Benutzername FROM wunschtabelle
  18. Hallo wozu willst du da eine Automatisierung einbauen? Wenn du sicher sein willst dass die Daten synchron sind, dann solltest du mit einer SP in beide Tabellen schreiben. Ein Get-Verfahren, also Daten vom andere Server zu holen, birgt die große Gefahr das die Daten auseinander laufen.
  19. Stichwort: information_schema.tables
  20. Schau die mal die Systemviews an Stichwort: information_schema.columns https://docs.microsoft.com/de-de/sql/relational-databases/system-information-schema-views/system-information-schema-views-transact-sql?view=sql-server-ver15
  21. Ohne Buchungen wirst du bei einem Inner Join keine Werte zurück bekommen. Dazu müsstest du einen Outer Join verwenden und künstlich die anderen Monate erzeugen falls sie nicht kommen und diese die NULL Werte mit 0 ersetzen.
  22. Nein, wir reden auf einmal von einem neuen Szenario. Das ist mir nicht klar gewesen. a) Gestern: 2. Rechner (PC und DB-System) Auf dem DB-System geht der ODBC Zugriff. Auf dem PC funkt es nicht (Grund: fehlende Vertrauensstellung Error 332 -> deswegen Umstellung auf SQL Authentifizierung) b) Heute: Heute neues Testsystem (Desktop332P71P) inklusive SQL Server bei dem scheinbar gar nichts mehr geht. Also auch nicht die lokale Verbindung. Du sagst beim 2. Aufruf würde die OBDC Verbindung einen Fehler melden. In Wirklichkeit sind es aber zwei unterschiedliche DSN Verbindungen. Das ganze scheint mir zuviel Spielerei zu sein. Daher hier mal was für Dich zum einlesen Sicherheitskonzept https://docs.microsoft.com/de-de/sql/relational-databases/security/security-center-for-sql-server-database-engine-and-azure-sql-database?view=sql-server-ver15 ODBC Grundlagen https://docs.microsoft.com/de-de/sql/connect/odbc/windows/microsoft-odbc-driver-for-sql-server-on-windows?view=sql-server-ver15
  23. Du verwirrst mich gerade. Eröffnungsthread
  24. Neustart ist nicht notwendig. Ist der Zugriff beide male vom PC weg? Du verwendest 2 unterschiedliche Server ... einmal ist es der Localhost einmal Desktop332P71P.
  25. Ein schneller Versuch wäre es den Benutzer auf die Serverrolle Sysadmin umzustellen.
×
×
  • Neu erstellen...