给定远程服务器“生产”(当前可通过 IP 访问)和本地数据库“开发”,我如何运行INSERT
使用 T-SQL 从“生产”进入“开发”?
我使用的是 MS SQL 2005,两个数据库之间的表结构有很大不同,因此我需要手动编写一些迁移脚本。
UPDATE:
T-SQL 确实不是我的菜。我尝试过以下操作(不知道我在做什么):
EXEC sp_addlinkedserver
@server = N'20.0.0.1\SQLEXPRESS',
@srvproduct=N'SQL Server' ;
GO
EXEC sp_addlinkedsrvlogin '20.0.0.1\SQLEXPRESS', 'false',
'Domain\Administrator', 'sa', 'saPassword'
SELECT * FROM [20.0.0.1\SQLEXPRESS].[DatabaseName].[dbo].[Table]
我收到错误:
用户“”登录失败。用户是
不与受信任的 SQL 关联
服务器连接。
创建一个链接服务器 http://msdn.microsoft.com/en-us/library/ff772782.aspx然后使用 4 部分符号
insert table
select <column names>
from LinkedserverName.DatabaseName.SchemaName.TableName
你也可以使用开放行集 http://msdn.microsoft.com/en-us/library/ms190312.aspx
example
insert table
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks2008R2.HumanResources.Department
ORDER BY GroupName, Name') AS a;
尝试这个来创建登录
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'20.0.0.1\SQLEXPRESS',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'sa',
@rmtpassword='saPassword'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)