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

SQL Server 2008 (รุ่นบิลด์หลัก 10.00.xxxx) โปรดติดแท็กด้วย sql-server

1
มิเรอร์ - ไม่สามารถเข้าถึงที่อยู่เครือข่ายเซิร์ฟเวอร์
ฉันติดตั้ง SQL Server 2008 R2 แล้ว มันมีสามกรณี ค่าเริ่มต้น (MSSQLServer) อินสแตนซ์แรก อินสแตนซ์ที่สอง ทั้งหมดนี้คือการเข้าสู่ระบบในฐานะบริการเครือข่าย .. ค่าเริ่มต้นอินสแตนซ์คือเซิร์ฟเวอร์หลักอินสแตนซ์แรกคือมิเรอร์ที่สองอินสแตนซ์คือเซิร์ฟเวอร์พยาน ตอนแรกฉันทำการสำรองข้อมูลทั้งหมดและสำรองข้อมูลธุรกรรมของฐานข้อมูลหลักของฉัน กู้คืนไปยังอินสแตนซ์แรกโดยการรักษาชื่อฐานข้อมูลและสถานะการกู้คืนเดียวกันคือไม่มีการกู้คืน ในที่สุดฉันเริ่ม Mirroring และฉันได้รับข้อความแสดงข้อผิดพลาดสองข้อความที่แสดงด้านล่าง

3
ผลกระทบของการใช้ดัชนีที่ไม่ซ้ำกันที่ไม่ซ้ำกันพร้อมคอลัมน์ครอบคลุมแทนคีย์หลัก
เรามีตารางขนาดใหญ่[MyTable]ซึ่งปัจจุบันมีทั้งPrimary Key, และUnique Non Clustered Indexในคอลัมน์เดียวกัน ( [KeyColumn]) ดัชนี U NC ยังมีคอลัมน์ครอบคลุมเพิ่มเติม การมีทั้ง PK และดัชนี NC ที่ไม่ซ้ำกันในคอลัมน์เดียวกันดูเหมือนซ้ำซ้อนดังนั้นฉันจึงกำลังพิจารณาลบคีย์หลักและใช้ดัชนีที่ไม่ได้ทำคลัสเตอร์ที่ไม่ซ้ำกันเพื่อจุดประสงค์ในการอ้างอิงความสมบูรณ์ โปรดทราบว่าตารางจะทำคลัสเตอร์โดยคอลัมน์อื่นทั้งหมด ie ดังนั้นเรามี: ALTER TABLE [MyTable] ADD CONSTRAINT [PK_MyTable] PRIMARY KEY NONCLUSTERED ([KeyColumn]) GO และ CREATE UNIQUE NONCLUSTERED INDEX [IX_MyTable_SomeIndex] ON [MyTable] ([KeyColumn]) INCLUDE ([Column1], [Column2]) GO เท่าที่ฉันรู้มันเป็นไปไม่ได้ที่จะเพิ่มคอลัมน์ครอบคลุมลงในคีย์หลักดังนั้นฉันตั้งใจจะทำ: ปล่อยข้อ จำกัด ของ Foreign Key …

4
การจัดการกับ CXPACKET รอ - ตั้งค่าขีด จำกัด ต้นทุนสำหรับการขนาน
จากการติดตามคำถามก่อนหน้านี้เกี่ยวกับการแก้ไขปัญหาเว็บไซต์ SharePointอย่างสมบูรณ์ฉันสงสัยว่าฉันสามารถทำบางสิ่งเกี่ยวกับ CXPACKET ได้หรือไม่ ฉันรู้ว่าวิธีแก้ปัญหาข้อเข่ากระตุกคือการปิดความขนานทั้งหมดโดยการตั้งค่า MAXDOP เป็น 1 - ฟังดูเหมือนเป็นความคิดที่ไม่ดี แต่แนวคิดอื่นคือการเพิ่มเกณฑ์ต้นทุนก่อนที่จะเริ่มขนานกันเริ่มต้นที่ 5 สำหรับต้นทุนของแผนการดำเนินการค่อนข้างต่ำ ดังนั้นฉันจึงสงสัยว่ามีคำถามที่เขียนไว้แล้วว่าจะพบคำค้นหาที่มีค่าใช้จ่ายแผนปฏิบัติการสูงที่สุด (ฉันรู้ว่าคุณสามารถค้นหาสิ่งที่มีระยะเวลาดำเนินการสูงสุดและอื่น ๆ ได้) แต่เป็นต้นทุนแผนปฏิบัติการที่เรียกคืนได้ ด้วยหรือไม่) และนั่นก็จะบอกฉันด้วยว่ามีการดำเนินการค้นหาแบบขนานหรือไม่ ใครบ้างมีสคริปต์ดังกล่าวในมือหรือสามารถชี้ให้ฉันไปในทิศทางของมุมมอง DMV, DMF หรือแคตตาล็อกระบบอื่น ๆ ที่เกี่ยวข้องเพื่อค้นหาสิ่งนี้?

