跨服務器操作 Table 的棘手的問題?!
我有一句話:
EXEC ( 'ALTER TABLE [SH-DB-04].BFMDB.DBO.steve_0326 ADD BBBBB DATETIME NULL ' )
這句話是在一個叫做[SH_DB_02]的服務器的查詢分析器上執行的。
提示語句是:
Server: Msg 117, Level 15, State 1, Line 1
The object name 'SH-DB-04.BFMDB.DBO. ' contains more than the maximum number of prefixes. The maximum is 2.
提示前綴太多,但是要跨服務器操作Table必需寫三曾前綴!
所以非常棘手啊!!
------解决方案----------------------创建链接服务器
exec sp_addlinkedserver 'srv_lnk ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'srv_lnk ', 'false ',null, '用户名 ', '密码 '
go
--查询示例
select * from srv_lnk.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk ', 'droplogins '
go