verwendetes Datenbanksystem: <sqlespress 2014>
Hallo, habe folgendes Problem und weiss nícht genau wie ich das einstellen soll.
Ich schreibe gerade eine Applikation mit der ich Daten in eine Datenbank schreibe. Ich erstelle in C# die Datentabelle und nutze dazu SMO.
Nun habe ich das Problem, dass bei der Tabelle immer "guest." vorangeschreiben wird, anstatt wir gewohnt "dbo.".
Zur Datenbank: Diese ist lokal auf meinem SQL-Server.
Ich habe einen User angelegt (Sqlseitiger User), der das Schema "dbo" hat und sqlreader / sqlwriter / dbo Berechtigung hat.
Noch eine andere Sache, was mich verwirrt: Melde ich mit dem Server Managment an, als dieser DB-User, und lege eine Tabelle manuell an, dann passt das ganze. Es wird dann "dbo." vorangestellt.
Hat jemand eine Idee woran das liegen kann.
Klingt erst einmal direkt nach einem Berechtigungsfehler.
Wenn guest eine Tabelle anlegen darf, soltlest du dringend die Berechtigungen prüfen.
Im schlimmsten Fall kann guest auch deine DB droppen, was dann totaler Datenverlust wäre.
Oder die Daten könnten auch von guest gelesen werden, was unerlaubten Zugriffen Tür und Tor öffnet.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Hallo, guest hat ein rotes Kreuz als Icon, und in den Schemas hat er eigentlich nur public.
Der user den ich verwende habe ich mit dem Passwort angelegt.
In meiner Datenbank habe ich ihm reader /writer und dbo gegeben.
Ich weiss nun wirklich nicht wo diese Einstellung schief gegangen sein kann.
Schau mal mit dem SQL Managment Studio unter Sicherheit\Anmeldungen dein Benutzer\Eigenschaftzen und da unter Benutzer Zuordnung nach dem Standardschema der Datenbank.
Sollte man mal gelesen haben:
Hallo Palin, sorry ich hatte bis letzte Woche Urlaub.
Nun kann ich da wieder einsteigen, oder eher gesagt ich muss. Unser Admin der die ganzen Server wartet und sich damit auch auskennt ist noch längere Zeit ausser Gefecht.
Ich habe mal den SQlExpress mit MMO 2017 auf meinem Rechner istalliert.
Da habe ich genau das gleiche Problem.
Hier mal die Einsellungen, kannst du dazu was sagen was falsch sein kann?
Problem gelöst. Aber ich denke es ist ein Problem von MS.
Die Zuweisung für den Sql-User (nicht Windowsauthenifizierung) mit der
"Default Database" ist das Problem. Da mußte diese aktuelle Datenbank zugewiesen werden. Hatte das auch in einem Forum gelesen.
Habe das dann mal auf meinem lokalen SQL-Express 2014 getestet, da war dann auch das gleiche Problem.
Ich weiss jetzt nur nicht wie das ist, wenn ich weitere DB's habe, in der dieser User dynamische Änderungen durchführt. Laut dem Forumsbericht sollte dann ein neue User angelegt werden, das habe ich aber nicht getestet, vielleicht ist der letzte Satz auch Quatsch.
Sofern Du von sp_defaultdb sprichst; das ist ein Relikt, das mit der kommenden SQL Server Version entfernt wird.
In Forks wie Azure SQL gibts das schon gar nicht mehr.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code