คำถามติดแท็ก sql-server-agent

SQL Server Agent คือบริการ Windows ที่ติดตั้งกับ SQL Server Standard Edition ขึ้นไป เป็นวิธีการอัตโนมัติในการดำเนินการหรือดำเนินงานการดูแลระบบกับอินสแตนซ์ SQL Server SQL Server Agent เป็นเครื่องมือที่ DBA ทุกคนควรทำความคุ้นเคยและใช้ให้เต็มศักยภาพ

8
งาน SQL Server Agent และกลุ่มความพร้อมใช้งาน
ฉันกำลังมองหาแนวปฏิบัติที่ดีที่สุดในการจัดการงาน SQL Server Agent ตามกำหนดเวลาในกลุ่มความพร้อมใช้งานของ SQL Server 2012 บางทีฉันอาจพลาดบางสิ่ง แต่ในสถานะปัจจุบันฉันรู้สึกว่า SQL Server Agent ไม่ได้รวมเข้ากับฟีเจอร์ SQL2012 ที่ยอดเยี่ยมนี้ ฉันจะทำให้งานเอเจนต์ SQL ตามกำหนดเวลารับรู้ถึงการสลับโหนดได้อย่างไร? ตัวอย่างเช่นฉันมีงานที่ทำงานบนโหนดหลักซึ่งโหลดข้อมูลในแต่ละชั่วโมง ทีนี้ถ้าหลักล้มลงฉันจะเปิดใช้งานงานรองซึ่งตอนนี้กลายเป็นงานหลักได้อย่างไร? ถ้าฉันจัดกำหนดการงานบนรองเสมอมันจะล้มเหลวเพราะงานรองเป็นแบบอ่านอย่างเดียว

3
ให้ระบบไฟล์เข้าถึงบัญชีเสมือน SQLSERVERAGENT
ฉันพยายามให้สิทธิ์การNT Service\SQLSERVERAGENTเข้าถึงระบบไฟล์บัญชี Windows ตามคำตอบที่ทำเครื่องหมายไว้ในคำถามนี้ ฉันเชื่อว่าเป็นบัญชีบริการเสมือนจริงและไม่ปรากฏในแผงควบคุม ->พื้นที่บัญชีผู้ใช้ ฉันจะอนุญาตให้บัญชีบริการนี้เข้าถึงระบบไฟล์ได้อย่างไร โดยเฉพาะใน Windows 7 ฉันอ่านหลายวิธีแล้วและดูเหมือนจะไม่มีตัวเลือกสำหรับฉัน ฉันลองใช้วิธี PowerShell แต่คำสั่ง AD ไม่ใช่คำสั่งที่ถูกต้อง ฉันยังดาวน์โหลดและติดตั้งแพตช์ windows ที่จำเป็นสำหรับคำสั่งเหล่านั้น ฉันได้อ่านด้วยว่าฉันควรจะทำสิ่งนี้ผ่านทางตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL หรือสตูดิโอการจัดการ ฉันไม่สามารถคิดออกว่าจะปรับเปลี่ยนสิทธิ์เหล่านี้ได้ที่ไหน กระบวนการ บริษัท ตัวแทนของเซิร์ฟเวอร์ SQL ล้มเหลวในการเริ่มต้นด้วยข้อความแสดงข้อผิดพลาดต่อไปนี้: Login failed for user 'NT SERVICE\SQLSERVERAGENT'. Reason: Failed to open the explicitly specified database 'msdb'. [CLIENT: <local machine>] จาก Googling ของฉันมันเกี่ยวข้องกับการอนุญาตของบัญชีนี้ ฉันไม่แน่ใจว่าฐานข้อมูลเสียหาย …

