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

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

3
ประสิทธิภาพของขั้นตอนการจัดเก็บเทียบกับแบบสอบถามแบบดิบ
ฉันได้อ่านมากทั้งสองด้านของการอภิปรายนี้: มีประสิทธิภาพที่มีนัยสำคัญที่จะได้รับโดยใช้วิธีการที่เก็บไว้เฉพาะกับแบบสอบถามแบบดิบหรือไม่ ฉันสนใจ SQL Server โดยเฉพาะ แต่จะสนใจในฐานข้อมูลใด ๆ และทั้งหมด


2
ความแตกต่างของประสิทธิภาพระหว่างดัชนีแบบคลัสเตอร์และแบบไม่ทำดัชนี
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา ผมอ่านและClusteredNon Clustered Indexes Clustered Index- มันมีหน้าข้อมูล นั่นหมายถึงข้อมูลแถวที่สมบูรณ์จะแสดงในคอลัมน์ดัชนีแบบกลุ่ม Non Clustered Index- มีเฉพาะข้อมูลตัวระบุแถวในรูปแบบของคอลัมน์ดัชนีแบบคลัสเตอร์ (ถ้าไม่มีข้อมูล) หรือตัวระบุไฟล์ + หมายเลขหน้า + จำนวนแถวทั้งหมดในหน้า ซึ่งหมายความว่าเคียวรีเครื่องมือต้องใช้ขั้นตอนเพิ่มเติมเพื่อค้นหาข้อมูลจริง ข้อความค้นหา - ฉันจะตรวจสอบความแตกต่างด้านประสิทธิภาพด้วยความช่วยเหลือของตัวอย่างที่ใช้งานจริงได้อย่างไรเนื่องจากเรารู้ว่าตารางสามารถมีได้เพียงรายการเดียวClustered Indexและจัดเตรียมsortingที่Clustered Index ColumnและNon Clustered Indexไม่ได้ให้บริการsortingและสามารถรองรับ 999 Non Clustered IndexesในSQL Server 2008และ 249 นิ้วSQL Server 2005ได้

3
วิธีที่ไม่เจ็บปวดในการสร้างดัชนีคลัสเตอร์บนโต๊ะขนาดใหญ่หรือไม่
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา ดังนั้นเราจึงมีเว็บไซต์ลูกค้าที่ร้องเรียนเกี่ยวกับประสิทธิภาพที่ช้ามาก ฉันลองดูหนึ่งครั้งและเห็นได้ชัดว่าปัญหานี้เกิดขึ้นเนื่องจากSomebody Else (grrrr) ออกแบบตารางที่มีระเบียนมากกว่า 20 ล้านรายการโดยไม่มีดัชนีคลัสเตอร์ ตอนนี้ฉันต้องการสร้างดัชนีคลัสเตอร์บนตารางนั้น - แต่ในสภาพแวดล้อมการทดสอบของฉันcreate indexคำสั่งของฉันทำงานเป็นเวลาหนึ่งชั่วโมงและยังไม่เสร็จ ไซต์ลูกค้าเป็นร้านค้าที่ใช้งานได้ตลอด 24 ชั่วโมงทุกวันและไม่สามารถเสียเวลาลงได้หนึ่งชั่วโมงในขณะที่ฉันสร้างดัชนี มีวิธีการบังคับใช้เดรัจฉานน้อยกว่าในการสร้างดัชนีที่จะทำให้งานเสร็จอย่างรวดเร็วหรือทำด้วยวิธีที่ชาญฉลาดซึ่งจะไม่ทำลายประสิทธิภาพของเซิร์ฟเวอร์โดยสิ้นเชิงในขณะที่กำลังทำงานอยู่หรือไม่? เรากำลังใช้ SQL Server Enterprise Edition

