elchfrau
Goto Top

SQL-Server - View zu anderem SQLServer

Hallo Zusammen,

ich habe zwei SQL-Server.
Auf dem einen SQL-Server1 bin ich Admin und habe eine neue Datenbank1 erstellt.

Nun sollen Daten von einer anderen Datenbank2 von einem anderen SQL-Server2 in die Datenbank1 übernommen werden.
Eine View würde ausreichen.

Auf dem SQL-Server2 bin ich kein Admin und habe nur Leserechte.
Datenbank2 in Access per ODBC auslesen, ist kein Problem.

Wie kann ich nun in der Datenbank1 eine View/Tabelle zur Datenbank2 dynamisch anlegen?
Geht das?


Danke
Elchfrau

P.S:Ich hoffe es ist verständlich.

Content-ID: 78395

Url: https://administrator.de/contentid/78395

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

AndreasHoster
AndreasHoster 17.01.2008 um 11:14:43 Uhr
Goto Top
Ja, das geht.
Beschreibung für SQL2000 und den Enterprise Manager. Ob die Begriffe im SQL 2005 noch gleich sind weiß ich nicht und wo man es im Visual Studio des SQL2005 findet auch nicht. Gibts dort aber sicherlich auch.
Du musst auf dem SQL-Server1 einen Verbindungsserver zu Server2 einrichten (unterhalb des Menupunktes Sicherheit)
Dann noch das Mapping der Usernamen von Server1 zu den Usernamen von Server2 eintragen (unter Eigenschaftes des gerade angelegten Verbindungsservers).
Danach kannst Du mit select * from Server2.Datenbankname.Besitzername.Tabellenname auf die Daten zugreifen.
Falls Du es im QueryAnalyzer mit Befehlen machen willst:
sp_addlinkedserver ist die Stored Procedure für einen Verbindungsserver.

Ich habe das übrigens nur für SQL User hinbekommen, Windows User die Trusted Connections benutzen habe ich nicht hinbekommen.
Elchfrau
Elchfrau 18.01.2008 um 18:04:23 Uhr
Goto Top
Danke schön
werde ich testen.

Kann man dann auch nur die DB vom anderen Server auslesen?
Ich möchte vermeiden, das jemand auf die andere DB schreibrechte bekommt.


Danke
AndreasHoster
AndreasHoster 21.01.2008 um 09:12:33 Uhr
Goto Top
Das hängt ganz von den Berechtigungen ab, die der User auf der anderen Datenbank hat.
Wenn man DBO auf der anderen DB ist, sollte auch ein drop Servername.Datenbankname.Besitzername.Tabellenname möglich sein.
Wenn der User nur Lesen darf, dann geht halt auch nur Lesen.