When I try to run a simple query involving a linked server it fails: SELECT * FROM [server2].[DWH].[dbo].[SomeTable] Msg 18456, Level 14, State 1, Line 1 Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. But, there is another user who can run this query with problems. ----------------------- Our company doesn't have a SQL Server DBA and we have inherited a few SQL Servers from another company after acquisition. I'm a developer trying to run some queries and I'm having hard time trying to figure out how to configure access correctly. I don't really know where to look, so I'll try to explain the current setup to the best of my ability. There is Server1: Microsoft SQL Server 2012 (SP4) (KB4018073) - 11.0.7001.0 (X64) Aug 15 2017 10:23:29 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor) There is Server2: Microsoft SQL Server 2016 (SP1-CU15-GDR) (KB4505221) - 13.0.4604.0 (X64) Jun 15 2019 07:56:34 Copyright (c) Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor) Our company has a domain `MAIN_DOMAIN` and I log into my Windows laptop as `MAIN_DOMAIN\my.name`. When I run SSMS on my laptop I can connect to both Server1 and Server2 using Windows authentication. As far as I understand, my login in both SQL Servers has pretty much all the permissions: Server1: CREATE LOGIN [MAIN_DOMAIN\my.name] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] ALTER SERVER ROLE [sysadmin] ADD MEMBER [MAIN_DOMAIN\my.name] ALTER SERVER ROLE [serveradmin] ADD MEMBER [MAIN_DOMAIN\my.name] ALTER SERVER ROLE [setupadmin] ADD MEMBER [MAIN_DOMAIN\my.name] ALTER SERVER ROLE [processadmin] ADD MEMBER [MAIN_DOMAIN\my.name] ALTER SERVER ROLE [diskadmin] ADD MEMBER [MAIN_DOMAIN\my.name] Server2: CREATE LOGIN [MAIN_DOMAIN\my.name] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] ALTER SERVER ROLE [sysadmin] ADD MEMBER [MAIN_DOMAIN\my.name] ALTER SERVER ROLE [serveradmin] ADD MEMBER [MAIN_DOMAIN\my.name] ALTER SERVER ROLE [setupadmin] ADD MEMBER [MAIN_DOMAIN\my.name] **The Server1 and Server2 themselves are not in `MAIN_DOMAIN`, they are in `other_domain.com`** I can Remote Desktop to both of them using `other_domain\my.name` user with a different password than my main domain user. This is how the linked server is configured on Server1: EXEC master.dbo.sp_addlinkedserver @server = N'server2', @srvproduct=N'SQL Server' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'server2',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'collation compatible', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'data access', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'dist', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'pub', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'rpc', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'rpc out', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'sub', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'connect timeout', @optvalue=N'0' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'collation name', @optvalue=null EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'lazy schema validation', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'query timeout', @optvalue=N'0' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'use remote collation', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'server2', @optname=N'remote proc transaction promotion', @optvalue=N'true' On Server1 the MSSQLSERVER service (sqlservr.exe) runs under user called `NT Service\MSSQLSERVER`. On Server2 the MSSQLSERVER service (sqlservr.exe) runs under user called `NT Service\MSSQLSERVER`. [![sql server service user][1]][1] --------------- A different user can run the query involving linked server without problems. He logs into Server1 using Remote Desktop and using `other_domain\his.name`. He runs SSMS on that Server1 and connects to SQL Server using Windows authentication. His login on Server1 has all permissions as well: CREATE LOGIN [other_domain\his.name] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] ALTER SERVER ROLE [sysadmin] ADD MEMBER [other_domain\his.name] ALTER SERVER ROLE [serveradmin] ADD MEMBER [other_domain\his.name] -------------- What do I need to configure, so that I could run a query involving linked server while I'm connected to SQL Server from my laptop using `MAIN_DOMAIN\my.name` ? [1]: https://i.sstatic.net/HpCPL.png