5
ไม่พบตัวแทนเซิร์ฟเวอร์ใน SSMS
ฉันทำตามคำแนะนำ - http://www.sqlchicken.com/2009/07/how-to-create-a-server-side-trace-with-sql-profiler/ซึ่งทำงานจนกว่าฉันจะไปถึงขั้นตอนที่ 8 ตอนนี้เพื่อกำหนดตารางสคริปต์ที่สร้างขึ้นใหม่ของคุณ ใน SSMS เชื่อมต่อกับเซิร์ฟเวอร์ที่คุณต้องการติดตาม ไปที่ตัวแทนเซิร์ฟเวอร์ SQL ของคุณและขยายเพื่อให้คุณเห็นโฟลเดอร์งาน คลิกขวาที่โฟลเดอร์งานและเลือกงานใหม่ SQL Server Agentฉันไม่สามารถไม่พบ ฉันจะทำให้สิ่งนี้SQL Server Agentมองเห็นได้ที่ไหน ฉันให้สิทธิ์การเข้าถึงทั้งหมดแก่ผู้ใช้ปัจจุบัน


1
การเรียกใช้แพคเกจ SSIS จากงาน SQL Agent ที่เป็นเจ้าของโดยผู้ใช้โดเมนที่ไม่ใช่ sysadmin
ฉันมีแพคเกจ SSIS สองชุดที่เรียกใช้งานข้ามคืน (ผ่านทางตัวแทนของเซิร์ฟเวอร์ SQL) ซึ่งเป็นส่วนหนึ่งของการปรับใช้ SSIS ที่ใหญ่กว่าโดยไม่มีปัญหาใด ๆ ทุกอย่างใช้การรับรองความถูกต้องของ Windows และงานที่กำหนดเวลาเป็น sysadmin (ดีฉัน) และทำงานเป็นบัญชีบริการตัวแทนของเซิร์ฟเวอร์ SQL ดังนั้นข้อมูลจึงsource system ~> transit db ~> staging ~> NDSค้างคืน SSIS สองแพ็คเกจที่ฉันสนใจจัดการtransit db ~> stagingและstaging ~> NDSส่วนต่าง ๆ ตามลำดับสำหรับชุดข้อมูลเฉพาะ ผู้ใช้โดเมน (ไม่ใช่ผู้ดูแลระบบ) ทำอะไรในsource systemและผลักดันข้อมูลที่น่าสนใจเข้ามาtransit dbดังนั้นฉันต้องการวิธีที่จะดึงข้อมูลที่อัปเดตนี้ในระหว่างชั่วโมงทำงานเพื่ออัปเดตNDS: มีการตัดสินใจว่าวิธีที่ง่ายที่สุดสำหรับบุคคลนี้ในการเรียก ETL นั้นโดยคลิกปุ่มในสมุดงาน Excel ที่เปิดใช้งานแมโครซึ่งเชื่อมต่อกับ SQL Server ผ่าน ODBC (โดยใช้การพิสูจน์ตัวจริงของ Windows) …

2
รับเอาต์พุตโดยละเอียดของงาน SQL Agent
เรามีงานตัวแทนของเซิร์ฟเวอร์ SQL ที่รันแผนการบำรุงรักษาเพื่อทำดัชนีฐานข้อมูลทั้งหมดบนเซิร์ฟเวอร์อีกครั้ง เมื่อเร็ว ๆ นี้สิ่งนี้ล้มเหลว แต่ประวัติงานไม่ได้ให้ข้อมูลเพียงพอที่จะวินิจฉัยปัญหา ในประวัติงานมันระบุงานล้มเหลว ผู้ใช้งานถูกเรียกใช้โดย foo \ bar ขั้นตอนสุดท้ายในการรันคือขั้นตอนที่ 1 (สร้างดัชนีใหม่) ในหน้าต่างรายละเอียดมีหลายข้อความในแบบฟอร์มต่อไปนี้: Executing query "ALTER INDEX [something] ON [a...".: 0% complete End Progress Progress: 2015-03-15 22:51:23.67 Source: Rebuild Index Task คำสั่ง SQL ที่กำลังทำงานถูกตัดทอนและฉันจะสมมติว่าผลลัพธ์ของคำสั่งนั้นถูกตัดทอนด้วยทำให้ฉันไม่สามารถระบุได้ว่าคำสั่งใดที่ล้มเหลวและเพราะเหตุใด มีวิธีใดที่จะแยกข้อความทั้งหมดของข้อความเหล่านี้ออกหรือไม่

