การเขียนสคริปต์แผนการบำรุงรักษา


12

ฉันสร้างแผนการบำรุงรักษาสำหรับ SQL Server 2008 R2 โดยใช้ SQL Server Management Studio (SSMS)

อย่างไรก็ตามฉันไม่สามารถส่งออก / แปลงเป็นสคริปต์ในกรณีที่ฉันต้องทำซ้ำบนเซิร์ฟเวอร์อื่น

มีวิธีหรือไม่?

ถ้าไม่มีจะมีวิธีใช้ SQL Server รุ่นใหม่กว่านี้ไหม


1
คุณอาจต้องการดูสคริปต์การบำรุงรักษาของ Ola Hallengren พวกเขาสนับสนุนตัวเลือกและความสามารถในการกำหนดค่าได้มากขึ้นอีกทั้งยังเป็น T-SQL มาตรฐานดังนั้นคุณสามารถปรับแต่งและสคริปต์วัตถุสำหรับการย้ายข้อมูลไปยังเซิร์ฟเวอร์อื่นตามความจำเป็น ola.hallengren.com
Max Vernon

คำตอบ:


10

เมื่อคุณสร้างงานโดยใช้แผนการบำรุงรักษางานจะถูกสร้างขึ้นโดยอัตโนมัติใน SQL Server Agent ภายใต้งาน ตอนนี้ไปที่ตัวแทนของเซิร์ฟเวอร์ SQL ขยายงานและค้นหางานของคุณ คลิกขวาและเลือกงานสคริปต์เป็น ... วางและสร้างใหม่เพื่อ ... หน้าต่างตัวแก้ไขคิวรีใหม่

แก้ไข:

คุณสามารถส่งออกแผนการบำรุงรักษาได้เช่นกัน คุณต้องเชื่อมต่อกับ Integration Servicesของอินสแตนซ์ ขยายแพ็คเกจที่เก็บไว้จากนั้น MSDB จากนั้นขยายแผนการบำรุงรักษา คลิกขวาที่ MP แล้วเลือกแพ็คเกจส่งออก จากนั้นคุณสามารถย้ายแพ็คเกจไปยัง SQL Server อื่น


3
เพียงชี้แจง - แผนการบำรุงรักษาจะถูกจัดเก็บจริงเป็นแพคเกจ SSIS และงานตัวแทนที่ดำเนินการพวกเขาจริงเรียกแพคเกจเพื่อดำเนินการ มันถูกเก็บไว้ใน MSDB แต่ไม่มีวิธีการคลิกเพียงครั้งเดียวในการรับแผนการบำรุงรักษาตามจริงในฐานะสคริปต์เนื่องจากเป็นแพคเกจ SSIS เป็นไปได้ที่จะส่งออกแพ็คเกจ แต่ไม่สามารถส่งผ่าน GUI ได้
Sean Gallardy

2
เห็นด้วยกับฌอนที่นี่ @ Carlo: สคริปต์จะเป็นงานที่สร้างขึ้นไม่ใช่แผนการบำรุงรักษา เมื่อคุณจะเรียกใช้สคริปต์บนเซิร์ฟเวอร์ที่แตกต่างกันเพียงงานจะถูกสร้างขึ้นไม่ใช่ MP
Shanky

0

วิธีที่เร็วที่สุดในการย้ายแผนระหว่างเซิร์ฟเวอร์คือการเชื่อมต่อจากสตูดิโอการจัดการไปยังเซิร์ฟเวอร์ที่แผนการต่างๆได้รับการสับสนอยู่แล้วเริ่มแก้ไขแผนของคุณและเพียงแค่คัดลอก \ paste งานระหว่างแผนย่อย แม้ว่าจะใช้งานได้เฉพาะเมื่อการเชื่อมต่อระหว่างเซิร์ฟเวอร์ทำงาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.