Apa cara yang mungkin untuk menentukan versi SQL Server yang digunakan?
Saya sudah mencoba melakukannya menggunakan perangkat lunak SQL Server. Saya ingin melakukannya menggunakan pernyataan SQL baris perintah.
sql-server-2008
version
Yameen Bashir
sumber
sumber
Jawaban:
Berikut ini adalah cara yang mungkin untuk melihat versi:
Metode 1: Sambungkan ke instance SQL Server, dan kemudian jalankan kueri berikut:
Contoh dari output dari query ini adalah sebagai berikut:
Metode 2: Sambungkan ke server dengan menggunakan Object Explorer di SQL Server Management Studio. Setelah Object Explorer terhubung, itu akan menampilkan informasi versi dalam tanda kurung, bersama dengan nama pengguna yang digunakan untuk menyambungkan ke contoh spesifik dari SQL Server.
Metode 3: Lihatlah beberapa baris pertama file Errorlog untuk contoh itu. Secara default, log kesalahan terletak di Program Files \ Microsoft SQL
Server\MSSQL.n\MSSQL\LOG\ERRORLOG
danERRORLOG.n
file. Entri dapat menyerupai yang berikut:Seperti yang Anda lihat, entri ini memberikan semua informasi yang diperlukan tentang produk, seperti versi, level produk, 64-bit versus 32-bit, edisi SQL Server, dan versi OS yang menjalankan SQL Server.
Metode 4: Sambungkan ke instance dari SQL Server, dan kemudian jalankan kueri berikut:
Catatan Permintaan ini berfungsi dengan instance SQL Server 2000 atau versi yang lebih baru
sumber
Memberikan 8.00, 9.00, 10.00 dan 10.50 masing-masing untuk SQL 2000, 2005, 2008 dan 2008R2.
Juga, Coba prosedur yang diperluas sistem
xp_msver
. Anda dapat memanggil prosedur tersimpan ini sepertisumber
TL; DR
Ini menggunakan SQLCMD (dilengkapi dengan SQL Server) untuk menghubungkan ke instance server lokal menggunakan Windows auth, melempar kesalahan jika pemeriksaan versi gagal dan mengembalikan
@@ERROR
sebagai baris perintahERRORLEVEL
jika> = 16 (dan baris kedua pergi ke:ExitFail
label jika tersebut di atasERRORLEVEL
adalah> = 1).Watchas, Gotchas & Info Lebih Lanjut
Untuk SQL 2000+ Anda dapat menggunakan SERVERPROPERTY untuk menentukan banyak info ini.
Sementara SQL 2008+ mendukung
ProductMajorVersion
&ProductMinorVersion
properties,ProductVersion
telah ada sejak tahun 2000 (mengingat bahwa jika sebuah properti tidak didukung, fungsi akan kembaliNULL
).Jika Anda tertarik pada versi sebelumnya, Anda dapat menggunakan
PARSENAME
fungsi ini untuk membagiProductVersion
(mengingat "bagian-bagian" diberi nomor dari kanan ke kiri yaituPARSENAME('a.b.c', 1)
pengembalianc
).Juga ingat bahwa
PARSENAME('a.b.c', 4)
kembaliNULL
, karena SQL 2005 dan sebelumnya hanya menggunakan 3 bagian dalam nomor versi!Jadi untuk SQL 2008+ Anda cukup menggunakan:
Untuk SQL 2000-2005 Anda dapat menggunakan:
(
PARSENAME(...,0)
adalah hack untuk meningkatkan keterbacaan)Jadi cek untuk versi SQL 2000+ adalah:
Ini jauh lebih sederhana jika Anda hanya tertarik pada SQL 2008+ karena
SERVERPROPERTY('ProductMajorVersion')
pengembalianNULL
untuk versi sebelumnya, sehingga Anda dapat menggunakan:Dan Anda dapat menggunakan properti
ProductLevel
danEdition
(atauEngineEdition
) masing-masing untuk menentukan RTM / SP n / CTP n dan Dev / Std / Ent / dll.FYI nomor versi SQL utama adalah:
Dan ini semua bekerja untuk SQL Azure juga!
Diedit: Anda mungkin juga ingin memeriksa tingkat kompatibilitas DB Anda karena itu dapat diatur ke kompatibilitas yang lebih rendah.
sumber
Inilah yang telah saya lakukan untuk menemukan versi: cukup tulis
SELECT @@version
dan itu akan memberi Anda versi.sumber
Cukup gunakan
Output sampel
Sumber: Bagaimana cara memeriksa versi sql server? (Berbagai cara dijelaskan)
sumber
jika nilai ini 0 bukan edisi ekspres
sumber