Aracılığıyla paylaş


Linux üzerinde SQL Server'ı yönetmek için Windows üzerinde PowerShell kullanma

Şunlar için geçerlidir:Linux üzerinde SQL Server

Bu makalede SQL Server PowerShell tanıtılmaktadır ve Linux üzerinde SQL Server ile nasıl kullanılacağına ilişkin birkaç örnek verilmiştir. SQL Server için PowerShell desteği şu anda Windows, macOS ve Linux'ta kullanılabilir. Bu makalede, Linux'ta uzak bir SQL Server örneğine bağlanmak için Bir Windows makinesi kullanma konusunda size yol gösterilir.

Windows'da SQL PowerShell'in en yeni sürümünü yükleme

Windows'da SQL Server PowerShell modülü PowerShell Galerisi'nde tutulur. SQL Server ile çalışırken her zaman SqlServer PowerShell modülünün en son sürümünü kullanmanız gerekir.

Başlamadan önce

Linux üzerinde SQL Server için bilinen sorunlar okuyun.

PowerShell'i başlatın ve sqlserver modülünü içeri aktarın

Windows'da PowerShell'i başlatarak başlayalım. Windows bilgisayarınızda Win +++++ R +tuş kombinasyonunu kullanın ve yeni bir Windows PowerShell oturumu başlatmak için PowerShell yazın.

