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

Microsoft SQL Server ทุกรุ่น (ไม่ใช่ MySQL) โปรดเพิ่มแท็กเฉพาะเวอร์ชันเช่น sql-server-2016 เนื่องจากมักเกี่ยวข้องกับคำถาม

2
วิธีการปรับสมดุลหน่วยความจำ SQL Server กับหน่วยความจำบริการวิเคราะห์เซิร์ฟเวอร์ SQL
เรามีหลายระบบที่มีการกำหนดค่าเดียวกัน เซิร์ฟเวอร์เดียว (เสมือนหรือจริง) ใช้ SQL Server (SQL) และ SQL Server Analysis Server (AS) หลายแกน RAM 16gb แต่ละคืน SQL Server จะทำการประมวลผลประมาณ 2-3 ชั่วโมงตามด้วยการประมวลผล AS 2-3 ชั่วโมง จากนั้นตลอดทั้งวันจะมีการสอบถามเฉพาะ AS สมมติว่านี่เป็นเซิร์ฟเวอร์เฉพาะและไม่มีแอพพลิเคชั่นอื่นใดที่เกี่ยวข้องและการประมวลผลทั้งสองชุดนั้นจะซิงโครนัสอย่างสมบูรณ์โดยไม่ทับซ้อนกันตลอดเวลา - ฉันจะตั้งค่าขีด จำกัด หน่วยความจำของเซิร์ฟเวอร์ SQL และ AS ได้อย่างไร เหตุผลที่ถามคือถ้าฉันไม่ได้ตั้งค่าขีด จำกัด สำหรับ SQL มันจะดึงหน่วยความจำทั้งหมดที่ทำได้ อย่างไรก็ตาม - ความเข้าใจของฉันคือ SQL จะปล่อยหน่วยความจำนี้อย่างมีความสุขถ้า: มันไม่ได้ใช้มันและ บริการ / โปรแกรมอื่นร้องขอ …

1
ล้างแคชของเซิร์ฟเวอร์ SQL และดิสก์ I / O
เรากำลังยุ่งกับการทดสอบระบบ OLTP ที่เราพัฒนาขึ้นใน. NET 4.0 และรัน SQL Server 2008 R2 ที่ด้านหลัง ระบบใช้คิวตัวแทนการบริการเซิร์ฟเวอร์ SQL ซึ่งมีประสิทธิภาพมาก แต่เรากำลังประสบกับแนวโน้มที่แปลกประหลาดขณะประมวลผล การร้องขอการประมวลผลของ SQL Server ที่อัตราการพองตัวเป็นเวลา 1 นาทีตามด้วยกิจกรรมการเขียนดิสก์ที่เพิ่มขึ้น ~ 20 วินาที กราฟต่อไปนี้แสดงให้เห็นถึงปัญหา Yellow = Transactions per second Blue = Total CPU usage Red = Sqlsrv Disk Write Bytes/s Green = Sqlsrv Disk Read Bytes/s ในระหว่างการแก้ไขปัญหาเราลองทำสิ่งต่อไปนี้โดยไม่มีการเปลี่ยนแปลงที่สำคัญในรูปแบบ: บริษัท ตัวแทนการเซิร์ฟเวอร์ …

2
การสำรองข้อมูล SQL Server ล้มเหลว ข้อผิดพลาด: 3041, ความรุนแรง: 16, สถานะ: 1
ก่อนอื่นฉันเป็นคนใหม่ที่ stackexchange ดังนั้นโปรดอดทนกับฉัน ฉันใช้ SQL Server 9.0.4060 ปัญหาของฉันคือ: การสำรองข้อมูล SQL Server ของฉันล้มเหลวในฐานข้อมูลจำนวนมาก แผนการบำรุงรักษาทำงานกับงานสำรองต่าง ๆ : สำรอง DIFF ทุกวันเวลา 20:30 น. และสำรองเต็มทุกวันอาทิตย์เวลา 20:30 น. ฉันพบข้อผิดพลาดสองข้อนี้สำหรับฐานข้อมูลแต่ละตัวที่ไม่สามารถทำการสำรองข้อมูลได้สำเร็จ: Date 06-11-2012 20:31:06 Log SQL Server (Current - 07-11-2012 11:43:00) Source Backup Message BACKUP failed to complete the command BACKUP DATABASE (dbname) WITH DIFFERENTIAL. Check the …

