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

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

2
ไม่สามารถอัปเดต“ CO2” เป็น“ CO₂” ในแถวตาราง
รับตารางนี้: CREATE TABLE test ( id INT NOT NULL, description NVARCHAR(100) COLLATE Modern_Spanish_CI_AS NOT NULL ); INSERT INTO test (id, description) VALUES (1, 'CO2'); ฉันรู้ว่าฉันไม่สามารถแก้ไขปัญหาเกี่ยวกับการพิมพ์ได้: SELECT * FROM test WHERE id = 1; UPDATE test SET description = 'CO₂' WHERE id = 1; SELECT * FROM test WHERE id = …

3
ยกเว้นผู้ประกอบการ vs NOT IN
ตัวEXCEPTดำเนินการถูกนำมาใช้ใน SQL Server 2005 แต่ความแตกต่างระหว่างNOT INและEXCEPTคืออะไร มันทำเช่นเดียวกัน? ฉันต้องการคำอธิบายง่ายๆพร้อมตัวอย่าง

17
ฉันจะเปรียบเทียบสคีมาของฐานข้อมูลทั้งสองได้อย่างไร
มีวิธีการค้นหาความแตกต่างในสองฐานข้อมูล SQL Server (schema เท่านั้น) หนึ่งคือท้องถิ่นและที่สองคือที่เว็บไซต์ของลูกค้า เรากำลังประสบปัญหากับรายงานแบบคริสตัลที่เรียกใช้รายงานบางส่วนและบางรหัสไม่ทำงานและดูเหมือนว่าสคีมาไม่ตรงกัน ฉันสามารถรันคำสั่งเดียวกันบนฐานข้อมูลทั้งสองและเปรียบเทียบผลลัพธ์เพื่อบอกความแตกต่างได้หรือไม่

2
เหตุใดตัวแปรตารางบังคับให้สแกนดัชนีในขณะที่ตาราง temp ใช้การค้นหาและคั่นหน้าการค้นหา
ฉันพยายามที่จะเข้าใจว่าทำไมการใช้ตัวแปรตารางทำให้เครื่องมือเพิ่มประสิทธิภาพไม่สามารถใช้การค้นหาดัชนีจากนั้นทำบุ๊กมาร์กการค้นหากับการสแกนดัชนี การเติมตาราง: CREATE TABLE dbo.Test ( RowKey INT NOT NULL PRIMARY KEY, SecondColumn CHAR(1) NOT NULL DEFAULT 'x', ForeignKey INT NOT NULL ) INSERT dbo.Test ( RowKey, ForeignKey ) SELECT TOP 1000000 ROW_NUMBER() OVER (ORDER BY (SELECT 0)), ABS(CHECKSUM(NEWID()) % 10) FROM sys.all_objects s1 CROSS JOIN sys.all_objects s2 CREATE INDEX …

4
สำหรับ XML ไม่สามารถทำให้ข้อมูลเป็นอนุกรมเนื่องจากมีอักขระ (0x0000)
ฉันมีคำถามใหญ่ (ถ้าจำเป็นฉันจะโพสต์ไว้ที่นี่) และฉันได้รับข้อผิดพลาดนี้: ข่าวสารเกี่ยวกับ 6841, ระดับ 16, สถานะ 1, บรรทัดที่ 1 สำหรับ XML ไม่สามารถทำให้เป็นอนุกรมข้อมูลสำหรับโหนด 'NoName' เนื่องจากมีอักขระ (0x0000) ซึ่งไม่ได้รับอนุญาตใน XML ในการดึงข้อมูลนี้โดยใช้ FOR XML ให้แปลงเป็นประเภทข้อมูลไบนารี, varbinary หรือรูปภาพและใช้คำสั่ง BINARY BASE64 ส่วนเดียวที่ฉันใช้FOR XMLอยู่ที่นี่: WHERE (CodFuncionario = Results.CodFuncionario) FOR XML PATH(''), TYPE).value('(./text())[1]', 'VARCHAR(MAX)'), 1, 2, '') AS [Experiencia] แต่อะไรนะnode noname? และฉันจะมองหาค่านี้ได้อย่างไร:(0x0000) นี่เป็นหนึ่งในแบบสอบถามย่อย (ส่วนเดียวที่ฉันมีสำหรับ XML): SELECT …

