SQL2008 172.17.23.34 迁移到 172.17.1.49 使用工具linkserver
1.建立linkserver
EXEC sp_addlinkedserver
@server='linkip49', --随意命名linkserver
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='172.17.1.49' --要连接的服务器地址
2.建立linklogin
EXEC sp_addlinkedsrvlogin
'linkip49','false',NULL,'dbmanager','elitel'
Note:dbmanager 登陆名 elitel 密码 dbmanager最好拥有最大权限
查询linkserver
select * from sys.linked_logins
select * from sys.servers
删除linkserver
Exec sp_droplinkedsrvlogin 'linkip49',null
Exec sp_dropserver linkip49
2.编写脚本
create procedure proc_transfer_history_data
@var_months int, --要迁移多少个月以外的数据
@var_linkname varchar(10) --linkserver 名字
as
declare
@transer_sql varchar(200),
@delete_sql varchar(200)
begin
set @transer_sql ='INSERT INTO
'+@var_linkname+'.EliteUCbackup.dbo.CTICallRecord '
+'SELECT * FROM CTICallRecord WHERE callTime <
DATEADD(MM,-'+cast(@var_months as varchar(8))
+',CONVERT(DATETIME,CONVERT(VARCHAR(8),GETDATE(),112),112))';
--transfer histotry data
exec (@transer_sql);
set @delete_sql='DELETE FROM CTICallRecord WHERE callTime <
DATEADD(MM,-'+cast(@var_months as varchar(8))
+',CONVERT(DATETIME,CONVERT(VARCHAR(8),GETDATE(),112),112))';
--delete history data
exec(@delete_sql);
end
中间遇到一个问题;
2008 server 不能建立连接2000的数据库必须打补丁sp4
执行脚本 SQL2kSP4/install/instcat.sql 脚本
执行脚本方法
打开查询分析器--工具(工具栏)--查询分析器--文件夹打开标志(工具栏)--打开文件--执行
完成

