Datenbankadministratoren

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

1
Identifizieren von Dateiwachstumsereignissen
Ich entdecke eine Reihe von DBs in meinem Portfolio, die mit Standardeinstellungen für das automatische Wachstum (entweder in Schritten von 1 MB oder in Schritten von 10%) erstellt wurden und über einen längeren Zeitraum erweitert wurden. Wenn ich den Umfang der externen Fragmentierung für jede der DB-Dateien messen möchte, kann …

1
Der Speicherauszug einer MySQL-Tabelle beim Import ersetzte vorhandene Datensätze
Ich habe einen Dump mit mysqldump gemacht. mysqldump -u... -p... mydb t1 > mydb_table.sql Dann habe ich den Speicherauszug in eine andere Datenbank mit derselben Tabelle, aber unterschiedlichen Datensätzen importiert. mysql -u...-p... mydb < mydb_tables.sql Die importierende Datenbank hatte Datensätze von Primärschlüssel 1 bis 1000, und die exportierende Datenbank hatte …

2
Beste Möglichkeit, eine Datenbank für Archivierungszwecke zu defragmentieren / zu komprimieren
Wir haben eine SQL Server-Instanz, die für die E-Mail-Archivierung verwendet wird (mit freundlicher Genehmigung eines Archivierungspakets eines Drittanbieters). Von Zeit zu Zeit wird die Software auf eine neue leere Datenbank übertragen. Wir haben dies in der Vergangenheit vierteljährlich gemacht, aber wir versuchen es jetzt monatlich. Die zu archivierende Datenmenge beträgt …

2
Erhöhter RAM, schlechtere Leistung
Konfiguration: Windows Server 2008 R2 SQL Server 2008 R2 SP1 240 GB RAM TempDB besteht aus 8 x 16 GB großen Datendateien ohne automatisches Wachstum (insgesamt 128 GB). Physischer / eigenständiger Server Dieser Server wird für die ETL-Verarbeitung verwendet. Wir haben gerade mehr RAM auf diesem Server für insgesamt 240 …

1
So listen Sie alle Benutzer auf, die Berechtigungen für ein Paket haben
Ich suche nach einer Abfrage, um alle Benutzer aufzulisten, die Berechtigungen für ein Paket haben. Beispielsweise wurde dem Benutzer Schema_A die Berechtigung erteilt, das Paket B.MyPackage auszuführen. Ich frage Ansichten oder Tabellen ab wie: role_tab_privs, role_sys_privs, sys.dba_sys_privs, dba_role_privs ... aber ich kann nicht finden, wonach ich suche.

5
Effizientes Filtern großer Mengen mit Disjunktionen
Nehmen wir an, ich habe einen einzigen Tisch CREATE TABLE Ticket ( TicketId int NOT NULL, InsertDateTime datetime NOT NULL, SiteId int NOT NULL, StatusId tinyint NOT NULL, AssignedId int NULL, ReportedById int NOT NULL, CategoryId int NULL ); In diesem Beispiel TicketIdist der Primärschlüssel. Ich möchte, dass Benutzer "teilweise …

2
Ab wann wird ein Index effizient?
Ich habe viele Ressourcen gefunden, die erwähnen, dass das Hinzufügen eines Index zu einer Tabelle die Suche beschleunigt und Einfügungen langsamer macht, aber nur, wenn die Tabelle groß ist. Dies führt zu einem Kompromiss, der eine Entwurfsentscheidung darstellt. Es sollte jedoch eine ungefähre Tabellengröße geben, vor der die Verwendung eines …

4
Verschieben von Zeilen von einer Tabelle in eine andere
Ich verschiebe Datensätze als Teil des Archivierungsprozesses von einer Datenbank in eine andere. Ich möchte die Zeilen in die Zieltabelle kopieren und dann dieselben Zeilen aus der Quelltabelle löschen. Meine Frage ist, was ist der effizienteste Weg, um zu überprüfen, ob die erste Einfügung erfolgreich war, bevor die Zeilen gelöscht …

2
Transaktion und Try-Catch im SQL Server-Job
Wir haben DML-Operationen in jedem Schritt eines SQL Server-Jobs. Um sicherzustellen, dass das Update / Insert zurückgesetzt wird, falls etwas schief geht, habe ich die Datenänderungen für jeden Schritt in TRY CATCHund TRANSACTIONBlöcke eingeschlossen: BEGIN TRY BEGIN TRANSACTION [[INSERT/update statements]] ... IF @@TRANCOUNT > 0 BEGIN COMMIT TRANSACTION PRINT 'Successful.' …

3
Durchgesickerte SQL Server-Transaktionen
Ich habe eine Datenbank, auf die ungefähr 50 Clients über TDS über TCP zugreifen, die anscheinend keinen Protokollspeicherplatz freigibt. Die Anzahl der Prozesse bleibt bei den erwarteten 50, und einige von ihnen sind ziemlich langlebig (> 120 Tage). Die Datenbank verfügt jetzt über 40 GB Protokollspeicher (nur 14 GB Daten), …

2
MySQL-Binärprotokolle - Überspringen Sie eine Tabelle
Gibt es eine Möglichkeit, eine bestimmte Tabelle in den Binärprotokollen zu überspringen? Ich habe Binärprotokolle als meine inkrementelle Sicherungsstrategie zwischen nächtlichen Sicherungen konfiguriert. Wir haben jedoch eine große Referenztabelle, die wir jeden Abend aus einem Stapelprozess aktualisieren werden (70-GB-Tabelle). Diese Tabelle wird nur gelesen und jede Nacht mit aktualisiert mysqlimport. …
9 mysql  logs  binlog 

1
MongoDB verwendet nicht den gesamten verfügbaren RAM
Ich habe Daten im Wert von etwa 200 GB in einem Mongo-Cluster gespeichert. Der physische Speicher auf einer der Instanzen, auf denen mongo ausgeführt wird, beträgt 8 GB. In dieser Instanz läuft nichts anderes von Bedeutung. Soweit ich anhand von Mongos Dokumenten verstehen kann (wie dieses: http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage ), sollte der …
9 mongodb  memory 

2
case versus isnull versus coalesce
Ich habe gerade die Dokumentation für die SQL Server 2012-Prüfungen gelesen und den folgenden Punkt gesehen: case versus isnull versus coalesce Jetzt weiß ich , WIE jeden verwenden , aber ich weiß nicht , WENN jedes zu verwenden. Bitte könnte ein Körper klarstellen. Vielen Dank. Ps. Könnten wir bitte einen …


2
Wie setze und erhalte ich benutzerdefinierte Datenbankvariablen?
Mit PGAdmin IIIIch kann mit der rechten Maustaste auf eine Datenbank klicken, zur VariablesRegisterkarte navigieren und eine Variable Name-Wert-Eigenschaft in die Datenbank selbst einfügen. Gibt es eine Möglichkeit, diese anzupassen? Ich habe eine application_nameVariable gesehen, möchte aber eine application_versionVariable haben.

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.