一、添加远程服务器 sp_addserver [ @server = ] 'server' [ , [ @local = ] 'local' ] [ , [ @duplicate_ok = ] 'duplicate_OK' ]sp_addserver 'ACCOUNTS'在第一台运行 Microsoft® SQL Server™ 的服务器上运行下列代码: EXEC sp_addlinkedserver ServerName1, N'SQL Server' EXEC sp_addlinkedserver ServerName2 EXEC sp_configure 'remote access', 1 RECONFIGURE GO停止并重新启动第一台 SQL Server。 在第二台 SQL Server 上运行下列代码。确保使用 SQL Server 身份验证登录。 -- The example shows how to set up access for a login 'sa' -- from ServerName1 on ServerName2. EXEC sp_addlinkedserver ServerName2, local EXEC sp_addlinkedserver ServerName1 EXEC sp_configure 'remote access', 1 RECONFIGURE GO -- Assumes that the login 'sa' in ServerName2 and ServerName1 -- have the same password. EXEC sp_addremotelogin ServerName1, sa, sa GO停止并重新启动第二台 SQL Server。 使用 sa 登录,现在就可以在第一台 SQL Server 上执行第二台 SQL Server 上的存储过程。
如果用delphi做程序来做的话,可以通过clientdataset来取出a的数据,全部插入的b中(应该可以,没有具体测试过)
EXEC master..xp_cmdshell 'bcp "dbname..tablename" in c:DT.txt -c -Sservername -Usa -Ppassword' /** 导出文本文件
EXEC master..xp_cmdshell 'bcp "dbname..tablename" out c:DT.txt -c -Sservername -Usa -Ppassword' 可以将A机的SQLSERVER数据到处到文本文件中,然后拷贝到B机,使用导入文本文件SQL语句,将文本文件复制到B机的SQLSERVER表中,其间有一个问题是索引问题,如果表中没有索引则覆盖原数据,若有索引且含重复值得话,违反约束,bcp则导入失败,如果加了-h "CHECK_CONSTRAINTS"
选项则可以检查约束,但是这样又可能插入不了数据,如:
EXEC master..xp_cmdshell 'bcp "dbdemo..deptinfo" in c:\DeptInfo.txt -c -t -S WindowsXP -U sa -P WindowsXP -h "CHECK_CONSTRAINTS"'怎么只追加不重复的数据而不覆盖已有约束数据??如果一样的索引的数据都一致的话,先删除表中数据再导入倒是可以
Myado.fieldbyname('fieldget').value:=Youado.fieldbyname('fieldset').value;
你可以看看opendatasource,opendataset,openquery这几个函数的帮助。
sp_addserver [ @server = ] 'server'
[ , [ @local = ] 'local' ]
[ , [ @duplicate_ok = ] 'duplicate_OK' ]sp_addserver 'ACCOUNTS'在第一台运行 Microsoft® SQL Server™ 的服务器上运行下列代码:
EXEC sp_addlinkedserver ServerName1, N'SQL Server'
EXEC sp_addlinkedserver ServerName2
EXEC sp_configure 'remote access', 1
RECONFIGURE
GO停止并重新启动第一台 SQL Server。
在第二台 SQL Server 上运行下列代码。确保使用 SQL Server 身份验证登录。
-- The example shows how to set up access for a login 'sa'
-- from ServerName1 on ServerName2.
EXEC sp_addlinkedserver ServerName2, local
EXEC sp_addlinkedserver ServerName1
EXEC sp_configure 'remote access', 1
RECONFIGURE
GO
-- Assumes that the login 'sa' in ServerName2 and ServerName1
-- have the same password.
EXEC sp_addremotelogin ServerName1, sa, sa
GO停止并重新启动第二台 SQL Server。
使用 sa 登录,现在就可以在第一台 SQL Server 上执行第二台 SQL Server 上的存储过程。