4
จำกัด ผลลัพธ์ให้อยู่ในแถวที่ 2 อันดับแรก
ใน SQL Server 2008 ฉันใช้เพื่อกลับชุดข้อมูลที่มีRANK() OVER (PARTITION BY Col2 ORDER BY Col3 DESC) RANKแต่ฉันมีหลายร้อยเร็กคอร์ดสำหรับแต่ละพาร์ติชันดังนั้นฉันจะได้รับค่าจากอันดับ 1, 2, 3 ...... 999 แต่ฉันต้องการได้มากถึง 2 RANKsในแต่ละPARTITIONครั้ง ตัวอย่าง: ID Name Score Subject 1 Joe 100 Math 2 Jim 99 Math 3 Tim 98 Math 4 Joe 99 History 5 Jim 100 History 6 Tim 89 …

7
คุณจะเตะผู้ใช้ออกจากฐานข้อมูล SQL Server 2008 ได้อย่างไร
เราจำเป็นต้องทำการกู้คืนและไม่สามารถทำได้เนื่องจากผู้ใช้รายอื่นเชื่อมต่ออยู่ เราคิดว่าเราตัดการเชื่อมต่อทุกขั้นตอน แต่ดูเหมือนจะไม่ จาก Studio Management เราจะเริ่มต้นกับคนอื่นได้อย่างไรเพื่อให้เราสามารถสำรองข้อมูลนี้ได้

2
เกณฑ์การตัดสินใจว่าเมื่อใดควรใช้ schema ที่ไม่ใช่ dbo กับฐานข้อมูลใหม่
ฉันเป็นนักพัฒนาแอปพลิเคชั่นเป็นส่วนใหญ่ แต่พบว่าตัวเองต้องทำงานฐานข้อมูลล่วงหน้าทั้งหมดสำหรับโครงการปัจจุบันของฉัน ( btw ... MS SQL Server 2008 ) เป็นการตัดสินใจครั้งแรกฉันพยายามคิดว่าจะแบ่งสถานะของฉันโดยใช้ฐานข้อมูลแยกหรือใช้โครงสร้างของแยกในฐานข้อมูลเดียวกัน ฉันอ่าน SQL Server Schema เล็กน้อยและดูเหมือนว่าเป็นวิธีธรรมชาติในการแยกโดเมนวัตถุ ( ที่ฉันชอบ ) แต่ฉันไม่แน่ใจว่าอาจมีค่าใช้จ่ายแอบแฝงกับรูปแบบนี้ อะไรคือสิ่งที่ควรนำมาใช้ในการปฏิบัติมากขึ้นเมื่อเลือกระหว่างแนวทางทั้งสองนี้ หากฉันหลีกเลี่ยงการdbo.mytableสนับสนุนmyschema.mytableฉันจะสร้างความท้าทายอื่น ๆ ( หรือปัญหา ) สำหรับสถาปัตยกรรมของฉันหรือไม่ เป็นหมายเหตุด้านข้าง ... ณ จุดนี้จะถูกส่งไปยังDBA จริงเพื่อรักษา / สนับสนุนดังนั้นฉันพยายามทำให้แน่ใจว่าฉันจะไม่ทำให้ชีวิตของพวกเขายากขึ้น

