Domanda

Voglio porta dati da un database del server a un altro server di database.I database sono entrambi su un altro mssql server 2005.La replica è probabilmente non è un opzione in quanto il database di destinazione è generato da zero su un [intervallo] base.

Preferebly vorrei fare qualcosa di simile

insert *
from db1/table1
into db2/table2
where rule1 = true

È ovvio che le credenziali di connessione sarebbe andare in somehwere in questo script.

È stato utile?

Soluzione

Io credo che quello che voglio fare è creare un server collegato come per questo articolo di msdn.Si sarebbe quindi selezionare utilizzando 4 parte nome dell'oggetto, ad esempio:

Select * From ServerName.DbName.SchemaName.TableName

Altri suggerimenti

È possibile utilizzare Apri Origine Dati Come questo :

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO

EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO


SELECT  *
FROM    OPENDATASOURCE('SQLOLEDB',
                   'Data Source=<Ip Of Your Server>;
                    User ID=<SQL User Name>;Password=<SQL password>').<DataBase name>.<SchemaName>.<Table Or View Name>

Go

Sono di SQL Server Integration Services (SSIS) di un'opzione?Se è così, mi piacerebbe usare quello.

Sarebbe trasferire l'intero contenuto del database da un server ad un altro, o solo di alcuni dati da un paio di tabelle?

Per entrambe le opzioni SSIS sarebbe fare il lavoro, soprattutto se si sta pianificando per il trasferimento su una base regolare.

Se si desidera semplicemente copiare alcuni dati da 1 o 2 tavoli e preferiscono farlo utilizzando TSQL SQL Management Studio quindi è possibile utilizzare il server collegato come suggerito da pelser

  1. Impostare il server di database di origine come un server collegato
  2. Utilizzare la seguente sintassi per accedere ai dati
select columnName1, columnName2, etc from serverName.databaseName.schemaName.tableName

Beh, io non sono d'accordo con il tuo commento sulla replica.È possibile avviare una replica con la creazione di un database da zero, e si può controllare l'aggiornamento sarà fatto l'aggiornamento del client di database o semplicemente ricreare il database.

Automatizzato replica faciliterà il vostro lavoro da gestire in modo automatico le chiavi e relazioni.

Penso che la cosa più semplice da fare è avviare una replica snapshot attraverso MSSQL Server di Studio, ottenere il T-SQL script corrispondenti (cioè il corrispondente T-SQL, istruzioni per la pubblicazione e abbonamenti), e registrare questi script come parte di un lavoro nell'elenco Processi di Agente SQL o come un processo di replica in replica della cartella.

Si potrebbe andare il server collegato percorso.

semplicemente non è possibile utilizzare il select * into devi fare un insert into selezionare.

Vorrei evitare di replica, se non avete esperienza con esso, come può essere difficile da risolvere se si rompe e si può essere a rischio di altri problemi, se non correttamente gestiti.

Keep it semplice, soprattutto se i database sono di piccole dimensioni.

È possibile utilizzare la Data Transformation Services per fare il lavoro?Questo fornisce tutti i tipi di bolt-insieme di strumenti per fare questo genere di cose.

È possibile scaricare il servizio SQL Server 2005 feature pack dal sito web di Microsoft qui

CREATE VIEW newR1 
AS
SELECT * from OPENQUERY ([INSTANCE_NAME], 'select * from DbName.SchemaName.TableName')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top