2
จำเป็นต้องเข้าใจข้อผิดพลาดในการดำเนินการแบบสอบถามแบบขนาน
วันนี้เราประสบกับประสิทธิภาพที่ลดลงในเซิร์ฟเวอร์ sql ของเรา ทำให้เวลานี้เกิดขึ้นเราบันทึก"The query processor could not start the necessary thread resources for parallel query execution"ข้อผิดพลาดหลายครั้ง การอ่านที่ฉันทำแสดงให้เห็นว่าสิ่งนี้เกี่ยวข้องกับจำนวน CPU ที่ใช้เมื่อดำเนินการคิวรีที่ซับซ้อน CPU Utilization was only at 7%แต่เมื่อตรวจสอบในระหว่างการหยุดทำงานของเรา มีอะไรอีกบ้างที่อ้างอิงเช่นนี้ที่ฉันยังไม่ได้เจอ? นี่เป็นสาเหตุของการเสื่อมประสิทธิภาพหรือไม่หรือว่าฉันกำลังไล่ต้อนปลาเฮอริ่งแดง? ค่า sp_configure ของฉันสำหรับสิ่งนี้มีดังนี้: name minimum maximum config_value run_value cost threshold for parallelism 0 32767 5 5

2
จำนวนนิพจน์ค่าแถวในคำสั่ง INSERT มีค่าเกินจำนวนสูงสุดที่อนุญาตของค่าแถว 1,000 ค่า
หนึ่งในINSERT INTOสคริปต์ถูกเขียนดังนี้ INSERT INTO tableName (Column1, Column2,....) VALUES (value1, Value2,...), (value1, Value2,...),.... ต่อไปนี้เป็นข้อผิดพลาดที่เรากำลังเผชิญกับการแยกวิเคราะห์คำสั่งแทรกด้านบน ข่าวสารเกี่ยวกับ 10738, ระดับ 15, สถานะ 1, บรรทัด 1007 จำนวนนิพจน์ค่าของแถวในคำสั่ง INSERT เกินจำนวนสูงสุดที่อนุญาตของค่าแถว 1,000 ค่า คำถามง่ายๆของฉันคือว่าเราสามารถเปลี่ยนวงเงินได้ 1,000 ค่าหรือไม่

2
ฉันจะบอกได้ว่ามีการใช้งาน Cores SQL Server จำนวนเท่าใด
ฉันมีเซิร์ฟเวอร์สองเครื่องที่ใช้ SQL Server เซิร์ฟเวอร์ 1: SQL Server 2008 R2 Express (4 คอร์) เซิร์ฟเวอร์ 2: SQL Server 2012 Developer Edition (8 คอร์) เท่าที่ฉันทราบ SQL Server 2008 R2 Express ควรใช้หนึ่งคอร์เท่านั้น รุ่นนักพัฒนาของ SQL Server 2012 ควรใช้ 8 คอร์ทั้งหมด อย่างไรก็ตามถ้าฉันเรียกใช้คำสั่งต่อไปนี้ภายในแบบสอบถาม SQL บน SQL Server 2008 R2 Express มันแสดง 4 คอร์ select scheduler_id, cpu_id, status, …

