Jump to content
  • Content Count

    137
  • Joined

  • Last visited

Community Reputation

9 Neutral

About MDD

  • Rank
    Junior Member

Recent Profile Visitors

755 profile views
  1. Wäre mir ehrlich gesagt neu wenn das mit einem Backup / Restore sich verbessern sollte. Aber kann ich auch nicht 100 %ausschließen.
  2. Okay wer lesen kann ist klar im Vorteil. Du schreibst vom Activity Monitor- also hast du das Studio. Du kannst im Studio über den Objekt Explorer die Fragmentierung eines Index in seinen Eigenschaften / Fragmentierung nachsehen. Und du kannst schauen ob die Statistiken veraltet sind. Das Reorganisieren bzw. Neuerstellen kannst du entweder über das Objektexplorer vornehmen oder per Script Abhängig von der Eingesetzten SQL Version entweder mit Alter Index https://docs.microsoft.com/de-de/sql/t-sql/statements/alter-index-transact-sql?view=sql-server-ver15 od
  3. Hallo möglicherweise sind die Indexe defragmentiert oder die dazugehörigen Statistiken veraltet. Es gilt zu prüfen ob ein Index auch verwendet wird bzw. werden kann. Hilfreich ist dabei das SQL Server Management Studio. Hast du das zur Verfügung?
  4. Hallo Oliver also für den Zugriff würde ich mit dem Stichwort: "openrowset" auf den Weg gehen Für das Prüfen hilft dir womöglich "MERGE" weiter. Gruß MDD
  5. Moin, with leitet in diesem Kontext eine CTE (Common Table Expression) ein. Das ist quasi eine Unterabfrage die vor dem eigentlichen Select aufgerufen wird und auf dessen Ergebnis im Select zugegriffen wird. Das Ergebnis der CTE wird kurz im Speicher gehalten und als Tabelle "existing_docs" zur Verfügung gestellt (Siehe dein left outer join). In diesem Falle wird existing_docs mit dem Alias ed weiter gekürzt, Gruß MDD
  6. Du kannst unten satt exec @sql das exec durch ein Print ersetzen und das Statement mal selbst anschauen. Falls es beim Fehler eine andere Zeile angezeigt hat liegt es wahrscheinlich am Group by, dort steht das nochmal ein @values das ich übersehen habe und du scheinbar auch. declare @values varchar(1000) declare @sql varchar(max) set @values =replace('G01,AL', ',', CHAR(39) + ',' + CHAR(39)) set @sql = ' select lb.artikel, art.NAME, sum(lb.menge) as menge, sum(lbe.TOTALELEMVALUE) as Wert,' + char(39) + 'mögliche Projekte =' + char(39) + '[dbo].[udf_anp_Projekte_L
  7. Ups habe ein Values übersehen - habe es oben korrigiert - versuchs nochmal
  8. declare @values varchar(1000) declare @sql varchar(max) set @values =replace('G01,AL', ',', CHAR(39) + ',' + CHAR(39)) set @sql = ' select lb.artikel, art.NAME, sum(lb.menge) as menge, sum(lbe.TOTALELEMVALUE) as Wert,' + char(39) + 'mögliche Projekte' + char(39) + '[dbo].[udf_anp_Projekte_LBW_WE](lb.artikel, ' + char(39) + @values + char(39) + ') from lagerbelegung lb left outer join artikel art on art.artikel = lb.artikel left outer join LAGERBELEGUNGELEMENT lbe on lb.PREISGRUPPIERUNGID = lbe.PREISGRUPPIERUNGID where lb.lager in (' + char(39) + @values + char(39) + ') and art.artik
  9. Strings stehen unter Hochkomma. also 'G01','AL' Dein Statement überliefert aber ein 'G01,AL' womit du wahrscheinlich keine Treffer findest.
  10. Dann steht bei der zweiten View das peter_lustig nicht drinnen. Ein Update würde dir vermutlich auch nicht viel bringen, selbst wenn es ginge. Immerhin ist das nur die Definition und nicht die View selbst. Was du machen kannst ist vor noch eine Spalte zusammenstellen und dort vor jede View ein Drop dazuschreiben. select TABLE_name, REPLACE(view_definition, 'peter_lustig', 'peter_traurig') AS Neues_Create, 'DROP VIEW IF EXISTS ' + TABLE_NAME as Drops, * from INFORMATION_SCHEMA.VIEWS where view_definition like '%peter_lustig%' Dann kopierst den Inhalt der Spalten "
  11. Mir ist gerade aufgefallen dass ich am Schluss das % vergessen habe. Mit "Aber leider funktioniert das nicht" ist es ein wenig schwierig weiter zu kommen. Was funktioniert nicht? Funktioniert das Statement nicht oder weißt du nicht wie du es umsetzen musst? Versuch noch mal das mal das Statement und pass die Datenbanknamen entsprechend an. select *, REPLACE(view_definition, 'peter_lustig', 'peter_traurig') AS Neues_Create from INFORMATION_SCHEMA.VIEWS where view_definition like '%peter_lustig%' Schau ob in der letzten Spalte "Neues_Create
  12. Hallo In einem Schritt die Definitionen zu ändern wird schwierig. Aber du kannst sie mittels Cursor auslesen, die View droppen und neu erstellen select *, REPLACE(view_definition, 'peter_lustig', 'peter_traurig') from INFORMATION_SCHEMA.VIEWS where view_definition like '%peter_lustig%' Mittels des Namens kannst du die alte View löschen und dann neu anlegen. Die Definition kannst du dann wieder mit sp_sqlexec ausführen und damit die View neu anlegen. Ich denke das sollte gehen. Gruß MDD
  13. Nochmal die Frage: Funktionieren die inkrementellen Backups direkt ohne DPM? Also einfach wenn du sie über das Studio machst?
  14. Guten Morgen, funktionieren die inkrementellen Backups direkt ohne DPM? Wie sagen die Logs?
  15. Guten Morgen dafür gibt es extra eine Funktion: SELECT DATEADD(MM, [intervallMonaten], [datumLetztePruefung]) FROM ... Gruß MDD PS: Unter der Fehler liegt daran, dass die Datenbank ein Datum im Hintergrund als eine laufende Zahl abbildet. Und wenn man da einfach eine Zahl dazuzählt ändert es sich der Gesamtwert aber nicht die richtige stelle im Datum. Zum Beispiel hat der heutige Tag die Nummer 44319
×
×
  • Create New...