8
ทำไมแอปพลิเคชันไม่ควรใช้บัญชี sa
คำถามแรกของฉันโปรดเป็นคนอ่อนโยน ฉันเข้าใจว่าบัญชี sa ช่วยให้สามารถควบคุม SQL Server และฐานข้อมูลผู้ใช้สิทธิ์ทั้งหมดได้อย่างสมบูรณ์ ฉันเชื่ออย่างแน่นอนว่าแอปพลิเคชันไม่ควรใช้รหัสผ่าน sa หากไม่มีเหตุผลที่สมบูรณ์แบบนักธุรกิจให้ความสำคัญ คำตอบสำหรับคำถามนี้รวมถึงเหตุผลมากมายของฉันสำหรับการสนทนาที่เน้นด้านไอที ฉันถูกบังคับให้ยอมรับระบบการจัดการบริการใหม่ที่จะไม่ทำงานจนกว่าจะใช้รหัสผ่าน sa ฉันไม่เคยมีเวลาที่จะหาสาเหตุว่าทำไมเมื่อทำการตั้งค่าการประเมินผล แต่ทีมเซิร์ฟเวอร์พยายามที่จะติดตั้งเพื่อใช้บทบาทคงที่ฉันได้ตั้งค่าการรวม db_creater และสิทธิ์อื่น ๆ ที่ฉันคิดว่ามันต้องมี ซึ่งล้มเหลว ฉันปล่อยให้ทีมเซิร์ฟเวอร์ติดตั้งด้วยบัญชี sa แต่ทำงานภายใต้บัญชีในบทบาท dbo สำหรับฐานข้อมูล แต่ก็ล้มเหลวด้วย ฉันพยายามทำให้มันทำงานโดยใช้บัญชีในบทบาทดูแลระบบ แต่ก็ล้มเหลวและไม่มีข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์ที่ทำให้ฉันสามารถทำงานสิ่งที่เกิดขึ้นโดยไม่ต้องใช้เวลามากกว่าที่ฉันมี มันจะทำงานกับบัญชี sa และรหัสผ่านที่เก็บไว้ในข้อความที่ชัดเจนในไฟล์ปรับแต่ง เมื่อฉันสอบถามเรื่องนี้และทีมเซิร์ฟเวอร์ได้พูดคุยกับผู้ขายว่าพวกเขาได้รับคำตอบที่น่ากังวลว่า และจากนั้น 'เราสามารถดูรหัสผ่าน' scrambling ffs scrambling ฉันรู้ว่ามีวิธีและวิธีการ จำกัด การเข้าถึงไฟล์ แต่มันก็เป็นเพียงจุดอ่อนในการรักษาความปลอดภัยในความคิดของฉัน ยังไงก็ตามคำถามของฉันคือใครบางคนสามารถชี้ให้ฉันที่เอกสารบางอย่างที่ฉันสามารถใช้เพื่ออธิบายให้กับธุรกิจด้วยเหตุผลว่าทำไมสิ่งนี้เป็นสิ่งที่ไม่ดีและไม่ควรใหญ่ไม่มี ฉันทำงานในสาขาที่หมายความว่าฉันต้องใช้ความปลอดภัยอย่างจริงจังและพยายามดิ้นรนเพื่อให้ธุรกิจเข้าใจและท้ายที่สุดอาจได้รับการจัดอันดับต่อไป แต่ฉันต้องลอง

8
"ไม่พบโพรซีเดอร์ที่เก็บไว้ 'แม้ว่าจะสร้างโพรซีเดอร์ที่เก็บไว้ใน MS SQL Server Management Studio แล้ว
ฉันสร้างตารางtesttableภายในฐานข้อมูลtestbaseที่มีโครงสร้างต่อไปนี้: product_no (int, not null) product_name (varchar(30), not null) price (money, null) expire_date (date, null) expire_time (time(7), null) ซึ่งฉันใช้ Microsoft SQL Server 2008 Management Studio ฉันสร้างขั้นตอนการจัดเก็บไว้testtable_pricesmallerดังนี้ use testbase go create procedure testtable_pricesmaller @pricelimit money as select * from testtable where price = @pricelimit; go และสามารถดูกระบวนงานที่เก็บไว้ในObject ExplorerMicrosoft SQL Server Management Studio …

5
ใครใช้ HierarchyId ในการผลิต? มันน่าเชื่อถือเหรอ?
มีใครใช้ HierarchyId ในการผลิตจริงกับตารางขนาดที่เหมาะสมมากกว่าสองสามพันแถวใช่ไหม มันน่าเชื่อถือ / นักแสดง? เพื่อให้ห่างไกลฉันไม่ได้พบคนที่ไม่ได้มีส่วนเกี่ยวข้องกับผู้ขายแนะนำและให้คำแนะนำแก่พอลนีลเซ่นกับมันนี่ ประสบการณ์ของคุณในการใช้ HierarchyId ในระบบการผลิตจริงคืออะไร คุณใช้เกณฑ์ใดเมื่อคุณเลือก HierarchyId ทางเลือกอื่น

