Sql server 开始分布式事务(Transact-SQL)

Sql server 开始分布式事务(Transact-SQL),sql-server,asp.net-mvc-4,sql-server-2012,Sql Server,Asp.net Mvc 4,Sql Server 2012,我想为我使用的以下查询实现BeginDistributedTransaction(Transact-SQL) USE LOXF; GO BEGIN DISTRIBUTED TRANSACTION; -- Delete candidate from local instance. DELETE DatatbaseName.dbo.TBLUSERPROFILE WHERE USERINDEX = 13; -- Delete candidate from remote instance. DE

我想为我使用的以下查询实现BeginDistributedTransaction(Transact-SQL)

USE LOXF;
GO
BEGIN DISTRIBUTED TRANSACTION;
-- Delete candidate from local instance.
DELETE DatatbaseName.dbo.TBLUSERPROFILE
    WHERE USERINDEX = 13;
-- Delete candidate from remote instance.
DELETE RemoteServer.DatatbaseName.dbo.TBLUSERPROFILE
    WHERE USERINDEX = 13;
COMMIT TRANSACTION;
GO

但是,当我运行上述查询时,我收到一条错误消息:“在sys.servers中找不到服务器‘RemoteServer’。请验证指定的服务器名称是否正确。如有必要,请执行存储过程sp_addlinkedserver以将服务器添加到sys.servers”。因此,请让我知道我错在哪里。

在对其发出查询之前,您必须创建一个链接服务器

这可以通过
sp_addlinkedserver
存储过程(如错误消息所述)或GUI完成:

启动SSMS;在对象资源管理器中的服务器下,查找服务器对象,然后查找链接服务器,并从关联菜单中选择“新建链接服务器”


如果远程服务器也是SQL server,则只需输入服务器名称即可。您可能还需要设置安全性。如果您在两台服务器上都使用windows身份验证,并且可以正常访问远程服务器本身,则只需选择“使用登录的当前安全上下文创建”单选按钮即可。

您没有创建到
远程服务器的链接服务器,对吗?如何创建链接服务器?请在上面的查询中帮助什么是RemoteServer?它是服务器实例或保留关键字。这应该是远程服务器的名称。开始分布式事务(Transact-SQL)与两阶段提交相同。