我是SQL Server的新手。我已经完成了基本的管理,备份等工作。我还花了两年时间为一家软件公司做MySQL,为他们的MySQL定制程序提供软件支持。我主要是一个技术人员(桌面,网络),但是让我对这个数据库的东西有所了解!
我从一家运行SQL Server 2005的公司开始,需要做一些事情,而且我对语法的困难比什么都重要。该公司有4个SQL Server,为4个不同的位置运行相同的db(程序方面)。
我要做的是将更新的成本价格表从表1复制到带有*条件的其他表。基本上将table.parts
从server1.parts
复制到server2.parts * currencyconvertion field * markup (%)
这一点似乎很容易,除非我无法将数据库链接起来。我输入包含的服务器名称 - 并且语法错误,例如uk-server1 'can't find 'uk'
?另外我不确定4部分地址是正确的servername,dbname,schema,table?
好的。以前在尝试时我无法链接两台服务器。我现在解决了这个问题,现在服务器已经链接了。我被告知可能需要[]引用''服务器名称。我试过这个没有成功。问题似乎是具有 - uk-efacs的服务器的名称。一旦我输入这个并记住它现在链接,herror是找不到服务器efacs一个英国是错的?它没有准备好完整的服务器名称?为什么?
通过试验和错误计算出来只需要[]服务器名称即[uk-efacs] .db.table.field。现在这很好,只需要处理我的语法,因为查询显示错误。
答案 0 :(得分:0)
尝试在运行此服务器的服务器上创建链接服务器记录。在对象资源管理器(在SSMS中)展开服务器对象,右键单击“链接服务器”并选择“新建”选择SQL Server并键入远程服务器的名称,然后再次尝试查询。有点像你提供的片段一样困惑
update partmaster
set partmaster.fsunit = uk-efacs.efacsdb.partmaster.fsunit * uk-efacs.efacsdb.currency.currate * 1.32
似乎解析得很好。