6
สคริปต์เพื่อดูการรันงานใน SQL Server ด้วยเวลาเริ่มงาน
วิธีการเขียนสคริปต์เพื่อดูงานใน SQL Server ที่มีเวลาเริ่มงาน? SELECT sj.name, sja.run_requested_date, CONVERT(VARCHAR(12), sja.stop_execution_date-sja.start_execution_date, 114) Duration FROM msdb.dbo.sysjobactivity sja INNER JOIN msdb.dbo.sysjobs sj ON sja.job_id = sj.job_id WHERE sja.run_requested_date IS NOT NULL ORDER BY sja.run_requested_date desc;

5
เครื่องมือที่ดีสำหรับการแสดงผลงาน SQL Agent คืออะไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ดูแลฐานข้อมูล Exchange Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันพบว่าเครื่องมือ MS SQL Studio ในตัวสำหรับการจัดการงานตัวแทนให้น่าผิดหวังเล็กน้อย คุณพบว่ามีเครื่องมืออะไรบ้างที่เป็นประโยชน์ Offhand มีสามสิ่งที่ฉันต้องการเห็นในเครื่องมือดังกล่าว: สรุปกราฟิกของงานที่ทำงานเมื่อนานเท่าไหร่และไม่ว่าพวกเขาจะประสบความสำเร็จ มุมมองสถานะปัจจุบันเช่น Job Activity Monitor แต่รีเฟรชในเวลาจริง อินเทอร์เฟซที่สะดวกกว่าสำหรับทำซ้ำหรือแก้ไขงาน (เช่นเปรียบเทียบสองขั้นตอนงานโดยไม่ถูกบล็อกโดยกล่องโต้ตอบโมดอล) มันอาจจะง่ายในการเขียนแอพเล็ก ๆ น้อย ๆ เพื่อจัดการสิ่งนี้ แต่มีบางคนทำไปแล้วและทำได้ดีกว่า เห็นได้ชัดว่านี่เป็นคำถามเชิงอัตวิสัยดังนั้นหากมีการดัดแปลงบางอย่างที่ผ่านมาแล้วอย่าลังเลที่จะทำให้มันเป็น CW

4
ฉันใช้ SQL Server Agent เพื่อกำหนดเวลาแม้แต่งานที่ไม่ใช่ฐานข้อมูล - นี่เป็นความคิดที่ไม่ดีใช่ไหม
เนื่องจากฉันเป็น DBA (และในหลาย ๆ กรณีระบบปฏิบัติการจริง) ดังนั้น SQL Server จึงได้รับการติดตั้งบนเซิร์ฟเวอร์ทุกเครื่องที่ฉันต้องทำงานเป็นประจำ ฉันเพิ่งรู้ว่าฉันใช้ SQL Agent เป็นตัวกำหนดเวลางานในเกือบทุกกรณีแทนที่จะเป็น Windows Task Scheduler จากมุมมองของฉันตัวแทน SQL มีข้อได้เปรียบเหนือ Windows Task Scheduler หลายประการ: รีโมต (จากเวิร์กสเตชันของฉัน) เริ่ม / หยุด / ตรวจสอบงาน แชร์กำหนดการ (ไม่ใช่แต่ละงานด้วยตัวเอง) หลายขั้นตอนและการควบคุมการไหล งานประเภทต่าง ๆ แจ้งเตือนเมื่อความล้มเหลว / เสร็จสิ้น สามารถกำหนดค่าให้ทำหน้าที่ผู้ใช้ที่แตกต่างกัน (ปานกลาง) ข้อความแสดงข้อผิดพลาดอธิบายมากกว่ารหัสข้อผิดพลาด อย่างไรก็ตามฉันไม่สามารถหลบหนีจากความรู้สึกที่ว่านี่เป็นแนวปฏิบัติที่ไม่ดี - SQL Agent ควรสำรองไว้สำหรับงานที่เกี่ยวข้องกับฐานข้อมูลเท่านั้นและฉันควรปล่อยให้ระบบปฏิบัติการระดับทำงานใน Windows Task Scheduler แม้ว่าฉันจะไม่ชอบการใช้งานก็ตาม …

