So lassen Sie gleichzeitiges Lesen und Schreiben in derselben Tabelle in SQL Server zu

713
curious1

Ich habe eine Website, die auf MS SQL Server 2014 Enterprise mit zwei virtuellen Clustermaschinen und AlwaysOn ausgeführt wird.

Die Website liest und schreibt häufig an einem Tisch. Alle Lese- und Schreibvorgänge finden jedoch immer in unterschiedlichen Zeilen (Datensätzen) statt. Anders ausgedrückt: Es gibt niemals einen Zeitpunkt, an dem zwei oder mehr Lese- oder Schreibvorgänge in derselben Zeile zur selben Zeit stattfinden.

Wie kann ich diese Tabelle konfigurieren, um sicherzustellen, dass ein Schreib- oder Lesevorgang für eine Zeile in dieser Tabelle nicht den Zugriff auf andere Zeilen in derselben Tabelle durch andere Lese- und Schreibvorgänge gleichzeitig blockiert? Zum Beispiel können zwei Schreibvorgänge gleichzeitig für die Tabelle ausgeführt werden, da sie niemals in dieselbe Zeile schreiben. Grundsätzlich möchte ich die Leistung der Website steigern und die Gefahr von Deadlocks verringern.

Danke für jeden Input!

1
Hallo DavidPostill, das ist eine Frage zu Computersoftware, die in diesem Fall MS SQL Server ist. Jeder Datenbankanbieter hat seine eigenen Methoden, um Isolationsstufen zu verwenden, zusätzlich zu den allgemeinen Konzepten von Datenbanktransaktionen. Dies ist keine Programmierfrage. Ich frage nach, wie es auf dem SQL Server, einem bestimmten Softwareprodukt, ausgeführt wird. curious1 vor 6 Jahren 0
Erwägen Sie einige Tests mit [Hints] (https://docs.microsoft.com/de-de/sql/t-sql/queries/hints-transact-sql-table). "* Die folgenden Tabellenhinweise sind mit und ohne zulässig Schlüsselwort WITH: NOLOCK, READUNCOMMITTED, UPDLOCK, REPEATABLEREAD, SERIALIZABLE, READCOMMITTED, TABLOCK, TABLOCKX, PAGLOCK, ROWLOCK, NOWAIT, READPAST, XLOCK, SNAPSHOT und NOEXPAND * ". Vergessen Sie auch nicht, dass es eine SE-Community https://dba.stackexchange.com/ gibt, die sich mit SQL-Fragen wie diesen befasst. Sie kennzeichnen SQL 2008, erwähnen aber 2015 das Thema. Welches ist es übrigens? Pimp Juice IT vor 6 Jahren 1
@PimpJuiceIT, vielen Dank, dass Sie mir in dieser und anderen Frage geholfen haben! Ich habe SQL 2014. Der Grund für die Auswahl von SQL 2008 liegt darin, dass ich herausfand, dass es nur wenige Personen in SQL-Server-Gruppen gibt. curious1 vor 6 Jahren 0
@PimpJuiceIT, wenn Sie Ihre Kommentare als Antwort posten können, werde ich sie als Lösung auswählen. curious1 vor 6 Jahren 0
Der Mod hat es von Anfang an auf Eis gelegt. Es tut mir leid. Sind Sie in der Nähe von Washington, DC? curious1 vor 6 Jahren 0

0 Antworten auf die Frage