3
ทำไมคำสั่งซื้อของฉันเรียงลำดับสองตารางก่อนยกเว้น (ช้า) และไม่ใช่หลัง (เร็ว)
ปริศนาตัวเพิ่มประสิทธิภาพการสืบค้น SQL Server 2008 R2 เรามีสองตารางทั้งสองมี 9 ล้านแถว 70,000 แถวนั้นแตกต่างกันแถวอื่นจะเหมือนกัน อย่างรวดเร็ว 13 วินาที select * from bigtable1 except select * from similar_bigtable2 นี่จะเรียงลำดับเอาต์พุตและยังรวดเร็ว 13 วินาทีเช่นกัน select * into #q from bigtable1 except select * from similar_bigtable2 select * from #q order by sort_column ในขณะนี้ช้ามาก: ;with q as ( select * …

4
ฉันสามารถส่งออกแผนการบำรุงรักษาโดยไม่ใช้ Integration Services ได้หรือไม่
ฉันกำลังพยายามส่งออกแผนการบำรุงรักษาอย่างง่ายจากอินสแตนซ์ SQL Server ฉันต้องการตรวจสอบการส่งออกไปยังตัวควบคุมแหล่งที่มาและใช้แผนการบำรุงรักษาที่ส่งออกกับอินสแตนซ์ที่เหมือนกันตามหน้าที่ แนะนำให้ใช้StackOverflowและSQL Server สำหรับ Integration Services เพื่อส่งออกแผนการบำรุงรักษา เมื่อฉันพยายามเชื่อมต่อกับ Integration Services ในเป้าหมายการส่งออกฉันได้รับข้อผิดพลาดต่อไปนี้: การเชื่อมต่อกับบริการการรวมบริการบนคอมพิวเตอร์ "WEBSERVER" ล้มเหลวด้วยข้อผิดพลาดต่อไปนี้: บริการที่ระบุไม่มีอยู่เป็นบริการที่ติดตั้ง เราเลือกที่จะปิดการใช้งานบริการรวมใน WEBSERVER เพราะเราใช้กล่องนี้เฉพาะสำหรับการให้บริการข้อมูลแก่แอปพลิเคชันผู้บริโภค ข้อมูลทั้งหมดใน WEBSERVER ถูกจำลองแบบจากอินสแตนซ์ส่วนหลัง บริการการรวมถูกใช้อย่างมากสำหรับการประมวลผลข้อมูลในอินสแตนซ์แบ็กเอนด์ มีวิธีการจัดทำเอกสารเพื่อส่งออกแผนการบำรุงรักษาโดยไม่ใช้ Integration Services หรือไม่ Microsoft สนับสนุนหรือไม่

2
SQL Server ที่เก็บข้อมูลของ TinyInt
ใน SQL Server เหตุใดจึงมีขนาดเล็กเก็บไว้กับ 9B ในแถว ด้วยเหตุผลบางอย่างดูเหมือนว่าจะมีหนึ่งไบต์เพิ่มเติมในตอนท้ายของรูปแบบบิตแมป NULL ใช้ tempdb; ไป สร้างตาราง tbl ( ฉัน TINYINT ไม่เป็นโมฆะ ); ไป ใส่เข้าไปใน tbl (i) ค่า (1); ไป DBCC IND ('tempdb', 'tbl', - 1); ไป TRACEON DBCC (3604); - ดัมพ์เพจจะไปที่คอนโซล ไป หน้า DBCC ('tempdb', 1,168,3); ไป ผลลัพธ์ (ฉันย้อนกลับไบต์เนื่องจากหน้า DBCC แสดงไบต์ที่สำคัญน้อยที่สุดก่อน): Record Size = …

