SSMS
 sql >> Teknologi Basis Data >  >> Database Tools >> SSMS

Powershell:Pembuat Skrip SQL Server Management Studio

Pertanyaan ini sudah lama ada di sini dan Anda mungkin sudah menemukan jawabannya sekarang, tetapi bagi mereka yang mencari cara sederhana untuk melakukannya, versi modul SQL server Powershell saat ini memiliki perintah dan metode asli yang mendukung fungsi ini dari SMO.

Anda dapat menggunakan Get-SqlDatabase dan metode seperti .Script() dan .EnumScript().

Misalnya, ini akan menghasilkan skrip CREATE untuk fungsi yang ditentukan pengguna dan menyimpannya ke file:

$Database = Get-SqlDatabase -ServerInstance $YourSqlServer -Name $YourDatabaseName

$MyFuncs = $Database.UserDefinedFunctions | Where Schema -eq "dbo"
$MyFuncs.Script() | Out-File -FilePath ".\SqlScripts\MyFunctions.sql"

Jika Anda ingin data skrip dan elemen seperti indeks, kunci, pemicu, dll. Anda harus menentukan opsi skrip, seperti ini:

$scriptOptions = New-Object -TypeName Microsoft.SqlServer.Management.Smo.ScriptingOptions

$scriptOptions.NoCollation = $True
$scriptOptions.Indexes = $True
$scriptOptions.Triggers = $True
$scriptOptions.DriAll = $True
$scriptOptions.ScriptData = $True

$Database.Tables.EnumScript($scriptOptions) | Out-File -FilePath ".\AllMyTables.sql"

Perhatikan bahwa metode Script() tidak mendukung data skrip. Gunakan EnumScript() untuk tabel.

Jika Anda hanya ingin data skrip, seperti yang diminta, Anda dapat mencoba $scriptOptions.ScriptData = $True dan $scriptOptions.ScriptSchema = $False .




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Konversi yang diminta tidak didukung menggunakan server tertaut dan ODBC

  2. Masukkan Data Ke Tabel Temp dengan Query

  3. Bagaimana cara menghapus nama server yang di-cache dari dialog Connect to Server?

  4. Intellisense SQL Server 2008 R2 tidak berfungsi

  5. Tidak dapat menulis nilai ke kunci \SOFTWARE ditampilkan untuk SSMS Install di mesin Windows 7 dengan akun Administrator