今天遇到一个问题,需要将192.168.8.150上某张表的数据导入到我本机的一个SQL Server实例的一个表中。
当我直接用
select * from [192.168.8.150].[Comm100.General].dbo.t_Cpanel_ConfigOption
去访问时,执行出错了:
Could not find server '192.168.8.150' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.
根据它的提示,可能需要使用存储过程加一个Linked Server,查阅MSDN可得到sp_addlinkedserver的用法,
http://msdn.microsoft.com/zh-cn/library/ms190479.aspx
由于使用的都是SQL Server,所以该存储过程执行语句非常简单,如下:
EXEC sp_addlinkedserver N'192.168.8.150', N'SQL Server'
这时,再去执行上面的语句就可以顺利查询出来数据了。下面的迁移数据的脚本也得以顺利执行。
insert into [Comm100.GeneralAfterUpgrade].dbo.t_Cpanel_ConfigOption (OptionKey, [OptionValue], [Type], [Description])
select OptionKey, [OptionValue], [Type], [Description] from [192.168.8.150].[Comm100.General].dbo.t_Cpanel_ConfigOption
这应该也算是分布式数据库的应用。
博主遇到将192.168.8.150上某表数据导入本机SQL Server实例表的问题,直接查询出错。根据提示,使用存储过程sp_addlinkedserver添加Linked Server后可顺利查询数据,迁移数据脚本也能执行,这属于分布式数据库应用。
43

被折叠的 条评论
为什么被折叠?