3
ตกลงหรือไม่ที่จะเพิ่มดัชนีหายไป?
ฉันมักจะใช้ SSMS เพื่อทดสอบขั้นตอนการจัดเก็บช้าของฉันสำหรับดัชนีที่ขาดหายไป เมื่อใดก็ตามที่ฉันเห็น "ดัชนีที่หายไป (ผลกระทบ xxx)" ปฏิกิริยาเข่าของฉันคือการสร้างดัชนีใหม่ ผลลัพธ์นี้ทำให้การสืบค้นเร็วขึ้นทุกครั้งที่ฉันสามารถบอกได้ มีเหตุผลอะไรที่ฉันไม่ควรทำต่อไป?

3
หยุดการทำงานของ Studio จัดการเซิร์ฟเวอร์ SQL โดยอัตโนมัติ
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา มีวิธีที่จะระงับการทำให้สมบูรณ์อัตโนมัติของ SQL Server Management Studio ชั่วคราวในขณะที่พิมพ์แบบสอบถามหรือไม่? ฉันไม่ต้องการปิดใช้งานการเติมข้อความอัตโนมัติให้สมบูรณ์เพียงแค่พูดว่ากดปุ่มค้างไว้ในขณะที่พิมพ์ด้วยคำใดคำหนึ่งเพื่อไม่ให้เข้าทาง ตัวอย่างเช่นฉันมีคำถามต่อไปนี้ SELECT Foo, Foo2 FROM SomeTable ขณะที่ผมพิมพ์Fooแล้วกดพื้นที่บาร์สตูดิโอ SQL Server บริหารเตะอัตโนมัติสมบูรณ์และเสร็จสิ้นไปFooFooBar

1
เหตุใด SQL Server“ Compute Scalar” เมื่อฉันเลือกคอลัมน์ที่คำนวณยังคงอยู่
สามSELECTคำสั่งในรหัสนี้ USE [tempdb]; GO SET NOCOUNT ON; CREATE TABLE dbo.persist_test ( id INT NOT NULL , id5 AS (id * 5) , id5p AS (id * 5) PERSISTED ); INSERT INTO dbo.persist_test (id) VALUES (1), (2), (3); SELECT id FROM dbo.persist_test; SELECT id5 FROM dbo.persist_test; SELECT id5p FROM dbo.persist_test; DROP …

3
ฉันจะเพิ่มคอลัมน์ rowversion ลงในตารางขนาดใหญ่โดยมีเวลาหยุดทำงานน้อยที่สุดได้อย่างไร
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา ใช้ SQL Server 2008 และใหม่กว่าฉันต้องการเพิ่มคอลัมน์ rowversion ในตารางขนาดใหญ่อย่างไรก็ตามเมื่อฉันเพียงแค่ ALTER TABLE [Tablename] ADD Rowversion [Rowversion] NOT NULL จากนั้นตารางจะไม่พร้อมใช้งานสำหรับการอัปเดตนานเกินไป ฉันสามารถใช้กลยุทธ์ใดในการลดเวลาหยุดทำงานนี้ ฉันจะพิจารณาอะไร แน่นอนง่ายกว่าดีกว่า แต่ฉันจะพิจารณากลยุทธ์ใด ๆ ความคิดของฉันคือเป็นทางเลือกสุดท้ายฉันสามารถรักษาตารางการแสดงละครที่ปรับปรุงใหม่โดยทริกเกอร์แล้ว sp_rename ตาราง staging ลงในตารางเดิม แต่ฉันหวังว่าจะได้อะไรที่ง่ายกว่า / ง่ายกว่านี้


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