สร้าง SQL Server database ด้วย PowerShell script

Tags: sql

enter image description here

ในบความนี้ เรามาสร้าง PowerShell script เพื่อสร้าง database ใหม่บนเครื่อง SQL server กันนะครับ

เริ่มจากเตรียมเครื่องมือให้เรียบร้อย

  • เครื่อง computer ที่ใช้อยู่เป็น Windows OS
  • ติดตั้ง SQL Server ไว้แล้ว ในตัวอย่งนี้ใช้ SQL server 2014 สามารถติดตั้งด้วย chocolatey ด้วยคำสั่ง choco install mssqlserver2014express แต่ในเครื่องต้องติดตั้ง choco ไว้ก่อนนะครับ จึงจะใช้คำสั่งนี้ได้
  • ตรวจสอบว่า PowerShell verion 5 ติดตั้งไว้แล้ว โดย พิมพ์ Windows+R เพื่อเปิดหน้าต่าง run แล้วพิมพ powershell จากนั้นให้เราใช้คำสั่ง $PSVersionTable เพื่อดูว่าเรามี PowerShell version 5
  • ติดตั้งในเครื่องแล้วยัง ถ้ายังไม่มีหรือมี vesion ตำกว่า แนะนำให้ติดตั้งผ่าน chocolatey คำสั่งที่ใช้คือ choco install powershell

ทุกอย่างพร้อมแล้วเริ่ม code ได้เลย

  • เปิด PowerShell ขึ้นมา
  • พิมพ์คำสั่ง New-Item -Path New-Database.ps1 -ItemType File
  • เราก็จะได้ file New-Database.ps1 เปิด file นี้ขึ้นมา
  • แล้วพิมพ์คำสั่งต่อไปนี้ลงไป New-Database.ps1

$databaseName = "MyDB"
$query = @"
    IF db_id('$databaseName') IS NOT NULL
    BEGIN
        DROP DATABASE $databaseName
        select 'exist'
    END

    CREATE DATABASE $databaseName
"@

Push-Location $PSScriptRoot
Invoke-Sqlcmd -ServerInstance ".\" -Query $query -Database "master"
Pop-Location

คำสั่ง Push-Location แก้ปัญหา Pop-Location switch to SQL server path

เรียกทดสอบการใช้ใช้งานโดยการ run script New-Database.ps1 เปิด PowerShell session และ พิมพ์ .\New-Database.ps1

เปิด SSMS เราก็จะมี database ใหม่สร้างขั้นมาแล้วครับ ข้อควรระวัง script นี้เหมาะกับ local development เท่านั้น เพราะมี การ drop existing database ด้วย