Jump to content

Tossi65

Members
  • Gesamte Inhalte

    57
  • Registriert seit

  • Letzter Besuch

Über Tossi65

  • Geburtstag 29.11.1965

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

Fortschritt von Tossi65

Enthusiast

Enthusiast (6/14)

  • Erste Antwort
  • Engagiert
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei

Neueste Abzeichen

1

Reputation in der Community

  1. Ich habe jetzt mal die Berechtigungen per Script gesetzt und es geht. Es scheint ein Fehler in der SSMS zu sein. Danke für eure Unterstützung
  2. Das kann nicht sein. Der Fehler kommt auf 3 verschiedenen PC's mit unterschiedlichen SSMS.
  3. Guten Morgen, SSMS Version 19.3 und 20.1. Sql-Server Version 2012 und 2022. Gemeint ist das Anlegen von Datenbankrollen über die Eigenschaften/Securables. Gruß Torsten
  4. Hallo Kollegen, ich habe eine Datenbankrolle angelegt und will eine Tabellenfunktion berechtigen (Select). Aber wenn ich übernehmen sage, kommt folgender Fahler: Key cannot be null. Parameter name: key (mscorlib) im SQL Management Studio. Ich habe es Remote versucht oder direkt auf dem SQL Server. Nichts geht. Kennt jemand das Problem? Gruß Torsten
  5. @NilsK Ich gebe dir recht ohne Datenmodell ist schlecht. Aber ich werde es jetzt mit dem Trigger versuchen. Danke für Eure Unterstützung. Gruß Torsten
  6. @MDD Das habe ich mir mit einem Trigger geholfen. Bei Insert , Update und Delete schreibt der Trigger mir die verwendeten Felder des Schlüssels mit Werten und die Aktion in eine Tabelle. Eine Datumsspalte gibt es nicht. Es sind einfach Verknüpfungstabellen mit einer "n zu m Beziehung". Vielleicht ist der Trigger die einzige Lösung. Gefällt mir aber nicht. Danke Torsten
  7. Hallo an alle, ich gebe euch allen Recht. Aber mir hat man beim Designen einer Tabelle bei gebracht, das eine Tabelle eine eineindeutige Spalte haben sollte(ID, Lfdnr,...). Meist sogar als AutoGenerate für die fortlaufende Nummer. Diese hat nicht unbedingt etwas mit dem prim Key zu tun. Über diese eindeutige ID kann ich den Datensatz direkt ansprechen oder als Offset für Abfragen benutzen. Wenn ich diese Spalte nicht habe wie soll ich folgendes realisieren: "Select Top 1000 * from tabelle where lfdNr > x". Das geht nicht,leider. Der Primary Key besteht aus mehreren Fremdschlüsseln, einer eindeutigen Länderkennung und wird so eindeutig eindeutig. Die Tabellen sind auf mehreren Datenbank-Servern global verteilt. Der zusammengesetzte Prim. Key soll ein zusammenführen der Daten in eine Tabelle ermöglichen (Zentral). Das heisst die Fremdschlüssen werden in der Zentraltabelle mehrfach vorkommen bis auf die Länderkennung! Also Replikation nachgebildet. Die Entwickler sind in Rente oder nicht mehr da. Das ganze ist natürlich historisch entstanden. Das ich jetzt an den Datenbanken kaum etwas machen kann ist mir klar. Aber ich soll das Verteilen und Zusammenbringen der Daten ermöglichen. Mir ist klar, das diese Tabellen eigentlich nur mit einem kompletten Scan von 0 bis n über den prim. Key von der Quelle zum Ziel abzugleichen sind. Wie gesagt mehrere Mio. Datensätze pro Datenbank. Bei den restlichen Tabellen schaue ich einfach auf die max Lfdnr einer Tabelle im Ziel und dann in der Quelle. Daraus ergibt sich der Gap und wird übertragen. Ich hoffe es ist jetzt etwas deutlicher.Noch einmal die Frage: Gibt es von der DBEngine interne Datensaplten die man benutzen könnte? Vielen Dank Torsten
  8. Guten Morgen, ich warte mehrere alte Datenbanken und soll eine Datenabgleich erstellen. Ich kenne die Urheber nicht persönlich, aber dafür deren Fehler. In den Datenbanken gibt es Tabellen, welche einen zusammengesetzten Primary Key besitzen, aber keine eigene eindeutige Identspalte. Wenn ich also einen Datensatz suche finde ich diesen mit dem prim Key. Aber wenn ich die Daten abgleichen soll wird es schwierig. Ich könnte natürlich eine Tabellenscan durch führen, aber nach welcher Spalte soll ich die Daten sortieren. Die Tabellen haben teilweise mehrere Mio. Datensätze. Deshalb lese ich immer 1000 Datensätze ein , vergleiche und wieder 10 Datensätze. Wenn ich das nicht mache, dauert es nicht lang und der Arbeitsspeicher ist am Ende. Nun meine Frage: Ich komme aus der FireBird Welt und da haben die Tabellen von der DBEngine interne Tabellenspalten, z. B. "rdb$Key". Darin ist eine eindeutiger Index den man auch nutzen kann. Gibt es so etwas auch im SQL Server. Gruß Torsten
  9. Danke für Eure Unterstützung. Ich mache hier mal zu. Wir erstellen auf den SQL Servern einen SQL User. Für ein Gruppe in der Domäne ist die Fluktuation der User zu groß. Danke Torsten
  10. ok, verstehe. Ich erstelle das Programm unter dem Admin Account und benutze die Windows Anmeldung für den SQL Server. Somit nimmt er auch die Anmeldung vom Admin. Jetzt starte ich das Programm unter User Schmidt. Dann versucht das Programm auch mit diesem User sich an dem SQL Server, bei Windows Anmeldung, anzumelden. Das schlägt natürlich fehl. Also müsste ich jetzt einen SQL User für die Anmeldung nehmen. Dafür müsste der Admin auch als SQL User angelegt werden. Gruß Torsten
  11. Ich erstelle das Programm mit meinem Account und habe Zugriff als Admin auf den SQL Server. Der User des des Programmes soll diese Berechtigung natürlich nicht haben. Ich weiß ja auch nicht wer das Programm alles benutzt. Ich bin aber nicht berechtigt in der Domäne User, Gruppen und Berechtigungen zu vergeben. Also muss ich nehmen was mir gegeben wird. Da der oben genannte neue User auf ca. 12 SQL Servern über dieses Programm zugreifen soll, muss dieser auf allen SQL Servern als SQL User / lokaler User angelegt werden? Na dann viel Spaß. Gruß Torsten
  12. Damit meine ich einen Windows User in der Domäne. Gruß Torsten
  13. Guten Morgen, ich erstelle ein kleines Programm mit Datenbankzugriff. Bisher habe ich immer Windows-Anmeldung genommen. Für das Programm will ich aber nicht den vom Client PC angemeldeten Benutzer benutzen, sondern einen anderen extra angelegten User. Dieser soll auch per Windows-Anmeldung am Server angemeldet werden. Geht das??? Ich dachte bisher, wenn ich einen User bei "Integrated Security=True" mitgeben wird der angemeldet. Gruß Torsten
  14. Hallo NilsK, Hintergrund ist, das wir mehrere gleiche Datenbanken haben, die aus einer Zentraldatenbank mit Daten versorgt wird. Früher mit der Replikation(Transaktional) und jetzt wird das alles über SSIS Services gemacht. Die alte Replikation ging nicht mehr, weil Fehler in der Datenbankstruktur gemacht wurden. Die Urheber der Replikation sind auch nicht mehr verfügbar. Vielleicht liest das hier ja auch jemand aus dem Developer Team. Danke. Gruß Torsten
  15. Hallo NilsK, ich benutze KeepIdentity, um die Werte zu erhalten, da wir die Daten replizieren wollen. So wie ich das verstehe wird dabei die Befehlszeile "SET IDENTITY_INSERT Tabelle ON". Wenn jetzt ein Fehler bei WriteServer() auftritt, wird dann der Befehl wieder mit "SET IDENTITY_INSERT Tabelle OFF" aufgehoben??? Das ist meine Frage. Gruß Torsten
×
×
  • Neu erstellen...