2
พารามิเตอร์โพรซีเดอร์ที่เก็บมีจำนวนมากเกินไป?
ฉันเพิ่งเริ่มเขียนกระบวนงานที่เก็บไว้ใน SQL Server 2008 และมีพารามิเตอร์มากกว่า 30 รายการ ฉันไม่เคยเขียนหนึ่งที่มีมากกว่า 10 พารามิเตอร์และนั่นทำให้ฉันคิดว่า ... ณ จุดใดมีพารามิเตอร์มากเกินไป? สำหรับบริบท ... ขั้นตอนนี้จะต้องแทรกแถวเดียวลงในตารางเดียว ก็จะมีความคล้ายคลึงกันมาก แม้ว่าจะค่อนข้างเล็ก เวอร์ชันที่ดำเนินการUPDATEบนตารางเดียวกัน คอลัมน์ส่วนใหญ่มีขนาดค่อนข้างเล็กโดยมีการผสมผสานของ int และ strings ( varchar(200)) ปัญหาคืออะไร; ดีหรือไม่ดี การมีโพรซีเดอร์ที่มีพารามิเตอร์จำนวนมากและเกณฑ์ที่ฉันควรเริ่มพิจารณารูปแบบอื่นคืออะไร

4
ฉันจะเรียกใช้ไฟล์แบตช์จากงานที่กำหนดเวลาผ่านตัวแทนของเซิร์ฟเวอร์ SQL ได้อย่างไร
ฉันพยายามเรียกใช้ไฟล์แบตช์ (Windows) จากภายในงานตัวแทนของ SQL Server ภายใต้ SQL Server 2008 R2 ในขั้นตอนงานฉันได้สร้างขั้นตอนใหม่ตั้งค่าประเภทเป็น "ระบบปฏิบัติการ (CmdExec)" ฉันเริ่มพยายามใส่ชื่อแบตช์ไฟล์ในฟิลด์ "คำสั่ง" มันทำให้เกิดข้อผิดพลาดที่ไม่สามารถหาไฟล์ได้ จากนั้นฉันลอง: cmd.exe c: \ test.bat สิ่งนี้เริ่มต้น แต่ไม่เสร็จสมบูรณ์ (และดูเหมือนว่าจะใช้งานไม่ได้จริง ๆ ) ฉันพยายามตัดชื่อแบตช์ไฟล์ในเครื่องหมายคำพูด: cmd.exe "C: \ test.bat" แต่นั่นก็ไม่ได้สร้างความแตกต่างเลย ชุดค่าผสมเวทมนต์อะไรที่จะทำให้มันใช้งานได้?

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

5
SQL Server Backups - คำถามสองสามข้อ
เราทำงานสำรองข้อมูลรายสัปดาห์เวลา 21.00 น. ในวันศุกร์และเราประสบปัญหาสองสามประการเกี่ยวกับพื้นที่ดิสก์ (ซึ่งลดลงอย่างน่ากลัวในบางครั้ง) และประสิทธิภาพ เรากำลังดูที่การทำให้เพรียวลม / เพิ่มประสิทธิภาพสิ่งที่เกิดขึ้นและจะขอบคุณความคิดเห็นของคุณ โดยเฉพาะ: กระบวนการสำรองข้อมูลใช้เวลาประมาณ 4 ชั่วโมงเพื่ออัปเดตสถิติระหว่างการสำรองข้อมูล เราสามารถปิดขั้นตอนนี้อย่างปลอดภัยเพื่อประหยัดเวลาได้หรือไม่? เราใช้พื้นที่ดิสก์เหลือน้อยมากเป็นประจำและสงสัยว่าเราควรจะทำกระบวนการนี้อีกครั้ง ขณะนี้มันสร้างการสำรองข้อมูลแล้วลบการสำรองข้อมูลก่อนหน้าและนี่คือสิ่งที่ hogging พื้นที่ดิสก์ เราสามารถได้อย่างปลอดภัยลบก่อนหน้านี้หนึ่งครั้งแรกแล้วทำสำรองข้อมูล? ความคิดเห็นหรือข้อสังเกตอื่น ๆ จะได้รับการต้อนรับอย่างมากแก้ไข: ขนาดรวมของไฟล์ SQL บนเซิร์ฟเวอร์ประมาณ 35GB หนึ่งฐานข้อมูลมีขนาดประมาณ 25GB ในขณะที่อีกหกส่วนแบ่งเป็นอีก 10 GB หรือมากกว่านั้น


