我正在尝试弄清楚如何在Management Studio中从一个链接服务器到另一个链接服务器创建表的副本。我已经创建了两个链接服务器,并且我可以查询它们。但是,一个是SQL Server实例,另一个是到QuickBooks QODBC连接的ODBC连接。
在查询SQL Server实例时,我运行如下查询
SELECT *
FROM [MYSERVERNAME\SQLSERVICEINSTANCE].[DATABASENAME].[DBO].[TABLENAME]在查询QODBC QuickBooks数据库时,我运行如下查询
SELECT *
FROM OPENQUERY(QUICKBOOKS, 'SELECT * FROM Invoice')如何从QUICKBOOKS.Invoices中选择* into SQLSERVER.Invoices?
发布于 2017-02-01 08:03:15
select * into SQLSERVER.Invoices FROM QUICKBOOKS.Invoices实际上非常接近你想要的。
insert into [DATABASENAME].[DBO].[TABLENAME]
(column1, columns2)
SELECT column1, columns2
FROM OPENQUERY(QUICKBOOKS, 'SELECT * FROM Invoice')现在我猜你想经常这样做了吧?最直接的方法是首先运行此命令来清除目标表:
TRUNCATE TABLE [DATABASENAME].[DBO].[TABLENAME]如果您想制作一个完全相同的副本,请使用以下命令:
USE [DATABASENAME]
IF EXISTS (
SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[DBO].[TABLENAME] ')
AND type in (N'U')
)
DROP TABLE [DBO].[TABLENAME]
SELECT *
into [DBO].[TABLENAME]
FROM OPENQUERY(QUICKBOOKS, 'SELECT * FROM Invoice')您可以将这些脚本中的任何一个弹出到sql代理作业中,以便定期刷新
https://stackoverflow.com/questions/41968728
复制相似问题