5
ย้ายหลายฐานข้อมูลจาก C: เป็น D: ในครั้งเดียว
ฉันมี SQL Server 2008 R2 โดยมีฐานข้อมูล 323 แห่งกินไดรฟ์ C: ไดรฟ์ SSD ที่รวดเร็วถึง 14 GB เนื่องจากฉันต้องการเรียกคืนพื้นที่บางส่วนบนไดรฟ์ C: ฉันต้องการย้ายพวกเขาไปยังไดรฟ์ D: ของฉัน ฉันพบบทความ MSDN นี้แล้ว แต่ดูเหมือนว่าเป็นขั้นตอนการย้ายฐานข้อมูลเดียวเท่านั้น มีวิธีอัตโนมัติหรือสคริปต์เพื่อย้ายฐานข้อมูลทั้งหมดของฉันในครั้งเดียว?

5
ความแตกต่างระหว่างการสำรองข้อมูลเต็มรูปแบบและการสำรองข้อมูลเต็มรูปแบบเฉพาะการคัดลอกเท่านั้น
ฉันเห็นในเธรด SQL Server Central การสำรองข้อมูลเต็มตัดทอนบันทึกหรือไม่ การสำรองข้อมูลเต็มรูปแบบไม่ตัดทอนบันทึก: ไม่ทั้งการสำรองข้อมูลทั้งหมดหรือส่วนต่างจะตัดทอนบันทึกธุรกรรม - Lynn Pettis No - การสำรองข้อมูลเต็มรูปแบบไม่ตัดทอนบันทึก - Chad Crawford ดังนั้นความแตกต่างระหว่างการสำรองข้อมูลเต็มรูปแบบและการสำรองข้อมูลเต็มรูปแบบเฉพาะการคัดลอกคืออะไร? สำหรับการสำรองข้อมูลบันทึกจะมีการสำรองข้อมูลแบบคัดลอกเท่านั้นซึ่งป้องกันไม่ให้ห่วงโซ่การบันทึกเสียหายโดยไม่ตัดทอนบันทึก ดังนั้นการสำรองข้อมูลเต็มรูปแบบเฉพาะการคัดลอกคืออะไร?


3
การตั้งค่า CLR กลางที่เก็บ CLR โพรซีเดอร์ / ฟังก์ชันที่เก็บไลบรารีสำหรับ procs ที่จัดเก็บภายในในฐานข้อมูลอื่น ๆ ที่จะใช้?
ฉันต้องการใช้รหัสที่ฉันพัฒนาใน C # CLR เพื่อใช้ในฐานข้อมูลทั้งหมดในระบบเพื่อให้ฉันไม่ต้องตั้งค่าให้เชื่อถือได้และเปิด CLR และเก็บรหัสเดียวกันไว้ในแต่ละอัน . มีวิธีที่ดีที่สุดในการทำเช่นนี้จากมุมมองการบริหารและความปลอดภัย? ฟังก์ชัน CLR นั้นพื้นฐานมากเช่นตัวแบ่งสตริง, การตรวจสอบความถูกต้องของอีเมล, url en / decode, base64 และอื่น ๆ ฉันต้องการเฉพาะ dbo schema ในแต่ละฐานข้อมูลเพื่อให้สามารถเข้าถึงฟังก์ชันได้ มีวิธีง่าย ๆ ในการทำเช่นนี้? นอกจากนี้ฉันยังไม่ชัดเจนว่า CLR dll ถูกฝังอยู่หรือไม่และถ้าฉันย้ายฐานข้อมูลมันจะแท็กตามหรือฉันต้องย้าย dll ด้วยเช่นกัน ขอบคุณ