SQL Server, SqlServeradlı bir PowerShell modülü sağlar. SQL Server bileşenlerini (SQL Server sağlayıcısı ve cmdlet'leri) Bir PowerShell ortamına veya betiğine aktarmak için SqlServer modülünü kullanabilirsiniz.

SqlServer modülünü geçerli PowerShell oturumunuza aktarmak için aşağıdaki komutu kopyalayıp PowerShell istemine yapıştırın:

Import-Module SqlServer

SqlServer modülünün doğru içeri aktarıldığını doğrulamak için PowerShell istemine aşağıdaki komutu yazın:

Get-Module -Name SqlServer

PowerShell aşağıdaki çıkışa benzer bilgiler görüntülemelidir:

ModuleType Version    Name          ExportedCommands
---------- -------    ----          ----------------
Script     21.1.18102 SqlServer     {Add-SqlAvailabilityDatabase, Add-SqlAvailabilityGroupList...

SQL Server'a bağlanma ve sunucu bilgilerini alma

Linux'ta SQL Server örneğine bağlanmak ve birkaç sunucu özelliği görüntülemek için Windows üzerinde PowerShell'i kullanalım.

Aşağıdaki komutları kopyalayıp PowerShell istemine yapıştırın. Bu komutları çalıştırdığınızda PowerShell şunları yapacaktır:

  • Örneğinizin ana bilgisayar adını veya IP adresini isteyen bir iletişim kutusu görüntüleme
  • Kimlik bilgilerini girmenizi isteyen Windows PowerShell kimlik bilgisi isteği iletişim kutusunu görüntüleyin. Linux'ta SQL Server örneğine bağlanmak için SQL kullanıcı adı ve SQL parola kullanabilirsiniz
  • Server bağlanmak ve birkaç özellik görüntülemek için Get-SqlInstance cmdlet'ini kullanın

İsteğe bağlı olarak, yalnızca $serverInstance değişkenini SQL Server örneğinizin IP adresi veya ana bilgisayar adıyla değiştirebilirsiniz.

# Prompt for instance & credentials to login into SQL Server
$serverInstance = Read-Host "Enter the name of your instance"
$credential = Get-Credential

# Connect to the Server and get a few properties
Get-SqlInstance -ServerInstance $serverInstance -Credential $credential
# done

PowerShell aşağıdaki çıkışa benzer bilgiler görüntülemelidir:

Instance Name                   Version    ProductLevel UpdateLevel  HostPlatform HostDistribution
-------------                   -------    ------------ -----------  ------------ ----------------
your_server_instance            14.0.3048  RTM          CU13         Linux        Ubuntu

Not

Bu değerler için hiçbir şey görüntülenmezse, hedef SQL Server örneğine bağlantı büyük olasılıkla başarısız olur. SQL Server Management Studio'dan bağlanmak için aynı bağlantı bilgilerini kullanabileceğinizden emin olun. Ardından bağlantı sorunlarını giderme önerilerinigözden geçirin.

SQL Server PowerShell Sağlayıcısı'nı kullanma

SQL Server örneğine bağlanmak için bir diğer seçenek de SQL Server PowerShell Sağlayıcısıkullanmaktır. Bu sağlayıcı, komut satırında, Nesne Gezgini'ndeki ağaç yapısını geziyormuşsunuz gibi SQL Server örneğinde gezinmenize olanak tanır. Varsayılan olarak, bu sağlayıcı, etki alanı hesabınızın erişimi olan SQL Server örneklerine bağlanmak ve bu örnekler arasında gezinmek için kullanabileceğiniz, SQLSERVER:\adlı bir PSDrive olarak sunulur. Linux üzerinde SQL Server için Active Directory kimlik doğrulamasını ayarlama hakkında daha fazla bilgi için bkz. Yapılandırma adımları.

SQL Server PowerShell Sağlayıcısı ile SQL kimlik doğrulamasını da kullanabilirsiniz. Bunu yapmak için New-PSDrive cmdlet'ini kullanarak yeni bir PSDrive oluşturun ve bağlanmak için uygun kimlik bilgilerini sağlayın.

Aşağıdaki örnekte, SQL kimlik doğrulamasını kullanarak yeni bir PSDrive oluşturmanın bir örneğini göreceksiniz.

# NOTE: We are reusing the values saved in the $credential variable from the above example.
New-PSDrive -Name SQLonDocker -PSProvider SqlServer -Root 'SQLSERVER:\SQL\localhost,10002\Default\' -Credential $credential

Get-PSDrive cmdlet'ini çalıştırarak sürücünün oluşturulduğunu onaylayabilirsiniz.

Get-PSDrive

Yeni PSDrive'ınızı oluşturduktan sonra gezinmeye başlayabilirsiniz.

dir SQLonDocker:\Databases

Çıktı aşağıdaki gibi görünebilir. Çıktının , SQL Server Management Studio'nun (SSMS) Veritabanları düğümünde görüntülediğine benzer olduğunu fark edebilirsiniz. Kullanıcı veritabanlarını görüntüler, ancak sistem veritabanlarını görüntülemez.

Name                 Status           Size     Space  Recovery Compat. Owner
                                            Available  Model     Level
----                 ------           ---- ---------- -------- ------- -----
AdventureWorks2022   Normal      209.63 MB    1.31 MB Simple       130 sa
AdventureWorksDW2022 Normal      167.00 MB   32.47 MB Simple       110 sa
AdventureWorksDW2022 Normal      188.00 MB   78.10 MB Simple       120 sa
AdventureWorksDW2022 Normal      172.00 MB   74.76 MB Simple       130 sa
AdventureWorksDW2022 Normal      208.00 MB   40.57 MB Simple       140 sa

Örneğinizdeki tüm veritabanlarını görmeniz gerekiyorsa, bir seçenek Get-SqlDatabase cmdlet'ini kullanmaktır.

SQL Server hata günlüklerini inceleme

Windows üzerinde PowerShell kullanarak Linux'taki SQL Server örneğinize bağlanıp hata günlüklerini incelemek için aşağıdaki adımları izleyin. Hata günlüklerindeki bilgileri kılavuz görünümü görünümünde göstermek için Out-GridView cmdlet'ini de kullanacağız.

Aşağıdaki komutları kopyalayıp PowerShell istemine yapıştırın. Çalıştırmaları birkaç dakika sürebilir. Bu komutlar şunları yapar:

  • Örneğinizin ana bilgisayar adını veya IP adresini isteyen bir iletişim kutusu görüntüleme
  • Kimlik bilgilerini girmenizi isteyen Windows PowerShell kimlik bilgisi isteği iletişim kutusunu görüntüleyin. Linux'ta SQL Server örneğine bağlanmak için SQL kullanıcı adı ve SQL parola kullanabilirsiniz
  • Get-SqlErrorLog cmdlet'ini kullanarak Linux'ta SQL Server örneğine bağlanın ve Dün bu yana hata günlüklerini alın
  • Çıkışı Out-GridView cmdlet'ine yöneltin

İsteğe bağlı olarak, $serverInstance değişkenini SQL Server örneğinizin IP adresi veya ana bilgisayar adıyla değiştirebilirsiniz.

# Prompt for instance & credentials to login into SQL Server
$serverInstance = Read-Host "Enter the name of your instance"
$credential = Get-Credential

# Retrieve error logs since yesterday
Get-SqlErrorLog -ServerInstance $serverInstance -Credential $credential -Since Yesterday | Out-GridView
# done