4
ควรใช้ประเภทข้อมูล XML เมื่อใด
ฉันรับผิดชอบในการสร้างฐานข้อมูลในโครงการ เรามีสาขาที่ไม่ค่อยมีค่า (1 ในทุก ๆ 10,000 เรคคอร์ด) และฉันพยายามหาวิธีที่ดีที่สุดในการจัดเก็บในฐานข้อมูล เท่าที่ฉันเห็นฉันมี 3 ตัวเลือก: เพิ่มคอลัมน์ในตารางสำหรับแต่ละค่าพิเศษ เพิ่มตารางที่เชื่อมโยงซึ่งอ้างอิงถึงตารางต้นฉบับและมีการบันทึกเฉพาะที่เราจำเป็นต้องเก็บค่า ใช้ชนิดข้อมูล XML ในตารางต้นฉบับและเก็บค่าทั้งหมดในนี้ มีตัวเลือกอื่น ๆ ที่ฉันไม่ได้พิจารณาหรือไม่? ฉันพยายามหาข้อดีข้อเสียของแต่ละวิธี เท่าที่ฉันสามารถบอกได้ว่า 1 จะเป็นวิธีที่ง่ายที่สุดและ 2 จะใช้พื้นที่น้อยที่สุด แต่ฉันพยายามหาแหล่งข้อมูลจำนวนมากสำหรับ 3 คน

3
การดำเนินการตามคำขอเดียวกันจาก C # VS SSMS ให้เวลาดำเนินการที่แตกต่างกัน
ฉันมีคำขอเช่นนี้ SELECT [EstimateId], [CreationUserId], [EstimateStatusValueId], [LanguageId], [LocationId], [EstimatorUserId], [FilterUnitSystemTypeId], [EstimateNumber], [RevisionNumber], [CreationDate], [ModificationDate], [ProjectDescription], [IsBsdq], [ClosingDate], [ClosingTime], [ClosingUpdatedOn], [DeadLineDate], [IsReceived], [Inclusion], [Exclusion], [Misc], [Note], [WorkDeadLines], [Comments], [Validity], [PlansLocation], [PlansReceivedFrom], [Price] FROM [Estimate].[Estimates] ORDER BY [ClosingDate] ASC, [ClosingTime] ASC เมื่อฉันเรียกใช้แบบสอบถามนี้ใน SSMS ฉันได้รับเวลาดำเนินการ 953ms แต่เมื่อฉันเรียกใช้แบบสอบถามนี้จากแบบสอบถาม Linq ใน C # ของฉันฉันได้รับเวลาดำเนินการ 1813ms The …


2
SQL Server 2008 - ประสิทธิภาพของฐานข้อมูลข้ามบนเครื่องจริงและอินสแตนซ์เซิร์ฟเวอร์เดียวกัน
มีประสิทธิภาพในการทำงานเมื่อทำการเลือกทั่วทั้งฐานข้อมูลอื่นบนเครื่องจริงหรือไม่? ดังนั้นฉันจึงมี 2 ฐานข้อมูลในเครื่องทางกายภาพเดียวกันที่ทำงานภายในอินสแตนซ์ SQL 2008 เดียวกัน ตัวอย่างเช่นใน SomStoreProc on_this_db ฉันเรียกใช้ SELECT someFields จาก the_other_db.dbo.someTable ไกลจากสิ่งที่ฉันได้อ่านบนอินเทอร์เน็ตคนส่วนใหญ่ดูเหมือนจะบ่งบอกว่าไม่มี

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