1. 程式人生 > >SQLSERVER復制數據庫某一個表到另一個數據庫中(可跨服務器)

SQLSERVER復制數據庫某一個表到另一個數據庫中(可跨服務器)

led 數據 rom msdb pan 錯誤 ons 數據庫 ble

一、復制數據庫某一個表到另一個數據庫中(同一服務器)
SELECT * INTO 表1 FROM 表2 --復制表2如果只復制結構而不復制內容或只復制某一列只要加WHERE條件就好了
例子:SELECT * INTO [IMCDB].[dbo].[SysLog] FROM [AimManageDB].[dbo].[SysLog] 
(將數據庫AimManageDB中的SysLog表復制到數據庫IMCDB中)

二、復制數據庫某一個表到另一個數據庫中(跨服務器) 
例子:select * INTO [SMSDB].[dbo].[SysLog] FROM openrowset(‘sqloledb‘,‘目標服務器’;‘賬號‘;‘密碼‘,[SMSDB].[dbo].[SysLog])

(將數據庫目標服務器中的SysLog表復制本地的數據庫SMSDB中)


eg:如果出現以下錯誤:
SQL Server 阻止了對組件 ‘Ad Hoc Distributed Queries‘ 的 STATEMENT‘OpenRowset/OpenDatasource‘ 的訪問,因為此組件已作為此服務器安全配置的一部分而被關閉。

解決方法:

1、系統管理員可以在本地SQL中通過使用 sp_configure 啟用 ‘Ad Hoc Distributed Queries‘
exec sp_configure ‘show advanced options‘,1 reconfigure exec sp_configure ‘Ad Hoc Distributed Queries‘,1 reconfigure
2、使用完成後,關閉Ad Hoc Distributed Queries:
exec sp_configure ‘Ad Hoc Distributed Queries‘,0 reconfigure exec sp_configure ‘show advanced options‘,0 reconfigure 其他本地導入方法 select * from table1 into table2 table2必須不存在 insert into table2 select * from table1 table2必須存在

SQLSERVER復制數據庫某一個表到另一個數據庫中(可跨服務器)