2009-03-03 7 views
0

Quelle est la meilleure façon de faire cela? J'ai trouvé quelques déclarations INSERT, mais ils semblent tous fonctionner juste pour la copie de base de données interne.Est-il possible de copier les données dans une table MSSQL distante vers une table locale?

Mon interprétation:

INSERT INTO [PROGRAM003].[dbo].[faq] 
    ([id], [category], [question], [answer], [tags]) 
SELECT ([id], [category], [question], [answer], [tags]) 
FROM [SQL2005_552664_gsow].[dbo].[faq] 

Je ne suis pas très fluide avec MSSQL encore, donc toute aide est appréciée.

Répondre

1

Vous pouvez utiliser OPENDATASOURCE ou OPENROWSET pour accéder à des tables sur d'autres serveurs. Vous devez fournir des informations d'identification SQL dans la requête ou configurer les deux bases de données pour autoriser l'accès à votre identifiant Windows pour que cela fonctionne. Vous pouvez également utiliser l'assistant d'importation/exportation dans SQL Server Management Studio - cliquez avec le bouton droit sur la base de données et choisissez Tâches -> Importer ou Tâches -> Exporter.

+0

grâce, la base de données import/export a parfaitement fonctionné. – Anders

1

De quelle façon parlons-nous? Si c'est une autre base de données sur le même serveur, vous pouvez simplement préfixer le nom de la base, comme premier exemple montré:

INSERT INTO [mytable] SELECT * FROM [database].dbo.[table] 

S'il est sur un serveur complètement différent, vous devez les configurer comme serveurs liés. Ensuite, vous pouvez le faire:

INSERT INTO [mytable] SELECT * FROM [server].[database].dbo.[table] 

Vous doit, bien sûr, la base de données entièrement specificy et schéma dans ce serveur ainsi, et attendre la performance de souffrir parce qu'il aura besoin de transférer des données à travers le réseau.

+0

remote = serveur MSSQL partagé. – Anders

0

USE master

GO

EXEC sp_addlinkedserver @server = 'RemoteSer', @srvproduct = '', @provider = 'MSDASQL', @provstr = « DRIVER = {SQL Server } SERVER = 000.000.000.000 \ SQLEXPRESS; ' GO

SELECT * INTO bnkWeb.dbo.test1 DE [RemoteSer]. [BNK]. [Dbo]. [Test1]

Questions connexes