0

これを行う最善の方法は何ですか?いくつかのINSERTステートメントを見つけましたが、それらはすべて内部データベースのコピーにのみ機能するようです。

私の表現:

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

私はまだ MSSQL にあまり詳しくないので、どんな助けも歓迎します。

4

4 に答える 4

2

私たちはどの程度「リモート」で話しているのでしょうか? それが同じサーバー上の別のデータベースである場合は、最初の例が示したように、データベース名を先頭に追加できます。

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

まったく別のサーバー上にある場合は、それらをリンク サーバーとして設定する必要があります。次に、これを行うことができます:

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

もちろん、そのサーバー内のデータベースとスキーマも完全に特定する必要があり、ネットワークを介してデータを移動する必要があるため、パフォーマンスが低下することが予想されます

于 2009-03-03T18:04:08.750 に答える
1

USEマスター

行く

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

SELECT * INTO bnkWeb.dbo.test1 FROM [RemoteSer].[bnk].[dbo].[test1]

于 2011-04-14T15:06:21.040 に答える