2
ตัวแทน SQL จะอัพเดตค่า next_run_date / next_run_time อย่างไรและเมื่อไร?
ฉันทำงานกับโค้ดใน T-SQL เพื่อเพิ่มกำหนดการใหม่ให้กับงาน SQL Agent โดยใช้ sp_add_jobschedule proc ในฐานข้อมูล msdb เมื่อฉันเพิ่มกำหนดการใหม่ (โดยปกติแล้วจะเรียกใช้ครั้งเดียวในวันที่ / เวลาที่ระบุ) และดูค่าใน sysjobschedules และ sysschedules ทันทีฉันจะเห็นว่ามีการเพิ่มกำหนดการใหม่และเชื่อมโยงกับ job_id สำหรับตัวแทน SQL ของฉัน งาน. อย่างไรก็ตามค่าสำหรับ next_run_date และ next_run_time มี 0 ค่า เมื่อฉันกลับมาและดูพวกเขาอีกครั้งใน 2 หรือ 3 นาทีพวกเขายังคงแสดง 0 ในพวกเขา อย่างไรก็ตามเมื่อฉันกลับมาอีก 5 หรือ 10 นาทีต่อมาตอนนี้มันก็แสดงค่าวันที่และเวลาที่สอดคล้องกับการวิ่งตามกำหนดครั้งต่อไปได้อย่างถูกต้อง ดังนั้นคำถามของฉันคือ: ค่าเหล่านี้มีการอัปเดตบ่อยเพียงใด กระบวนการใดที่ปรับปรุงค่าเหล่านี้ ถ้าฉันจะเพิ่มตารางเวลาที่เคยพูดว่า 1 นาทีในอนาคตนั่นหมายความว่างานจะไม่ทำงานเนื่องจาก next_run_date …

2
เหตุใดบริการของ บริษัท ตัวแทนของเซิร์ฟเวอร์ SQL ไม่ตั้งค่าให้เริ่มต้นโดยอัตโนมัติตามค่าเริ่มต้น
หลังจากการติดตั้งเริ่มต้นของ SQL Server 2008 R2 กระบวนการตัวแทนของเซิร์ฟเวอร์ SQL ดูเหมือนว่าจะถูกตั้งค่าเป็นการเริ่มต้นด้วยตนเอง อะไรคือสาเหตุของสิ่งนี้? การตั้งค่าอัตโนมัติเป็นความคิดที่ไม่ดีหรือไม่มีจุดหมายด้วยเหตุผลบางอย่างหรือไม่

1
SQL Server 2014 Express ด้วย Advanced Services รองรับการค้นหาข้อความทั้งหมดหรือไม่
ฉันติดตั้ง SQL Server 2014 Express edition ด้วยบริการขั้นสูงแล้ว ฉันหวังว่าจะลองใช้คุณสมบัติการค้นหาข้อความแบบเต็ม ฉันอ่านที่นี่ว่าการค้นหาข้อความแบบเต็มได้รับการสนับสนุนโดยฉบับด่วนปี 2014 แต่หลังจากติดตั้งและพยายามสร้างดัชนีข้อความแบบเต็มฉันได้รับข้อผิดพลาดที่ระบุว่าดัชนีข้อความแบบเต็มไม่สนับสนุนในเซิร์ฟเวอร์ sql เวอร์ชันนี้ ดัชนีข้อความแบบเต็มได้รับการสนับสนุนจริงหรือไม่? มีโอกาสที่ฉันจะติดตั้งเวอร์ชันที่ไม่ถูกต้อง (ไม่ใช่บริการขั้นสูง) หรือไม่ ฉันถอนการติดตั้งและติดตั้งใหม่สองครั้งเพื่อให้แน่ใจ แต่ปัญหาเดียวกันทั้งสองครั้ง ฉันมั่นใจว่าฉันติดตั้งโดยใช้เครื่องมือติดตั้งบริการขั้นสูง ฉันใช้ Windows 7, 64 บิต

