Jika Anda perlu menjalankan SERVERPROPERTY()
fungsi terhadap server tertaut di SQL Server, Anda dapat menggunakan kueri pass-through. Untuk melakukannya, berikan SERVERPROPERTY()
berfungsi sebagai argumen kedua untuk OPENQUERY()
fungsi (argumen pertama adalah nama server yang ditautkan).
Contoh 1 – Contoh Dasar
Ini contohnya.
SELECT * FROM OPENQUERY( Homer, 'SELECT SERVERPROPERTY(''ProductLevel'') AS [Remote ProductLevel];' );
Hasil:
+-----------------------+ | Remote ProductLevel | |-----------------------| | RTM | +-----------------------+
Contoh 2 – Dibandingkan dengan Query Lokal
Hanya untuk mengonfirmasi bahwa ini sebenarnya berasal dari server tertaut (dan bukan server lokal), ini dia lagi, bersama dengan kueri terhadap server lokal.
SELECT SERVERPROPERTY('ProductLevel') AS [Local ProductLevel]; SELECT * FROM OPENQUERY( Homer, 'SELECT SERVERPROPERTY(''ProductLevel'') AS [Remote ProductLevel];' );
Hasil:
+----------------------+ | Local ProductLevel | |----------------------| | CTP3.2 | +----------------------+ (1 row affected) +-----------------------+ | Remote ProductLevel | |-----------------------| | RTM | +-----------------------+ (1 row affected)
Dalam hal ini, server lokal menjalankan Pratinjau SQL Server 2019, dan server tertaut menjalankan SQL Server 2017. RTM berarti ini adalah versi rilis asli, sedangkan, CTPn artinya ini adalah versi Pratinjau Teknologi Komunitas.
Lihat Skrip Cepat yang Mengembalikan Semua Properti dari SERVERPROPERTY() di SQL Server 2017/2019 jika Anda memerlukan skrip yang mengembalikan semua properti.
Lihat juga dokumentasi Microsoft untuk daftar lengkap argumen yang diterima oleh fungsi ini.