Datenbankadministratoren

Fragen und Antworten für Datenbankexperten, die ihre Datenbankfähigkeiten verbessern und von anderen in der Community lernen möchten

2
Warum ist meine Protokolldatei so umfangreich? 22 GB. Ich führe Protokollsicherungen durch
Ich kann die Antwort nicht herausfinden. Ich habe mehrere Antworten wie diese gesehen: Warum wächst das Transaktionsprotokoll weiter oder der Speicherplatz geht zur Neige? und alle reden davon, Backups in Ihrer Protokolldatei auszuführen, damit diese kleiner wird. Ich mache das, aber es schrumpft nichts! Ich glaube auch nicht, dass ich …

1
Drehung des TDE-Hauptschlüssels
Erfordert das Ändern des TDE-Hauptschlüssels (DB-Hauptschlüssel und / oder DB-Verschlüsselungsschlüssel) immer eine Entschlüsselung und erneute Verschlüsselung? Wenn nicht, ab welcher Version konnten Sie mit SQL Server den Hauptschlüssel ändern und mussten nicht entschlüsseln / neu verschlüsseln? Mein Hintergrund liegt in Oracle, das TDE etwas anders behandelt.

2
Erläutern Sie eine OVER-Klausel
Ich habe eine kurze TSQL-Anweisung gesehen , die eine Zeichenfolge effektiv in ihre konstituierenden Zeichen aufteilt , eines pro Zeile, um den asciiWert für jedes Zeichen zu bewerten . Wenn ich die Abfrage richtig und effektiv lese, werden 3 CTEs verwendet, um eine Tabelle mit 1 Spalte mit 10.000 Zeilen …


1
Wie kann man Kreuz anwenden, um eine Ansicht zeilenweise zu bearbeiten?
Wir haben eine Ansicht, die für Einzelelementabfragen optimiert ist (200 ms keine Parallelität): select * from OptimizedForSingleObjectIdView e2i where ObjectId = 3374700 Es funktioniert auch mit kleinen Mengen statischer IDs (~ 5). select * from OptimizedForSingleObjectIdView e2i where ObjectId in (3374700, 3374710, 3374720, 3374730, 3374740); Wenn die Objekte jedoch von …

1
Welches Datenmodell / -schema auf einen Zeitreihen-Datenspeicher für Datenquellen mit unterschiedlichen Feldern angewendet werden soll
Ich werde gebeten, einen Datenspeicher für Zeitreihendaten zu entwickeln, bin mir jedoch trotz umfangreicher Recherchen nicht sicher, welches Datenmodell und welche Speichertechnologie ich wählen soll. Über die Daten Die Quelldaten, die im Datenspeicher gespeichert werden sollen, werden von physikalischen Maßeinheiten bereitgestellt. Jede Einheit kann eine andere Teilmenge von Variablen mit …



2
Gibt es einen Unterschied zwischen einem Prädikat, das einen Literalwert oder einen Parameterwert verwendet, wenn dieser Wert immer gleich ist?
Ich habe eine Abfrage, die immer nach einem Status filtert. Gibt es einen Leistungsvorteil auf eine dieser Arten gegenüber der anderen? (Dies steht im Zusammenhang mit einer Ad-hoc-Abfrage. Der Datentyp von UserStatus ist int.) ... AND UserStatus = 1 ... oder DECLARE @userStatus int = 1 ... AND UserStatus = …

2
Parameter-Sniffing = Ein mit Parametrierung = erzwungen. Welches hat Vorrang?
Diese beiden Einstellungen scheinen sich zu widersprechen. Man erzwingt die Planparametrierung, sodass nur ein Plan erstellt wird. Der andere ermöglicht mehrere Pläne Wenn Sie Parametrisierung = erzwungen haben, sollte das Parameter-Sniffing falsch sein oder hat man Vorrang? Zusätzliche Details In Bezug auf die folgenden Kommentare ist das Parameter-Sniffing ab SS …


3
Feld = Parameter ODER Parameter IST NULL Muster
Mir sind die Parameter-Sniffing-Probleme bekannt, die mit gespeicherten Prozeduren verbunden sind, die mit einem Prädikat wie dem folgenden geschrieben wurden: CREATE PROCEDURE [dbo].[Get] @Parameter INT = NULL AS BEGIN; SELECT [Field] FROM [dbo].[Table] WHERE [Field] = @Parameter OR @Parameter IS NULL; END; Abhängig vom Wert des Parameters Scalar oder NULL …

3
SQL Server erstellt unterschiedliche Pläne, wenn die ODER-Bedingung neu angeordnet wird
Ich habe eine unterdurchschnittliche Abfrage überprüft, die folgendermaßen aussieht: WHERE manymany.Active = -1 AND manymany.Check1 = -1 AND manymany.WebsiteID = @P1 AND CURRENT_TIMESTAMP BETWEEN ISNULL(manymany.FromDate, '1950-01-01') AND ISNULL(manymany.UptoDate, '2050-01-01') AND main.Active = -1 AND main.StatusID = 1 AND CURRENT_TIMESTAMP BETWEEN main.FromDate AND ISNULL(main.UptoDate, '2050-01-01') AND (main.TextCol1 IS NOT NULL OR …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.