Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

PowerShell - Liệt kê tất cả các phiên bản SQL trên hệ thống của tôi?

Tôi thấy rằng (ít nhất là đối với tôi) không có điều nào ở trên trả lại phiên bản SQL Express của tôi. Tôi có 5 phiên bản được đặt tên, 4 SQL Server đầy đủ chất béo, 1 SQL Express. 4 full-fat có trong các câu trả lời ở trên, SQL Express thì không. VẬY, tôi đã tìm hiểu kỹ trên internet và tìm thấy bài viết này của James Kehr, trong đó liệt kê thông tin về tất cả các phiên bản SQL Server trên một máy. Tôi đã sử dụng mã này làm cơ sở để viết hàm bên dưới.

# get all sql instances, defaults to local machine, '.'
Function Get-SqlInstances {
  Param($ServerName = '.')

  $localInstances = @()
  [array]$captions = gwmi win32_service -computerName $ServerName | ?{$_.Name -match "mssql*" -and $_.PathName -match "sqlservr.exe"} | %{$_.Caption}
  foreach ($caption in $captions) {
    if ($caption -eq "MSSQLSERVER") {
      $localInstances += "MSSQLSERVER"
    } else {
      $temp = $caption | %{$_.split(" ")[-1]} | %{$_.trimStart("(")} | %{$_.trimEnd(")")}
      $localInstances += "$ServerName\$temp"
    }
  }
  $localInstances
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2005 và phạm vi bảng tạm thời

  2. ORDER BY (CHỌN NULL) nghĩa là gì?

  3. Cách chèn một chuỗi vào một chuỗi khác trong SQL Server bằng cách sử dụng STUFF ()

  4. PDO DBLIB truy cập SQL Server 2008 và 2012

  5. làm thế nào để giải nén chỉ năm kể từ ngày trong máy chủ sql 2008?