Wie der Titel sagt, möchte ich alle Datensätze aus der aktuellen Produktion in unsere Entwicklungsdatenbank kopieren. Ich habe Sichtzugriff auf die Produktionsdatenbank und db_owner-Rechte für die Entwicklungsdatenbank. Ich schreibe eine gespeicherte Prozedur, die nach den Daten der aktuellen Tage sucht, also muss ich die Entwicklungsdaten mit den Daten der aktuellen Tage von unserem Produktionsserver aktualisieren. Hier ist, was ich mit so weit habe kommen:Datensätze vom aktuellen Tag zwischen Tabellen in verschiedenen Datenbanken kopieren
use DatabaseProd
DECLARE @i_DateCurrent DATETIME;
SET @i_DateCurrent = CONVERT(DATETIME,CONVERT(DATE,GETDATE()));
insert into DatabaseDev..dbo.Table_1
select * from dbo.TableProd
where date_received >= @i_DateCurrent
AND date_received < DATEADD(DAY,1,@i_DateCurrent)
ich die folgende Fehlermeldung erhalten:
Msg 7202, Level 11, State 2, Line 4 Could not find server 'ServerDev' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.
Wenn ich die sys.servers Tabelle überprüfen, gibt es nur eine Zeile und ist nur der Produktionsserver.
versucht, mit mir sp_addlinkedserver aber es gibt mir
Msg 15247, Level 16, State 1, Procedure sp_MSaddserver_internal, Line 29 User does not have permission to perform this action.
Also, meine Frage ist: Gibt es eine andere Möglichkeit, dies zu tun, die auf dem Produktionsserver nicht mehr Berechtigungen erforderlich? Ich würde eine T-SQL-Anweisung bevorzugen, da ich das für eine Weile machen werde, aber wenn es einen anderen Weg gibt, kann ich es auch tun. Die Datenbanken, die ich verwende, sind beide MS SQL Server 2008 R2.
Sie haben zwei Punkte: DatabaseDev..dbo.Table_1 wenn DatabaseDev nicht verbunden ist Server versuchen: DatabaseDev.dbo.Table_1 – steryd
Scheint, Sie haben diese beiden Datenbanken auf einem separaten Server (oder Instanzen). In diesem Fall müssen Sie, um auf Datenbanken auf einem Server von einem anderen Server zuzugreifen, den Verbindungsserver auf einem dieser beiden Server konfigurieren. MSDN - https://msdn.microsoft.com/en-us/library/ff772782.aspx – GSazheniuk
Ja, es klingt wie Verbindungsserver, aber wenn Sie Windows-Anmeldeinformationen und vertrauenswürdige Verbindung verwenden, müssen Sie möglicherweise auch über Kerberos Delegation kümmern Das ist möglicherweise keine Straße, die Sie je nach Ihrer Umgebung herunterfahren möchten. Verwenden Sie SSIS? Ein ziemlich schnelles Paket könnte erstellt werden, um zu tun, was Sie wollen, und es würde nicht die 2 Server benötigen, um zu sprechen, aber SSIS wird es für Sie tun. – Matt