[英]T-sql comparing results of linked server query with local query
我正在嘗試將鏈接服務器查詢的結果與本地查詢進行比較。 我要做的是找出一台服務器上存在什么登錄名,而另一台服務器上不存在。 只是Windows身份驗證帳戶現在是可以的。
我目前的查詢是
Select name
from [linkedServer].master.[sys].[server_principals]
Where name not in ('Select name from sys.server_principals')
我得到的只是鏈接服務器查詢的結果,而忽略了。 如何比較兩者的結果?
首先,使用not exists
。 其次,我認為您的單引號是錯誤的:
select sp.name
from [linkedServer].master.[sys].[server_principals] sp
where not exists (select 1
from sys.server_principals sp2
where sp2.name = sp.name
);
我強烈建議您養成使用子查詢not exists
而不是not in
使用in的習慣,因為如果子查詢中的任何值為NULL
,則not in
返回任何行。 這通常不是可取的行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.