今天遇到一个问题,需要将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
这应该也算是分布式数据库的应用。