1
การจำลองแบบ SQL Server Snapshot ทำสำเนาข้อมูลทุกครั้งหรือไม่
ฉันกำลังดูการจำลองแบบภาพรวมระหว่างเซิร์ฟเวอร์สองเครื่อง นี่คือสิ่งที่ฉันมี: ฐานข้อมูล 500GB ~ 500MB ต่อวันโหลด bcp ~ 50MB การทำธุรกรรมรายวัน ฉันถาม DBA อื่น ๆ ใน บริษัท เกี่ยวกับประเภทการจำลองแบบที่จะใช้ ฉันบอกให้ใช้การจำลองแบบ Snapshot อย่างไรก็ตามจากสิ่งที่ฉันเข้าใจและได้อ่านทุกคืนหลังจากโหลดสแน็ปช็อตจะคัดลอกฐานข้อมูลทั้งหมดไปยังผู้จัดจำหน่ายแล้วเขียนทับเซิร์ฟเวอร์อื่นอย่างสมบูรณ์ สแน็ปช็อตใช้งานได้ในเดลตาหรือเป็นสำเนาที่สมบูรณ์ทุกครั้งหรือไม่?

2
SQL Server 2012 Availability Group นั้นเป็น“ AlwaysON” หรือไม่
ในคลัสเตอร์ SQL Server แบบดั้งเดิมเมื่อเกิด failover ไคลเอนต์ทั้งหมดที่เชื่อมต่อกับ SQL Server ล้มเหลวเช่นการสูญเสียการเชื่อมต่อและลูกค้าแต่ละคนจะต้องสร้างการเชื่อมต่อใหม่ไปยังอินสแตนซ์คลัสเตอร์ล้มเหลว กลุ่มความพร้อมใช้งาน AlwaysON ลดปัญหานี้หรือไม่ failover ในกรณีที่กลุ่มความพร้อมใช้งาน SQL Server 2012 AlwaysON โปร่งใสให้กับลูกค้าที่เชื่อมต่อกับ SQL Server หรือไม่

3
ข้อผิดพลาดประสิทธิภาพการทำงานดัชนีดัชนี SQL Server 2008 datetime
เรากำลังใช้ SQL Server 2008 R2 และมีตารางที่มีขนาดใหญ่มาก (100M + แถว) ที่มีดัชนี id หลักและdatetimeคอลัมน์ที่มีดัชนีที่ไม่เป็นคลัสเตอร์ เราจะเห็นพฤติกรรมลูกค้า / เซิร์ฟเวอร์บางสูงผิดปกติขึ้นอยู่กับการใช้งานของนั้นorder byข้อโดยเฉพาะในคอลัมน์วันที่และเวลาการจัดทำดัชนี ฉันอ่านข้อความต่อไปนี้: /programming/1716798/sql-server-2008-ordering-by-datetime-is-too-slow แต่มีอะไรเกิดขึ้นกับไคลเอนต์ / เซิร์ฟเวอร์มากกว่าสิ่งที่เป็น เริ่มอธิบายที่นี่ หากเราเรียกใช้แบบสอบถามต่อไปนี้ (แก้ไขเพื่อป้องกันเนื้อหาบางส่วน): select * from [big table] where serial_number = [some number] order by test_date desc แบบสอบถามหมดเวลาทุกครั้ง ใน SQL Server Profiler แบบสอบถามที่ดำเนินการจะมีลักษณะเช่นนี้กับเซิร์ฟเวอร์: exec sp_cursorprepexec @p1 output,@p2 output,NULL,N'select * …

2
ผลกระทบของการเปลี่ยนระดับความเข้ากันได้ของฐานข้อมูลสำหรับฐานข้อมูลที่จำลองแบบที่เผยแพร่จาก 90 เป็น 100
ฉันมีเซิร์ฟเวอร์ SQL Server 2008 R2 ที่มีฐานข้อมูลที่เผยแพร่ซึ่งปัจจุบันทำงานภายใต้ระดับความเข้ากันได้ 90 (2005) ฐานข้อมูลการสมัครสมาชิกเป็น SQL Server 2008 R2 ด้วยอย่างไรก็ตามฐานข้อมูลปลายทางจะถูกตั้งค่าเป็นระดับความเข้ากันได้ 100 และการจำลองแบบทำงานได้ดี หากฉันเปลี่ยนระดับความเข้ากันได้สำหรับฐานข้อมูลที่เผยแพร่แล้วจะมีผลต่อการจำลองแบบในทางใดทางหนึ่งหรือจะเป็นกรณีของการเริ่มต้นการสมัครสมาชิกใหม่ทั้งหมดและเริ่มการจำลองแบบใหม่หรือไม่ ฉันสงสัยว่าการเปลี่ยนระดับความเข้ากันได้ของฐานข้อมูลที่เผยแพร่อาจเปลี่ยนแปลงวิธีการที่การจำลองแบบที่เก็บไว้ทำงานเล็กน้อย แต่ฉันไม่แน่ใจ 100% เป็นกรณีนี้หรือไม่?

