sql >> データベース >  >> RDS >> Sqlserver

PowerShell-システム上のすべてのSQLインスタンスを一覧表示しますか?

    (少なくとも私にとっては)上記のどれも私のSQLExpressインスタンスを返さなかったことがわかりました。 5つの名前付きインスタンス、4つのフルファットSQL Server、1つのSQLExpressがあります。上記の回答には4つのフルファットが含まれていますが、SQLExpressは含まれていません。それで、私はインターネットを少し掘り下げて、この記事 James Kehrによるもので、マシン上のすべてのSQLServerインスタンスに関する情報が一覧表示されます。このコードを、以下の関数を作成するための基礎として使用しました。

    # 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. MySQLテーブルにインデックスを作成するためのベストプラクティス–ローリングインデックスビルド

    2. mysqlautoincrementを最小値に自動的に設定します

    3. MariaDBの日付から週番号を抽出する5つの関数

    4. Wordpress-日ごとの投稿数とコメント数を取得