2
ขั้นตอนงาน SQL ทำงานเป็นบัญชี sql ที่แตกต่างกัน
ฉันอยากรู้วิธีตั้งค่าขั้นตอนงาน SQL เพื่อดำเนินการเป็นบัญชีเข้าสู่ระบบ SQL อื่น ดูเหมือนว่าฉันจะต้องตั้งค่าบัญชีพร็อกซีใหม่ซึ่งต้องใช้ข้อมูลรับรองที่มีอยู่ เมื่อฉันสร้างข้อมูลรับรองตัวเลือกเดียวของฉันคือการใช้ข้อมูลรับรองเข้าสู่ระบบ Windows งานที่ฉันพยายามเรียกใช้อยู่ด้านล่าง มีคำสั่งเพิ่มเติมอื่น ๆ แต่เมื่อฉันตั้งค่าขั้นตอนงานให้ทำงานเป็นล็อกอิน SQL มันล้มเหลว insert into [dbo].[TableA] SELECT ss.[Ref_ID] ,mm.[studentID] ,mm.[studentPersonID] ,mm.[studentFirstname] FROM [dbo].[TableB] mm left outer join [dbo].[TableC] ss on ss.parentPersonID=mm.parentPersonID and mm.studentPersonID = ss.studentPersonID where ss.Ref_ID is not null; เมื่อสิ่งนี้ถูกเรียกใช้ผ่าน SQL Job Step มันจะล้มเหลว Executed as user: an_admin_account. …

2
วิธีที่ดีในการโทรงานตัวแทนของเซิร์ฟเวอร์ SQL หลายงานตามลำดับจากงานหลักหนึ่งงานหรือไม่
ฉันมีงานตัวแทนของเซิร์ฟเวอร์ SQL หลายงานที่ควรเรียกใช้ตามลำดับ เพื่อให้ภาพรวมที่ดีของงานที่ควรจะดำเนินการฉันได้สร้างงานหลักที่เรียกงานอื่น ๆ EXEC msdb.dbo.sp_start_job N'TEST1'ที่มีการเรียกร้องให้ sp_start_jobเสร็จสิ้นทันที (งานขั้นตอนที่ 1) แต่แล้วฉันต้องการงานหลักของฉันจะรอจนกว่างานTEST1จะเสร็จสิ้นก่อนที่จะเรียกงานต่อไป ดังนั้นฉันจึงได้เขียนสคริปต์ขนาดเล็กนี้ที่เริ่มดำเนินการทันทีหลังจากงานถูกเรียก (ขั้นตอนงาน 2) และบังคับให้งานหลักรอจนกว่างานย่อยจะเสร็จสิ้น: WHILE 1 = 1 BEGIN WAITFOR DELAY '00:05:00.000'; SELECT * INTO #jobs FROM OPENROWSET('SQLNCLI', 'Server=TESTSERVER;Trusted_Connection=yes;', 'EXEC msdb.dbo.sp_help_job @job_name = N''TEST1'', @execution_status = 0, @job_aspect = N''JOB'''); IF NOT (EXISTS (SELECT top 1 * FROM …

2
แจ้งเตือนเมื่องานใด ๆ ในหมวดหมู่งานล้มเหลว
เป็นไปได้หรือไม่ที่จะมีการตั้งค่าการแจ้งเตือนใน SQL Server 2008 ที่จะส่งอีเมลเมื่อใดก็ตามที่งานในประเภทเฉพาะล้มเหลว? ผมสงสัยว่าเพราะผมต้องการที่จะตั้งขึ้นได้ตลอดเวลาอีเมลสมัครสมาชิก SSRS ล้มเหลว - และทั้งหมดของการสมัครรับข้อมูลเหล่านี้เป็นงานในหมวดหมู่ของเซิร์ฟเวอร์รายงาน แก้ไข - ปรากฎว่าเมื่อการสมัครสมาชิก SSRS ล้มเหลวงานของตัวเองไม่ได้ล้มเหลวดังนั้นคำถามของฉันจะไม่ใช้กับการตรวจสอบการสมัครสมาชิก SSRS อย่างไรก็ตามฉันยังต้องการทราบสำหรับงานอื่น ๆ ที่เราทำงานในสภาพแวดล้อมของเรา

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