sql >> Database >  >> RDS >> Sqlserver

Voer SERVERPROPERTY() uit tegen een gekoppelde server in SQL Server

Als u de SERVERPROPERTY() . moet uitvoeren functie tegen een gekoppelde server in SQL Server, kunt u een pass-through-query gebruiken. Geef hiervoor de SERVERPROPERTY() functie als het tweede argument voor de OPENQUERY() functie (het eerste argument is de naam van de gekoppelde server).

Voorbeeld 1 – Basisvoorbeeld

Hier is een voorbeeld.

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

Resultaat:

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

Voorbeeld 2 – Vergeleken met een lokale zoekopdracht

Om te bevestigen dat dit inderdaad van de gekoppelde server kwam (en niet van de lokale server), hier is het nog een keer, samen met een zoekopdracht tegen de lokale server.

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

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

Resultaat:

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

In dit geval wordt op de lokale server SQL Server 2019 Preview uitgevoerd en op de gekoppelde server SQL Server 2017. RTM betekent dat het een originele versie is, terwijl CTPn betekent dat het een Community Technology Preview-versie is.

Zie Snelscript dat alle eigenschappen van SERVERPROPERTY() retourneert in SQL Server 2017/2019 als u een script nodig hebt dat alle eigenschappen retourneert.

Zie ook de Microsoft-documentatie voor een volledige lijst van argumenten die door deze functie worden geaccepteerd.


  1. Rails + Postgres drop-fout:database wordt geopend door andere gebruikers

  2. Uitvoeringsplannen voor SQL Server lezen en analyseren

  3. Aan de slag met PostgreSQL 11 op Ubuntu 18.04

  4. node.js async/wait gebruiken met MySQL