MS SQL Server client stürzt ab wenn kein db owner
Hi,
ich rätsel gerade an einer Anwendung herum, wo unsere Entwickler stets sagen daß db_owner Rechte auf dem MS SQL Server benötigt werden.
Nur ist das so nicht ganz richtig - sie erstellt Tablelen (ddladmin) sie liest und schreibt daten (datareader und datawriter)
Dazu erstellt sie Indizes (ddladmin?) und führt stored procedures aus.
Nur wenn ich db_owner wegnehme kreige ich eine nichtssagende, dafür extrem lange Fehlermeldung, ein openrecordset im SQLDataReader des SQL Server Native Client 11 wäre fehlgeschlagen.
Das letzte Lebenszeichen im SQL Server Profiler war ein exec auf eine stored procedure
Danach stürzt mir die Anwendung ab, sie wirft 5 kB an Text der im wesentlichen folgendes sagt:
Das "Movenext" in einem Recordset hat fehlgeschlagen bzw das Erstellen eines Cursors dazu.
Aber was an dem Vorgang benötigt mehr als eine Kombination aus
db_datareader
db_datawriter
db_ddladmin
db_securityadmin
db_accessadmin
db_backupadmin
Im SQL Server Log seh ich nicht mal bei aktiviertem C2 Audit irgenwelche Probleme, dort ist das letzte Lebenszeichen ein "Login succeeded" für die Applikation
Ich kann die Frage auch umdrehen:
Was kann der db_owner, was die anderen Rechte nicht können?
@admins warum sind Unterstriche in Titeln nicht erlabt?
ich rätsel gerade an einer Anwendung herum, wo unsere Entwickler stets sagen daß db_owner Rechte auf dem MS SQL Server benötigt werden.
Nur ist das so nicht ganz richtig - sie erstellt Tablelen (ddladmin) sie liest und schreibt daten (datareader und datawriter)
Dazu erstellt sie Indizes (ddladmin?) und führt stored procedures aus.
Nur wenn ich db_owner wegnehme kreige ich eine nichtssagende, dafür extrem lange Fehlermeldung, ein openrecordset im SQLDataReader des SQL Server Native Client 11 wäre fehlgeschlagen.
Das letzte Lebenszeichen im SQL Server Profiler war ein exec auf eine stored procedure
Danach stürzt mir die Anwendung ab, sie wirft 5 kB an Text der im wesentlichen folgendes sagt:
Das "Movenext" in einem Recordset hat fehlgeschlagen bzw das Erstellen eines Cursors dazu.
Aber was an dem Vorgang benötigt mehr als eine Kombination aus
db_datareader
db_datawriter
db_ddladmin
db_securityadmin
db_accessadmin
db_backupadmin
Im SQL Server Log seh ich nicht mal bei aktiviertem C2 Audit irgenwelche Probleme, dort ist das letzte Lebenszeichen ein "Login succeeded" für die Applikation
Ich kann die Frage auch umdrehen:
Was kann der db_owner, was die anderen Rechte nicht können?
@admins warum sind Unterstriche in Titeln nicht erlabt?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4325790645
Url: https://administrator.de/contentid/4325790645
Ausgedruckt am: 21.11.2024 um 15:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
klingt seltsam. Wenn es ein Rechteproblem wäre, dann kommt normalerweise eine Meldung, daß Du dieses oder jenes nicht darfst, weil Dir die Rechte fehlen.
Was hast Du denn im Profiler eingestellt zur Protokollierung? Ich würde mal SP:StmtStarting und SP:StmtCompleted empfehlen. Ggf. auch noch für TSQL, also SQL:... Achja und natürlich die User Error Message.
Was meint der Aktivitätsmonitor, was in dem Moment noch passiert?
Und was setzt Ihr für einen SQL Server ein? Sind die CU einigermaßen aktuell?
Gruß, Mad Max
klingt seltsam. Wenn es ein Rechteproblem wäre, dann kommt normalerweise eine Meldung, daß Du dieses oder jenes nicht darfst, weil Dir die Rechte fehlen.
Was hast Du denn im Profiler eingestellt zur Protokollierung? Ich würde mal SP:StmtStarting und SP:StmtCompleted empfehlen. Ggf. auch noch für TSQL, also SQL:... Achja und natürlich die User Error Message.
Was meint der Aktivitätsmonitor, was in dem Moment noch passiert?
Und was setzt Ihr für einen SQL Server ein? Sind die CU einigermaßen aktuell?
Gruß, Mad Max