2
คำนวณมิติเวลาใน BIDS อีกครั้ง
ฉันใช้ BIDS เพื่อสร้างคิวบ์ใน SSAS 2008 r2 ฉันใช้ตัวช่วยสร้างเพื่อสร้างมิติเวลา ส่วนหนึ่งของการกำหนดค่านั้นกำลังเลือกช่วงวันที่ หลังจากการสร้างฉันรู้ว่าฉันต้องการช่วงวันที่ที่กว้างกว่าที่ฉันระบุไว้ในตอนแรก ฉันพบว่าฉันสามารถเปิดมิติข้อมูลไปที่คุณสมบัติและกำหนดช่วงวันที่ใหม่ได้ ฉันบันทึกและประมวลผลส่วนข้อมูลใหม่ แต่ช่วงวันที่จริงในตารางไม่ได้เพิ่มขึ้นเพื่อรวมวันที่ที่เพิ่งเพิ่มเข้าไป มีวิธีอื่นในการทำให้มิติเวลานี้เติบโตหรือฉันต้องสร้างใหม่ตั้งแต่เริ่มต้นหรือไม่

2
SQL Server: เราควรใช้ TCP หรือ Named Pipes หรือใช้ค่าเริ่มต้นหรือไม่
เมื่อเชื่อมต่อกับ SQL Server 2008 R2 จากแอปพลิเคชันไคลเอนต์. NET 4 บนเซิร์ฟเวอร์ที่แตกต่างกันใน LAN เดียวกันคุณสามารถตั้งค่าโปรโตคอลเครือข่ายที่แตกต่างกันสามแบบ: TCP ท่อที่มีชื่อ อย่าตั้งค่าใด ๆ ในสตริงการเชื่อมต่อและใช้ค่าเริ่มต้น แนวปฏิบัติที่ดีที่สุดคืออะไร? จะเลือกอะไรดี? ข้อมูลเพิ่มเติม: ทั้ง TCP และเนมไปป์มีการเปิดใช้งานทั้งบนเซิร์ฟเวอร์และไคลเอนต์ แอปพลิเคชันใช้การจำลองฐานข้อมูล ไคลเอ็นต์และเซิร์ฟเวอร์สื่อสารผ่าน LAN ที่รวดเร็ว เรากำลังตรวจสอบสิ่งนี้เพราะเรามีปัญหาการเชื่อมต่อและการหมดเวลาที่หายากและไม่จริง (แต่ไม่ว่าฉันต้องการรู้วิธีปฏิบัติที่ดีที่สุด) มีบทความเกี่ยวกับเรื่องนี้ใน MSDNแต่มันเป็นเรื่องทั่วไปและคลุมเครือ ไม่แนะนำหรือแนะนำสิ่งที่มีประโยชน์

3
การลบระเบียนช้าเมื่อเปิดใช้งานทริกเกอร์
ความคิดนี้ได้รับการแก้ไขด้วยลิงก์ด้านล่าง - งานแก้ไข - แต่โปรแกรมแก้ไขไม่ได้ ทำงานกับฝ่ายสนับสนุนของ Microsoft เพื่อแก้ไขปัญหา http://support.microsoft.com/kb/2606883 ตกลงดังนั้นฉันมีปัญหาที่ฉันต้องการจะออกไป StackOverflow เพื่อดูว่ามีใครมีความคิด หมายเหตุนี่คือกับ SQL Server 2008 R2 ปัญหา: การลบ 3000 รายการจากตารางที่มีระเบียน 15000 รายการใช้เวลา 3-4 นาทีเมื่อเปิดใช้งานทริกเกอร์และเพียง 3-5 วินาทีเมื่อปิดการใช้งานทริกเกอร์ การตั้งค่าตาราง เราจะเรียกสองโต๊ะหลักและรอง มัธยมศึกษามีบันทึกรายการที่ฉันต้องการลบดังนั้นเมื่อฉันลบฉันเข้าร่วมในตารางรอง กระบวนการทำงานก่อนคำสั่งลบเพื่อเติมข้อมูลตารางรองที่มีระเบียนที่จะถูกลบ ลบคำชี้แจง: DELETE FROM MAIN WHERE ID IN ( SELECT Secondary.ValueInt1 FROM Secondary WHERE SECONDARY.GUID = '9FFD2C8DD3864EA7B78DA22B2ED572D7' ); ตารางนี้มีคอลัมน์จำนวนมากและดัชนี NC …

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