Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menginstal SQL Server PowerShell
Ada dua modul PowerShell SQL Server; SqlServer dan SQLPS.
Modul SqlServer adalah modul PowerShell saat ini yang akan digunakan.
Modul SQLPS disertakan dengan penginstalan SQL Server (untuk kompatibilitas mundur) tetapi tidak lagi diperbarui.
Modul SqlServer berisi versi cmdlet yang diperbarui di SQLPS dan menyertakan cmdlet baru untuk mendukung fitur SQL terbaru.
Versi modulSqlServer sebelumnya disertakan dengan /sql/ssms/download-sql-server-management-studio-ssms, tetapi hanya dengan versi 16.x SSMS.
Untuk menggunakan PowerShell dengan SQL Server Management Directory 17.0 dan yang lebih baru, instal modul SqlServer dari Galeri PowerShell.
Anda juga dapat menggunakan Dukungan Editor PowerShell untuk Azure Data Studio.
Mengapa modul berubah dari SQLPS ke SqlServer?
Untuk mengirim pembaruan SQL PowerShell, kami harus mengubah identitas modul SQL PowerShell, dan pembungkus yang dikenal sebagai SQLPS.exe. Karena perubahan ini, sekarang ada dua modul SQL PowerShell, modul SqlServer , dan modul SQLPS .
Perbarui skrip PowerShell jika Anda mengimpor modul SQLPS.
Jika Anda memiliki skrip PowerShell yang menjalankan Import-Module -Name SQLPS, dan Anda ingin memanfaatkan fungsionalitas penyedia baru dan cmdlet baru, Anda harus mengubahnya menjadi Import-Module -Name SqlServer. Modul baru diinstal ke %ProgramFiles%\WindowsPowerShell\Modules\SqlServer folder. Dengan demikian, Anda tidak perlu memperbarui variabel $env:PSModulePath. Jika Anda memiliki skrip yang menggunakan modul versi pihak ketiga atau komunitas bernama SqlServer, gunakan parameter Awalan untuk menghindari tabrakan nama.
Disarankan untuk memulai skrip Anda dengan Import-Module SQLServer untuk menghindari masalah berdampingan jika modul SQLPS diinstal pada komputer yang sama.
Bagian ini berlaku untuk skrip yang dijalankan dari PowerShell dan bukan Agen SQL. Modul baru dapat digunakan dengan langkah-langkah pekerjaan Agen SQL menggunakan #NOSQLPS.
Komponen PowerShell SQL Server
Modul SqlServer dilengkapi dengan:
Penyedia PowerShell, yang memungkinkan mekanisme navigasi sederhana yang mirip dengan jalur sistem file. Anda dapat membangun jalur yang mirip dengan jalur sistem file, di mana drive dikaitkan dengan model objek manajemen SQL Server, dan simpul didasarkan pada kelas model objek. Anda kemudian dapat menggunakan perintah yang sudah dikenal seperti cd (alias untuk Set-Location) dan dir (alias untuk Get-ChildItem) untuk menavigasi jalur yang mirip dengan cara Anda menavigasi folder di jendela prompt perintah. Anda dapat menggunakan perintah lain, seperti ren (alias untuk Rename-Item) atau del (alias untuk Remove-Item), untuk melakukan tindakan pada simpul di jalur.
Sekumpulan cmdlet yang mendukung tindakan seperti menjalankan skrip sqlcmd yang berisi pernyataan Transact-SQL atau XQuery.
Penyedia AS dan cmdlet, yang sebelum diinstal secara terpisah.
Versi SQL Server
Cmdlet SQL PowerShell dapat digunakan untuk mengelola instans Azure SQL Database, Azure Synapse Analytics, dan semua produk SQL Server yang didukung.
Pengidentifikasi SQL Server yang berisi karakter yang tidak didukung di jalur PowerShell
Encode-Sqlname Cmdlet (alias untuk ConvertTo-EncodedSqlName) dan Decode-Sqlname (alias untuk ConvertFrom-EncodedSqlName) membantu Anda menentukan pengidentifikasi SQL Server yang berisi karakter yang tidak didukung di jalur PowerShell. Untuk informasi selengkapnya, lihat Pengidentifikasi SQL Server di PowerShell.
Gunakan cmdlet Convert-UrnToPath untuk mengonversi Nama Sumber Daya Unik untuk objek Mesin Database ke jalur untuk penyedia PowerShell SQL Server. Untuk informasi selengkapnya, lihat Convert-UrnToPath.
Ekspresi kueri dan nama sumber daya seragam
Ekspresi kueri adalah string yang menggunakan sintaksis yang mirip dengan XPath untuk menentukan serangkaian kriteria yang menghitung satu atau beberapa objek dalam hierarki model objek. Nama Sumber Daya Seragam (URN) adalah jenis string ekspresi kueri tertentu yang secara unik mengidentifikasi satu objek. Untuk informasi selengkapnya, lihat Ekspresi Kueri dan Nama Sumber Daya Seragam.
SQL Server Agent (Agen dari SQL Server)
Tidak ada perubahan pada modul yang digunakan oleh SQL Server Agent. Dengan demikian, pekerjaan SQL Server Agent, yang memiliki langkah-langkah pekerjaan jenis PowerShell menggunakan modul SQLPS. Untuk informasi selengkapnya, lihat Cara menjalankan PowerShell dengan SQL Server Agent. Namun, dimulai dengan SQL Server 2019, Anda dapat menonaktifkan SQLPS. Untuk melakukannya, pada baris pertama langkah pekerjaan jenis PowerShell, Anda dapat menambahkan #NOSQLPS, yang menghentikan Agen SQL memuat otomatis modul SQLPS. Ketika Anda melakukan ini, Pekerjaan Agen SQL Anda menjalankan versi PowerShell yang diinstal pada komputer, lalu Anda dapat menggunakan modul PowerShell lainnya yang Anda suka.
Memecahkan masalah SQLPS
Jika Anda melihat langkah-langkah pekerjaan agen (subsistem PowerShell) gagal dengan kesalahan berikut, bagian ini mungkin berguna dalam memecahkan masalah.
Langkah pekerjaan menerima kesalahan di baris 1 dalam skrip PowerShell. Baris yang sesuai adalah 'import-module SQLPS'. Perbaiki skrip dan jadwalkan ulang pekerjaan. Informasi kesalahan yang dikembalikan oleh PowerShell adalah: 'Modul 'SQLPS' yang ditentukan tidak dimuat karena tidak ada file modul yang valid yang ditemukan di direktori modul apa pun.
Modul SQLPS harus tersedia di variabel lingkungan PSModulePath. Menghapus instalasi SQL Server Management Directory 16.x dapat menghapus SQLPS dari PSModulePath. Untuk memeriksa nilai saat ini yang disimpan di PSModulePath, jalankan PowerShell berikut ini:
$env:PSModulePath -split ";"
Jika jalur diatur, Anda akan melihat entri yang mirip C:\Program Files (x86)\Microsoft SQL Server\130\Tools\PowerShell\Modulesdengan . Jika jalur tidak diatur, temukan folder SQLPS di server Anda dan tambahkan ke nilai variabel lingkungan baik melalui PowerShell atau di Variabel Lingkungan Tingkat Lanjut>Properti>Sistem.
Modul SQLServer dengan SQL Agent
Jika Anda ingin menggunakan modul SqlServer di langkah Pekerjaan Agen SQL, Anda dapat menempatkan kode ini pada dua baris pertama skrip Anda.
#NOSQLPS
Import-Module -Name SqlServer