別の方法を示すためだけに:
リンクサーバーを使用できます。
SELECT *
INTO without_id
FROM [linked_server].[source_db].dbo.[with_id];
これを使用して、ローカルサーバーへのリンクサーバーを一時的に作成できます。
DECLARE @LocalServer SYSNAME
SET @LocalServer = @@SERVERNAME;
EXEC master.dbo.sp_addlinkedserver @server = N'localserver'
, @srvproduct = ''
, @provider = 'SQLNCLI'
, @datasrc = @LocalServer;
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'localserver'
, @useself = N'True'
, @locallogin = NULL
, @rmtuser = NULL
, @rmtpassword = NULL;
その時点でselect * into
、localserver
リンクサーバーの4部構成の名前を参照してコードを実行します。
SELECT *
INTO without_id
FROM [localserver].[source_db].dbo.[with_id];
それが完了したら、localserver
これでリンクサーバーをクリーンアップします。
EXEC sp_dropserver @server = 'localserver'
, @droplogins = 'droplogins';
または、OPENQUERY
構文を使用できます
SELECT *
INTO without_id
FROM OPENQUERY([linked_server], 'SELECT * FROM [source_db].dbo.[with_id]');
JOIN (SELECT 1) AS dummy ON 1 = 1
か?