Sugar432 1 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 Hallo Forum, ich habe ein Problem und finde keine Lösung. Auf einem SQL-Server (sinnigerweise mit dem Namen "SQL") sind zwei Instanzen eingerichtet. Einmal "SQL" und einmal "HR". Ich muss nun in einer Datenbank auf der Instanz "SQL" einen VIEW erstellen, der mit Daten aus einer anderen Datenbank in der Instanz "HR" bestückt werden soll. Ich bekomme es aber nicht hin. Wie frage ich von der einen Instanz eine Tabell der anderen Instanz ab? Berechtigungen sind nicht das Problem, in beiden Instanzen melde ich mich als SA an und mit dem User werden auch die Abfragen (zumächst) ausgeführt. Bin für jeden Hinweis sehr dankbar. Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 Moin, das ist ein Problem, wenn man Instanzen einrichtet, obwohl man sie gar nicht braucht. In den meisten Situationen wäre das gar nicht nötig, sondern man könnte einfach mehrere Datenbanken in derselben Instanz nutzen. Eine andere Instanz ist aus Sicht des SQL Servers ein separater Server. Wenn ich nicht ganz falsch liege, müsstest du diese also so ansprechen wie einen Remote-Server. Siehe z.B. diese Fundstellen: https://duckduckgo.com/?q=sql+server+query+across+instances&ia=web Parallel würde ich aber prüfen, ob es nicht schlauer wäre, die Dinge innerhalb derselben Instanz abzuwickeln. Gruß, Nils 1 Zitieren Link zu diesem Kommentar
Lian 2.425 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 Eine eigene Instanz erfordert eigene LUNs bzw. Disks und bringt i.d.R. keine Vorteile gegenüber einem Multi-DB-SQL-Server/-Cluster. Ebenso bringt es keine nennenswerten Sicherheitsvorteile. Sharepoint Datenbanken sind hier (leider) eine Ausnahme. Ansonsten, falls ein Software-Hersteller eine eigene Instanz anfordert, schriftlich nachfragen, warum die Software das erfordert. Meistens kommt dann nichts mehr ... Zitieren Link zu diesem Kommentar
cj_berlin 1.323 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 vor 30 Minuten schrieb Lian: Eine eigene Instanz erfordert eigene LUNs bzw. Disks ...wenn sie geclustert ist. Mir sind bisher vier stichhaltige Gründe für mehrere Instanzen begegnet: Mehrere Anwendungen fordern unterschiedliche Collations auf Server-Ebene (System Center-Produkte zum Beispiel), man möchte sie aber auf dem gleichen SQL-Server fahren, beispielsweise weil er physisch ist Berechtigungsvergabe per Instanz ist um Welten einfacher einzurichten als RBAC innerhalb einer Instanz Man möchte oder muss Datenbanken eine bestimmte Menge an RAM und/oder eine bestimmte Anzahl an CPU-Kernen garantieren können Man möchte in einem Cluster die Leistung aller Knoten im Regelbetrieb auch wirklich verbrauchen (Aktiv/Aktiv). Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 vor 39 Minuten schrieb cj_berlin: ...wenn sie geclustert ist. Mir sind bisher vier stichhaltige Gründe für mehrere Instanzen begegnet: Mehrere Anwendungen fordern unterschiedliche Collations auf Server-Ebene (System Center-Produkte zum Beispiel), man möchte sie aber auf dem gleichen SQL-Server fahren, beispielsweise weil er physisch ist Berechtigungsvergabe per Instanz ist um Welten einfacher einzurichten als RBAC innerhalb einer Instanz Man möchte oder muss Datenbanken eine bestimmte Menge an RAM und/oder eine bestimmte Anzahl an CPU-Kernen garantieren können Man möchte in einem Cluster die Leistung aller Knoten im Regelbetrieb auch wirklich verbrauchen (Aktiv/Aktiv). 2. Einfacher ist nicht unbedingt stichhaltig 3. Dafür gibt es den https://docs.microsoft.com/en-us/sql/relational-databases/resource-governor/resource-governor?view=sql-server-ver16 4. Je nach Cluster (Always On AG) geht es auch aktiv/aktiv ohne Instanzen sondern auf DB Ebene/Gruppen Ebene. 1 Zitieren Link zu diesem Kommentar
Lian 2.425 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 vor einer Stunde schrieb cj_berlin: Man möchte in einem Cluster die Leistung aller Knoten im Regelbetrieb auch wirklich verbrauchen (Aktiv/Aktiv). Sollte man sowieso nicht in der Form planen, wenn auch nachvollziehbar (Ressourcenplanung). N+1 min Wie? Man kann SQL Server ohne Clustering betreiben? Zitieren Link zu diesem Kommentar
cj_berlin 1.323 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 (bearbeitet) vor einer Stunde schrieb Lian: Sollte man sowieso nicht in der Form planen, wenn auch nachvollziehbar. N+1 min OK, also 7 Knoten = 6 aktive. vor 1 Stunde schrieb Dukel: 2. Einfacher ist nicht unbedingt stichhaltig 3. Dafür gibt es den https://docs.microsoft.com/en-us/sql/relational-databases/resource-governor/resource-governor?view=sql-server-ver16 4. Je nach Cluster (Always On AG) geht es auch aktiv/aktiv ohne Instanzen sondern auf DB Ebene/Gruppen Ebene. Was ist auf dieser Welt schon unbedingt. Aber wenn ich an 80% der Installationen denke, die ich so kenne, gibt es das folgende RBAC-Konzept: Es gibt nur die Rollen "root" und "nix", also "public". Pro Fachbereich müssen diese Rollen separaten Gruppen zugewiesen werden. Und ein solches "RBAC" ist pro Instanz mit ein paar Klicks eingerichtet - und produziert auch keinen Configuration Drift mit der Zeit. Ressource Governor ist ein Enterprise-Only Feature. Ich musste die Editionsdiskussion unzählige Male führen, aber nie war dies das Feature, das den Ausschlag für Enterprise gegeben hätte. AG ist ebenfalls Enterprise-Only. Und bei großen Datenbanken würde sich, um beim Beispiel 7 Knoten zu bleiben, der Storage-Bedarf versiebenfachen. Das ist nicht immer gewollt. bearbeitet 17. Juni 2022 von cj_berlin Zitieren Link zu diesem Kommentar
Lian 2.425 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 vor 1 Stunde schrieb cj_berlin: Man möchte in einem Cluster die Leistung aller Knoten im Regelbetrieb auch wirklich verbrauchen (Aktiv/Aktiv). vor 24 Minuten schrieb cj_berlin: OK, also 7 Knoten = 6 aktive. Solange man nicht die Leistung aller Knoten verbraucht wird, klar. Aber wir schweifen ab. @Sugar432 Wie Nils sagte: Die zweite Instanz ansprechen, wie einen Remote-Server oder eben überlegen auf einen Multi-DB-Server zu schwenken. Aus Sicht der Verwaltung (Handling, SQL Agent, Backup etc.) meine ich, dass eine Instanz einfacher zu administrieren ist. Zitieren Link zu diesem Kommentar
Sugar432 1 Geschrieben 17. Juni 2022 Autor Melden Teilen Geschrieben 17. Juni 2022 Die Konstruktion in Frage zu sellen oder zu verändern hatte ich nicht vor. Das Thema weitere Instanzen kam (m.E. nach) auf, weil zum einen unterschiedliche Versionsstände getestet werden und Drittanbieter-Software auf demselben Sever läuft. Danke für die Erklärungen. 1 Zitieren Link zu diesem Kommentar
Lian 2.425 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 BTW: Auf einem SQL Server können Datenbanken auch gemischt in einem älteren SQL Server Modus bzw. Kompatibilitäts-Level laufen: https://madafa.de/blog/sql-server-die-bedeutsamkeit-des-datenbanken-kompatibilitaetslevels https://www.sqlskills.com/blogs/glenn/database-compatibility-level-in-sql-server/ https://docs.microsoft.com/en-us/sql/relational-databases/databases/view-or-change-the-compatibility-level-of-a-database Ich denke keiner hier will Dich zu einer größeren Aktion ohne Notwendigkeit überreden... Zitieren Link zu diesem Kommentar
Sugar432 1 Geschrieben 17. Juni 2022 Autor Melden Teilen Geschrieben 17. Juni 2022 Die Umgebung arbeitet auch mit unterschiedlichen SQL-Server-Versionen (Modi). Meine Frage war lediglich, wie ich Tabellen einer anderen Datenbank in einer anderen Instanz abfragen kann. Die Vor- und Nachteile unterschiedlicher Instanzen kannte ich, grob, schon vorher. An der Topologie kann ich aber nichts ändern. Zitieren Link zu diesem Kommentar
Lian 2.425 Geschrieben 17. Juni 2022 Melden Teilen Geschrieben 17. Juni 2022 vor einer Stunde schrieb Sugar432: Die Umgebung arbeitet auch mit unterschiedlichen SQL-Server-Versionen (Modi). Meine Frage war lediglich, wie ich Tabellen einer anderen Datenbank in einer anderen Instanz abfragen kann. Schau Dich Mal zum Thema linked servers um, z.B. hier: https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine https://www.sqlshack.com/how-to-create-and-configure-a-linked-server-in-sql-server-management-studio/ Zitieren Link zu diesem Kommentar
Sugar432 1 Geschrieben 18. Juni 2022 Autor Melden Teilen Geschrieben 18. Juni 2022 Danke für den Hinweis. Zwischen anderen SQL Servern in der Farm habe ich das bereits umgesetzt. Linked oder Trusted Server sollten bei unterschiedlichen Instanzen auf einem dedizierten SQL Server nicht notwendig sein 1 Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 18. Juni 2022 Melden Teilen Geschrieben 18. Juni 2022 Moin, du hast gesehen, dass du in der ersten Antwort schon Hinweise bekommen hat, wie es gehen sollte? Gruß, Nils 1 Zitieren Link zu diesem Kommentar
Sugar432 1 Geschrieben 19. Juni 2022 Autor Melden Teilen Geschrieben 19. Juni 2022 @NilsK: Mit den Ergebnissen deiner Suche kann (konnte) ich nur wenig anfangen - denn ich habe vor meiner Anfrage hier auch "gegoogelt"! Der Zugriif auf eine andere Instanz auf dem selben SQL Server über "linked Server" mag funktionieren. Es geht aber eben auch einfacher. Von daher war dein Hinweis schon hilfreich, aber nicht zielführend. Wenn ich nochmal einen Oberlehrer-Kommentar haben möchte, darf ich dann auch dich zukommen? Gruß Sugar 2 2 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.