1
ฟัง IOCP ที่ไม่ให้ผล
ไม่มีใครรู้ว่าสิ่งที่ "ฟัง IOCP ฟังไม่" หมายถึงอะไร? บนเซิร์ฟเวอร์ SQL ของเราเพิ่งมีการตรวจสอบจุดบกพร่อง: ===================================================================== BugCheck Dump ===================================================================== This file is generated by Microsoft SQL Server version 9.00.5292.00 upon detection of fatal unexpected error. Please return this file, the query or program that produced the bugcheck, the database and the error log, and any other pertinent …

2
นอกเหนือจากการรีสตาร์ท SQL Server มีวิธีใดที่จะบังคับให้ SQLCLR AppDomain ถูกรีเซ็ตหรือไม่
ฉันต้องการบังคับให้ AppDomain ใช้ SQLCLR เพื่อทำการรีเซ็ต ฉันจะทำสิ่งนั้นนอกเหนือจากการรีสตาร์ทอินสแตนซ์ SQL Server ได้อย่างไร

1
วิธีที่ดีที่สุดในการนำเข้าข้อมูลจำนวนมากอีกครั้งด้วยเวลาหยุดทำงานน้อยที่สุด
ฉันต้องการนำเข้าประมาณ 500,000 รายการที่มีข้อมูลการค้นหา IP (การอ้างอิงแบบอ่านอย่างเดียว) ประมาณสัปดาห์ละครั้ง (คอลัมน์ int / bigint เพียงสามครั้ง) ฉันไม่ต้องการกังวลเกี่ยวกับการรวมข้อมูลกับตารางที่มีอยู่ฉันต้องการล้างข้อมูลเก่าและนำเข้าใหม่ แบบสอบถามที่ใช้งานได้ดีในการเรียกใช้ข้อมูลจะยังคงทำงานต่อไป (เราไม่ได้รับสิ่งเหล่านี้จำนวนมากและเป็นที่ยอมรับสำหรับพวกเขาที่จะทำงานช้าลงเล็กน้อยในขณะที่การนำเข้าเกิดขึ้น แต่ต้องเพิ่มขึ้นทุกวันตลอด 24 ชั่วโมง หมดเวลา "ไม่ใช่ตัวเลือก) สิ่งที่พยายามจนถึงตอนนี้ SSIS: ฉันได้สร้างแพ็คเกจ SSIS ที่ตัดทอนตารางและการนำเข้าออก - ใช้เวลาประมาณ 30 วินาทีในการเรียกใช้ (ยาวเกินไปจริง ๆ ) ตารางชั่วคราว: การนำเข้าสู่ตารางชั่วคราวการตัดและคัดลอกข้ามนั้นใช้เวลาประมาณ 30 วินาที BCP: การนำเข้าจำนวนมากก็ค่อนข้างช้าเกินไป (ด้วยเหตุผลบางอย่างมันช้ากว่า SSIS (แม้ว่าจะไม่มีดัชนีที่จะรักษาไว้) - ฉันคิดว่ามันเป็นเรื่องเกี่ยวกับการทำธุรกรรม char-> int / bigint: / โต๊ะกระจก ดังนั้นในขณะนี้ฉันสงสัยเกี่ยวกับการอ่านตารางผ่านมุมมองนำเข้าข้อมูลลงในตารางกระจกและเปลี่ยนมุมมองให้ชี้ไปที่ตารางนี้ ... …

3
จัดทำเอกสารเว็บยักษ์ใหญ่ของขั้นตอนการจัดเก็บที่เกี่ยวข้องระหว่างกันในฐานข้อมูล MS SQL: เครื่องมือหรือรูปแบบใด
ฉันหวังว่านี่เป็นคำถามที่มีคำตอบสั้นกว่า "อ่านหนังสือ 1,000 หน้า" แต่ถ้าเป็นสถานการณ์จริงให้ฉันตอบด้วย ฉันไม่ใช่ DBA จริงฉันเป็นนักพัฒนาซอฟต์แวร์ที่รู้ตัวว่าเราต้องการ DBA และร้านค้าที่ฉันทำงานมี DBA เป็นศูนย์ อย่างไรก็ตามการออกแบบฐานข้อมูล MS SQL ของเรารวมถึงขั้นตอนการจัดเก็บหลักหลายอย่างนั้นเป็นเรื่องที่ยุ่งยาก ขั้นตอนการจัดเก็บนั้นช้าเราสงสัยว่ามีข้อบกพร่อง แต่เราไม่รู้ด้วยซ้ำว่าพวกมันคาดหวังว่าจะทำงานอย่างไรเราจึงไม่รู้วิธีแก้ไข เป็นการเริ่มต้นฉันตัดสินใจว่าเราจะบันทึกว่ามันควรจะทำงานอย่างไรทั้งหมดจากนั้นเราจะเริ่มการทดสอบหน่วยและสร้างชุดการทดสอบหน่วยที่ช่วยพิสูจน์ว่าขั้นตอนการจัดเก็บใช้งานได้จริง ตรรกะที่พวกเขาดำเนินการเป็นส่วนสำคัญของแอปพลิเคชันของเราคุณสามารถพูดได้ว่ามันเป็น "มงกุฎเพชร" ของผลิตภัณฑ์หลักของ บริษัท ของเราและวิธีการทำงานนั้นไม่มีเอกสารอย่างสมบูรณ์ ฉันกำลังมองหาเอกสารทางเทคนิคเฉพาะที่ DBA มืออาชีพอาจคาดหวังว่าจะมีอยู่หรืออาจเขียนด้วยตัวเองหากพวกเขาต้องเข้าใจเว็บยักษ์ของขั้นตอนการจัดเก็บที่เรียกกัน รูปแบบปกติสำหรับการบันทึกขั้นตอนการจัดเก็บขนาดใหญ่คืออะไร คำอธิบายของค่าที่คาดไว้สำหรับ In พารามิเตอร์แต่ละตัว (เช่น "preconditions", "postconditions" เช่นสำหรับพารามิเตอร์บูลีนจะมีการเปลี่ยนแปลงอย่างไรเมื่อคุณเปิดหรือปิด ฯลฯ ) โดยทั่วไปแล้วเอกสารจะมีวิธีการอย่างไร? ความคิดเห็น SQL เท่านั้น? การขับรถภายนอกที่เฉพาะเจาะจงกับวัตถุประสงค์? "เอกสาร" ภายนอกหรือไม่ เราไม่มีเครื่องมือ SQL นอกเหนือจากสตูดิโอการจัดการ MS SQL แต่เราสงสัยว่ามีเครื่องมือที่จะทำให้เข้าใจจัดทำเอกสารและทดสอบสภาพแวดล้อมของเราดีขึ้นหรือไม่ …

1
เหตุใดจึงมีรายการที่ตกเป็นเหยื่อบนกราฟการหยุดชะงัก
ฉันพยายามเรียนรู้วิธีการวิเคราะห์กราฟการหยุดชะงักของ SQL Server 2008และฉันค้นหารายการจำนวนมากด้วย<victim-list>โหนดว่าง ฉันไม่เข้าใจสิ่งที่รายการเหล่านี้เป็นตัวแทน: หากไม่มีเหยื่อฉันจะระบุแหล่งรอที่ทำให้เกิดการหยุดชะงักได้อย่างไร ผลงานเหล่านี้หมายถึงอะไร นี่คือตัวอย่างย่อของรายการที่ฉันเห็น: <deadlock-list> <deadlock> <victim-list /> <process-list> <process id="processd2b6508" taskpriority="0" logused="10000" waittime="31" schedulerid="63" kpid="9104" status="suspended" spid="69" sbid="0" ecid="184" priority="0" trancount="0" lastbatchstarted="2012-07-30T01:10:45.550" lastbatchcompleted="2012-07-30T01:10:45.550" clientapp=".Net SqlClient Data Provider" hostname="XXXXXXX" hostpid="3648" isolationlevel="read committed (2)" xactid="30461033" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056"> <executionStack> <frame procname="" line="1" sqlhandle="0x020000002340c50225c17d0eec9bf7c51129348edffd1c70" /> <!--About 2 …

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 …

3
วิธีการควบคุมลำดับของเซิร์ฟเวอร์ที่แสดงรายการในกล่องโต้ตอบการเชื่อมต่อ SSMS
โครงการปัจจุบันของฉันเกี่ยวข้องกับการสับเปลี่ยนฐานข้อมูลจำนวนมากเมื่อเราอัปเกรดจาก SQL 2008 -> 2012, ฮาร์ดแวร์งานซ้ำทำซ้ำ สิ่งเล็กน้อยที่น่ารำคาญคือกล่องโต้ตอบการเชื่อมต่อใน SSMS ทำการสับคำสั่งเซิร์ฟเวอร์อีกครั้งเพื่อให้ได้ข้อมูลล่าสุดอยู่ด้านบน ระบุว่าในวันใดวันหนึ่งฉันกำลังเชื่อมต่อกับเซิร์ฟเวอร์ 6-10 DB และต้องการค้นหาหนึ่งในรายการอย่างรวดเร็วพฤติกรรมนี้เป็นอุปสรรคมากกว่าความช่วยเหลือ มีวิธีการปิดการใช้งานพฤติกรรมนี้มีเซิร์ฟเวอร์ที่แสดงรายการตามลำดับตัวอักษรหรือในลำดับที่พวกเขาเพิ่ม ... หรือสิ่งที่ไม่เปลี่ยนแปลงทุกครั้งที่ฉันเชื่อมต่อกับเซิร์ฟเวอร์หรือไม่ มีข้อแตกต่างอย่างสิ้นเชิงในการจัดการการเชื่อมต่อกับเซิร์ฟเวอร์เฉพาะจากรายการ / ฟาร์มของพวกเขาหรือไม่? ฉันกำลังใช้ SSMS สำหรับ SQL 2012 (แต่ฉันอยากรู้เกี่ยวกับโซลูชั่น 2008 ด้วย)
11 sql-server  ssms  tools 

5
SQL Server เทียบเท่ากับการทำงานของ Oracle RAC? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ดูแลฐานข้อมูล Exchange Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันทำ Googling แล้วและไม่สามารถหาคำตอบสำหรับคำถามนี้ได้เมื่อไม่กี่ปีที่ผ่านมาดังนั้นฉันจึงคิดว่าฉันจะถาม ฟีเจอร์ RAC ของออราเคิลนำเสนอการทำโหลดบาลานซ์สำหรับทั้งการอ่านและการเขียนธุรกรรมรวมถึงการเพิ่มขนาดและความพร้อมใช้งานสูงโดยไม่ต้องหยุดทำงาน (อย่างน้อยที่สุดเท่าที่ฉันเข้าใจ) - เรากำลังจะปรับใช้ฐานข้อมูลแรกของเราที่ใช้ RAC จะดูว่ามันจะไป) มีชุดคุณลักษณะของ SQL Server (หรือส่วนประกอบของบุคคลที่สามที่คุณสามารถติดตั้งด้านบน) ที่ให้ฟังก์ชันการทำงานที่เทียบเท่าหรือไม่ เรามักจะใช้การทำคลัสเตอร์ Windows ซึ่งเหตุการณ์ที่เกิดความล้มเหลวเป็นสาเหตุของการหยุดทำงานของ SQL ประมาณ 20-30 วินาทีซึ่งสามารถทนได้ แต่ไม่เหมาะ ขณะนี้ด้วย AlwaysOn ใน SQL 2012, SQL Server จะลดขนาดลงเหลือประมาณ 15 วินาทีและเพิ่มแนวคิดของฐานข้อมูลแบบอ่านอย่างเดียวรอง แต่พวกเขายังต้องการให้การเขียนธุรกรรมถูกสำลักผ่านจุดเชื่อมต่อจุดเดียว (ปรับปรุงมากเนื่องจากธุรกรรมจำนวนมาก เพิ่งอ่าน แต่ยังไม่โหลดสมดุลจริง ๆ ) และในกรณีที่โหนดล้มเหลวหรือจำเป็นต้องแก้ไขยังมีการหยุดทำงาน …

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