SSMS
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> SSMS

Powershell:Trình tạo tập lệnh SQL Server Management Studio

Câu hỏi này đã ở đây một lúc và bạn có thể đã tìm thấy câu trả lời cho mình ngay bây giờ, nhưng đối với những người đang tìm kiếm một cách đơn giản để thực hiện việc này, các phiên bản hiện tại của mô-đun Powershell máy chủ SQL có các lệnh và phương thức gốc hỗ trợ chức năng này từ SMO.

Bạn có thể sử dụng Get-SqlDatabase và các phương thức như .Script () .EnumScript ().

Ví dụ:điều này sẽ tạo tập lệnh CREATE cho các chức năng do người dùng xác định và lưu nó vào tệp:

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

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

Nếu bạn muốn tập lệnh dữ liệu và các phần tử như chỉ mục, khóa, trình kích hoạt, v.v. bạn sẽ phải chỉ định các tùy chọn tập lệnh, như sau:

$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"

Lưu ý rằng phương thức Script () không hỗ trợ dữ liệu tập lệnh. Sử dụng EnumScript () cho các bảng.

Nếu bạn chỉ muốn tập lệnh cho dữ liệu, như được yêu cầu, bạn có thể thử $scriptOptions.ScriptData = $True$scriptOptions.ScriptSchema = $False .




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Làm cho SQL Intellisense biết cơ sở dữ liệu hiện tại

  2. Chỉ theo dõi số ngày vắng mặt liên tục trong ngày làm việc SQL

  3. Dự án SQL Server Scripts 2012 thành Team Foundation Server 2012

  4. Tạo tập lệnh với id mới (cũng cho phụ thuộc)

  5. Tên đối tượng không hợp lệ sql