Announcement

Collapse
No announcement yet.

SQL Server 2000 sperrt gesamte Tabelle

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Server 2000 sperrt gesamte Tabelle

    Hallo,

    Wenn ich in meinem SQL Server 2000 (SP3) eine neue Tabelle (Identitätsspalte = gruppierter PK, 11 nvarchar(255)-Spalten, 1 float, 2 int und eine Timestamp Spalte) anlege und in diese ca. 180.000 Datensätze (die nich immer alle Felder füllen) importiere, dann zeigt sich immer wieder folgendes Bild im Enterprise Manager unter Sperren:

    - wenn ich mir direkt aus dem EM die ersten 100 Zeilen anzeigen lasse habe ich keine Sperren.

    - Wenn ich mir die ersten 1.000 Zeilen anzeigen lasse, habe ich 2 Einträge unter Sperren/Objekte: jeweils IS, einmal für TAB und einmal für PAG. Was ein wenig komisch ist, ist daß bei INDEX jeweils verschiedene Indizes drinstehen, die aber mit der Tabelle überhaupt nichts zu tun haben, sondern für ganz andere Tabellen definiert sind.

    - Wenn ich mir 10.000 Zeilen anzeigen lasse, habe ich eine IS Sperre für TAB und eine S Sperre für PAG. Ausserdem wieder jeweils einen INDEX einer unbeteiligten Tabelle dahinter.

    - Wenn ich mir alle Zeilen anzeigen lasse, dann habe ich eine Sperre S für TAB, und unter Index steht wieder einer aus einer anderen Tabelle.

    Jetzt frage ich mich folgendes:
    1. Warum sind die Sperren so unterschiedlich je nach Menge der abgefragten Datensätze? Ich verwende jeweils den Enterprise Manager, Rechtsklick auf Tabelle und "Tabelle öffnen", dann entweder "erste Zeilen" oder "alle Zeilen".
    Gibt es da Speicherprobleme? Sperrt der SQL Server mehr Zeilen, weil die "Wahrscheinlichkeit höher" ist, daß ich was ändere, wenn ich mehr Zeilen abrufe ???

    2. Wie kann ich das wegbekommen - ich müsste ja wieder in die Tabelle schreiben können, auch wenn andere sie anschauen.


    -----------------weitere Infos:

    Auf demselben Server liegen einige andere Tabellen, bei einer habe ich dasselbe Problem, bei allen anderen (die sogar teilweise größer sind) habe ich das Problem nicht. Bei neu erstellten Tabellen habe ich das Problem immer. Wenn ich eine "alte" Tabelle per Script neu erstelle, dann hat diese auch das Problem.

    Die DB ist ca. 6Gb insgesamt, unbeschränkt vergrößerbar - Fill-Factor für Tabellenindex ist bei 80%.

    Auf einem 2. Server (Testumgebung) habe ich das Problem auch, wenn ich das Backup der DB einspiele. Auch nach einem DB bzw. Serverneustart bleibt das bestehen. Es wandert also irgendwie mit, aber eben nur bei der einen alten und den neu erstellten Tabellen - alle anderen vorhandenen verhalten sich nicht so.

    Ich war erst der Meinung es läge an meinen MS Access Clients, doch nachdem ich das nun alleine mit dem Enterprise Manager auch nachvollziehen kann, scheint Access dieses Mal unschuldig zu sein oder es hat die Tabellen "remote" kaputtgemacht ?!

    Ich bin echt ein klein wenig frustriert und verzweifelt. An welchem Rädchen muss man denn nur drehen, daß dieser seltsame Effekt weggeht? Ich wäre für jede Hilfe dankbar.


    Grüße,

    Frank
Working...
X