sql >> Databasteknik >  >> RDS >> Sqlserver

Kör SERVERPROPERTY() mot en länkad server i SQL Server

Om du behöver köra SERVERPROPERTY() funktion mot en länkad server i SQL Server, kan du använda en pass-through-fråga. För att göra detta, skicka SERVERPROPERTY() fungerar som det andra argumentet till OPENQUERY() funktion (det första argumentet är det länkade servernamnet).

Exempel 1 – Grundläggande exempel

Här är ett exempel.

SELECT * FROM OPENQUERY(
    Homer,
    'SELECT SERVERPROPERTY(''ProductLevel'') AS [Remote ProductLevel];'
);

Resultat:

+-----------------------+
| Remote ProductLevel   |
|-----------------------|
| RTM                   |
+-----------------------+

Exempel 2 – Jämfört med en lokal fråga

Bara för att bekräfta att detta faktiskt kom från den länkade servern (och inte den lokala servern), här är den igen, tillsammans med en fråga mot den lokala servern.

SELECT SERVERPROPERTY('ProductLevel') AS [Local ProductLevel];

SELECT * FROM OPENQUERY(
    Homer,
    'SELECT SERVERPROPERTY(''ProductLevel'') AS [Remote ProductLevel];'
);

Resultat:

+----------------------+
| Local ProductLevel   |
|----------------------|
| CTP3.2               |
+----------------------+
(1 row affected)
+-----------------------+
| Remote ProductLevel   |
|-----------------------|
| RTM                   |
+-----------------------+
(1 row affected)

I det här fallet kör den lokala servern SQL Server 2019 Preview, och den länkade servern kör SQL Server 2017. RTM betyder att det är en originalversion, medan CTPn betyder att det är en version av Community Technology Preview.

Se Snabbskript som returnerar alla egenskaper från SERVERPROPERTY() i SQL Server 2017/2019 om du behöver ett skript som returnerar alla egenskaper.

Se även Microsofts dokumentation för en fullständig lista över argument som accepteras av den här funktionen.


  1. MS Access Corruption Del 2:Bästa metoder för förebyggande och återhämtning

  2. Referensalias (beräknat i SELECT) i WHERE-satsen

  3. Hur man konverterar en sträng till hexadecimal i MySQL – HEX()

  4. Oracle LIMIT n,m ekvivalent