Datenbankadministratoren

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

1
Was ist die idiomatische Lösung in SQL Server zum Reservieren eines ID-Blocks zur Verwendung in einer Masseneinfügung?
Ich habe eine Tabelle mit einer Identitätsspalte und möchte einen Block von IDs reservieren, die ich zum Masseneinfügen verwenden kann, während Einfügungen in diese Tabelle weiterhin möglich sind. Beachten Sie, dass dies Teil einer Masseneinfügung mehrerer Tabellen ist, wobei sich diese anderen Tabellen über eine FK auf diese IDs beziehen. …

1
Verwenden Sie XQuery, um einige Kinder herauszufiltern, aber behalten Sie die Eltern bei
SET NOCOUNT ON; DECLARE @xml AS Xml = '<a><b>bbb</b><c>ccc</c><d>ddd</d></a>'; SELECT @xml; SELECT @xml.query('/a/*[self::b or self::c]'); SET @xml.modify('delete /a/d'); SELECT @xml; Gibt die folgenden Ergebnismengen an Original: <a><b>bbb</b><c>ccc</c><d>ddd</d></a> Gefiltert, um Nicht- (b | c) auszuschließen - aber Eltern fehlen: <b>bbb</b><c>ccc</c> Was ich will (verfügbar mit Löschschritten, aber nicht mit .query): <a><b>bbb</b><c>ccc</c></a> …

2
Wie kann ich feststellen, ob die Daten in einer SQL Server-Tabelle seitenkomprimiert sind?
Dies ist eine Folgefrage zu einer Frage, die ich gestern gestellt habe: Kann ich eine Masseneinfügung in eine leere, seitenkomprimierte Tabelle vornehmen und eine vollständige Komprimierung erhalten? Die Antwort auf diese Frage (umschrieben von Randi Vertongens ausgezeichneter Antwort) lautet Ja, erfordert jedoch, dass die Masseneinfügung eine Sperre auf Tabellenebene aufweist. …





1
Linker Join ohne doppelte Zeilen
Ich habe zwei Tabellen namens recordund record_history. Für jeden Datensatz kann es mehr als einen Verlauf geben. Sie können durch idund verbunden werden record_id. Ich möchte alle recordEinträge mit den neuesten record_historyDaten erhalten. Ich habe die Abfrage wie folgt erstellt: SELECT rec.id, rec.name, rech1.data AS last_history_data FROM record rec LEFT …


2
Wie wende ich ORDER BY und LIMIT in Kombination mit einer Aggregatfunktion an?
Eine Geige für meine Frage finden Sie unter https://dbfiddle.uk/?rdbms=postgres_10&fiddle=3cd9335fa07565960c1837aa65143685 . Ich habe ein einfaches Tabellenlayout: class person: belongs to a class Ich möchte alle Klassen auswählen und für jede Klasse möchte ich die ersten beiden Personenkennungen der zugehörigen Personen nach absteigendem Namen sortieren. Ich habe dies mit der folgenden Abfrage …

2
SQL Server Tempdb auf SSD mit E / A.
Wir haben kürzlich unsere Tempdb-Dateien auf eine neue SSD aufgeteilt und sehen: 5348 Vorkommen von E / A-Anforderungen, deren Ausführung in Datei [T: \ tempdb \ tempdb4.ndf] länger als 15 Sekunden dauert. Dieser Fehler tritt mehrfach auf. Wir haben die Fehler nicht gesehen, als tempdb wieder auf seinem ursprünglichen RAID …

3
Sichern Sie SQL Server 2016-Instanzanmeldungen
Ich muss eine Instanz von SQL Server 2016 sichern. Ich habe bereits nächtliche Sicherungen der gewünschten Datenbanken, muss jedoch die Benutzer und Rollen für die Instanz sichern. Wie kann ich das tun? Eingebauter Job oder benutzerdefiniertes T-SQL, dessen Ausführung ich planen kann? Ich bin nicht sehr gut mit SQL, wenn …

3
Installieren Sie SQL Server unter Debian
Ich möchte SQL Server unter Linux installieren. Von der MS-Site habe ich gelesen, dass Red Hat, SUSE und Ubuntu unterstützt werden, aber ich möchte es unter Debian verwenden. Gibt es eine Chance, mit der Installation erfolgreich zu sein, da Ubuntu auf Debian basiert? https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup

3
Beschleunigen Sie die Anzahl (*) auf großen Tabellen
Wir verwenden eine Vendor App, die unter SQL Server Enterprise ausgeführt wird, und es ist ziemlich ärgerlich, COUNTAnweisungen in der Items-Tabelle auszuführen, während die meisten Finanzdokumente (Bestellungen, Rechnungen usw.) verarbeitet werden. Z.B SELECT COUNT('A') FROM [dbo].[Items] T0 Ich bin mir sicher, dass das normalerweise in Ordnung wäre, aber es gibt …

5
Wie werden MS SQL-Ergebnisse vertikal angezeigt?
Folgendes habe ich derzeit beim Ausführen von Abfragen in sqlcmd: 1> SELECT 1,2,3,4 2> GO ----------- ----------- ----------- ----------- 1 2 3 4 (1 rows affected) Bei längeren Ergebnissen ist dieses Ausgabeformat zwar nicht lesbar, da es in das Terminal eingeschlossen wird. Wie zeige ich die Ergebnisse vertikal an (entspricht …

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.