34

あるサーバーのデータベースから別のサーバーのデータベースにデータを移植したいと考えています。データベースは両方とも異なる mssql 2005 サーバー上にあります。宛先データベースは [時間間隔] ベースでゼロから生成されるため、レプリケーションはおそらくオプションではありません。

できれば私は次のようなことをします

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

このスクリプトのどこかに接続資格情報が含まれることは明らかです。

4

8 に答える 8

38

あなたがしたいことは、このmsdnの記事に従ってリンクサーバーを作成することだと思います。次に、4 つの部分からなるオブジェクト名を使用して選択します。例:

Select * From ServerName.DbName.SchemaName.TableName
于 2008-09-16T08:59:04.843 に答える
8

次のようにオープン データ ソースを使用できます。

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
于 2013-09-06T13:39:29.817 に答える
1

SQL Server Integration Services(SSIS)はオプションですか?もしそうなら、私はそれを使用します。

于 2008-09-16T08:52:50.020 に答える
1

データベースのコンテンツ全体をあるサーバーから別のサーバーに転送しますか、それともいくつかのテーブルの一部のデータのみを転送しますか?

どちらのオプションでも、特に定期的に転送する予定がある場合は、SSIS がその仕事をします。

1 つまたは 2 つのテーブルからデータをコピーするだけで、SQL Management Studio で TSQL を使用してコピーしたい場合は、pelser の提案に従ってリンク サーバーを使用できます。

  1. ソース データベース サーバーをリンク サーバーとして設定する
  2. 次の構文を使用してデータにアクセスします
select columnName1, columnName2, etc from serverName.databaseName.schemaName.tableName
于 2008-09-16T09:48:34.053 に答える
1

リンクサーバールートに行くことができます。

select * into を使用することはできません。insert into select を実行する必要があります。

経験がない場合は、レプリケーションを避けます。破損した場合に修正するのが難しく、適切に管理されていないと他の問題が発生する可能性があるためです。

特にデータベースが小さい場合は、単純にしてください。

于 2008-09-16T20:54:30.537 に答える
1

レプリケーションに関するあなたのコメントには同意しません。データベースを最初から作成することでレプリケーションを開始できます。また、利用可能なクライアント データベースを更新するか、単純にデータベースを再作成することで更新を行うかを制御できます。

自動複製は、キーと関係を自動的に管理することで、作業を容易にします。

最も簡単な方法は、MSSQL Server Studio を使用してスナップショット レプリケーションを開始し、対応する T-SQL スクリプト (つまり、パブリケーションとサブスクリプションの両方に対応する T-SQL 命令) を取得し、これらのスクリプトをジョブの一部として記録することだと思います。 SQL エージェントのジョブ リスト、またはレプリケーション フォルダー内のレプリケーション ジョブとして。

于 2008-09-16T13:34:16.757 に答える
0

データ変換サービスを使用して仕事をすることはできますか?これは、この種のことを行うためのあらゆる種類のボルト結合ツールを提供します。

SQL Server 2005の機能パックは、MicrosoftのWebサイトからダウンロードできます

于 2008-09-16T08:50:47.327 に答える
-1
CREATE VIEW newR1 
AS
SELECT * from OPENQUERY ([INSTANCE_NAME], 'select * from DbName.SchemaName.TableName')
于 2016-09-22T01:40:47.957 に答える