Hallo,
ich will eine SQL Server Datenbank exklusiv öffnen(Mit ADO und VB6.0).
Bei Access Datenbanken geht es hervorragend mit dem Paramter „Mode“ des AOD.Connection Objektes.
Kann mir jemand sagen, ob es vieleicht irgendwie auch mit dem SQL Server geht?
wie kann ich dann verhindern, dass wenn ich ein kritisches Datenbank Update durchführen will(per VB Code), niemand anders gerade etwas mit der Datenbank macht?
Gruß
Thomas
MSSQL ist eine multiuser-db, sollte also nicht möglich sein,
diese exklusiv zu öffnen. kann mich auch täuschen.
Hallo,
Transaktionen sind schön und gut, ich kann aber nicht feststellen, ob schon eine Transaktion läuft.
Wenn ich also ein Update mit einer Transaktion mache, und ein zweiter User will eine Sekunde später diese Update machen, läut das Programm auch in diese Transaktion. Hier kann man nichts ändern, bis bei dem ersten Rechner die Transaktion abgeschlossen ist.
Ist bei dem ersten PC die Transaktion abgeschlossen, läuft auf dem zweiten PC diese Transaktion auch noch durch. Ich will aber, dass manche Updates wirklich nur ein einziges mal durchgeführt werden.(Problem bei sehr Zeitintensiven Datenbank Updates)
Gruß
Thomas
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Dazu gibt’s in der „Master“ jedes SQL Server Stored Procedures wie sp_grantdbaccess und sp_revokedbaccess (geht auch mit sp_adrolemember u.ä.).
Es gibt aber, habe ich nachgelesen, Sperren für Transaktionen, die von unterschiedlicher Art sein können. So gibt es zB. die ISOLATION LEVELS, die ein Recordset ab dem Aufruf exklusiv sperren, und erst dann wieder freigegeben werden, wenn dies befohlen wird. Ich schicke Dir einen Auszug der MSDN im PDF-Format per Mail.
VG, Stefan.
LG, Stefan.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Links in der Baumstruktur befindet sich der Artikel unter Enterprise Development/.NET Enterprise Server/Microsoft SQL Server /Microsoft SQL Server 2000/SDK Doumentation/Accessing and Changing Relational Data/Locking bzs. /Cursors