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

Microsoft SQL Server เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ใช้แท็กนี้สำหรับ SQL Server ทุกรุ่นรวมถึง Compact, Express, Azure, Fast-track, APS (เดิมคือ PDW) และ Azure SQL DW อย่าใช้แท็กนี้สำหรับ DBMS ประเภทอื่น (MySQL, PostgreSQL, Oracle, ฯลฯ ) อย่าใช้แท็กนี้สำหรับปัญหาเกี่ยวกับซอฟต์แวร์และการพัฒนาอุปกรณ์พกพาเว้นแต่จะเกี่ยวข้องโดยตรงกับฐานข้อมูล

2
PAGEIOLATCH_SH wait type ใน SQL Server คืออะไร?
ฉันมีคำถามที่ต้องใช้เวลานานในระหว่างการทำธุรกรรม เมื่อผมได้รับของกระบวนการที่มันเป็นwait_typePAGEIOLATCH_SH ประเภทการรอนี้หมายถึงอะไรและจะแก้ไขได้อย่างไร

14
ฉันจะทำให้งาน“ สร้างสคริปต์” เป็นอัตโนมัติใน SQL Server Management Studio 2008 ได้อย่างไร
ฉันต้องการสร้างสคริปต์โดยอัตโนมัติใน SQL Server Management Studio 2008 ตอนนี้สิ่งที่ฉันทำคือ: คลิกขวาที่ฐานข้อมูลของฉัน Tasks "Generate Scripts ... " เลือกตัวเลือกการส่งออกทั้งหมดที่ฉันต้องการด้วยตนเองและกดเลือกทั้งหมดบนแท็บ "เลือกวัตถุ" เลือกโฟลเดอร์ส่งออก ในที่สุดก็กดปุ่ม "เสร็จสิ้น" มีวิธีทำให้งานนี้เป็นไปโดยอัตโนมัติหรือไม่? แก้ไข: ฉันต้องการสร้างสคริปต์การสร้างไม่ใช่เปลี่ยนสคริปต์

6
ฟังก์ชันการรวมในแบบสอบถามการอัปเดต SQL?
ฉันกำลังพยายามตั้งค่าในตารางหนึ่งเป็นผลรวมของค่าในตารางอื่น บางสิ่งตามบรรทัดเหล่านี้: UPDATE table1 SET field1 = SUM(table2.field2) FROM table1 INNER JOIN table2 ON table1.field3 = table2.field3 GROUP BY table1.field3 แน่นอนว่านี้ยืนก็จะไม่ทำงาน - SETไม่สนับสนุนและไม่สนับสนุน SUMGROUP BY ฉันควรจะรู้ แต่ใจของฉันมันว่างเปล่า ผมทำอะไรผิดหรือเปล่า?
98 sql  sql-server  tsql 

10
ฉันจะดูเนื้อหาทั้งหมดของคอลัมน์ข้อความหรือ varchar (MAX) ใน SQL Server 2008 Management Studio ได้อย่างไร
ในการนี้สด SQL Server 2008 (สร้าง 10.0.1600) ฐานข้อมูลมีการEventsตารางซึ่งมีคอลัมน์ชื่อtext Details(ใช่ฉันรู้ว่านี่ควรเป็นvarchar(MAX)คอลัมน์ แต่ใครก็ตามที่ตั้งค่าฐานข้อมูลนี้ไม่ได้ทำเช่นนั้น) คอลัมน์นี้มีบันทึกข้อยกเว้นขนาดใหญ่มากและข้อมูล JSON ที่เกี่ยวข้องซึ่งฉันพยายามเข้าถึงผ่าน SQL Server Management Studio แต่เมื่อใดก็ตามที่ฉันคัดลอกผลลัพธ์จากกริดไปยังโปรแกรมแก้ไขข้อความมันจะตัดทอนที่ 43679 อักขระ ฉันได้อ่านในสถานที่ต่างๆบนอินเทอร์เน็ตว่าคุณสามารถตั้งค่าอักขระสูงสุดที่ดึงมาสำหรับข้อมูล XML Tools > Options > Query Results > SQL Server > Results To Gridเป็นไม่ จำกัด แล้วดำเนินการค้นหาดังนี้: select Convert(xml, Details) from Events where EventID = 13920 (โปรดทราบว่าข้อมูลเป็นคอลัมน์ไม่ใช่ XML แต่อย่างใดCONVERTการที่คอลัมน์เป็น XML เป็นเพียงวิธีแก้ปัญหาที่พบจาก …

7
ไม่สามารถใช้เพรดิเคต CONTAINS หรือ FREETEXT บนตารางหรือมุมมองที่จัดทำดัชนีได้เนื่องจากไม่ได้จัดทำดัชนีข้อความแบบเต็ม
ฉันได้รับข้อผิดพลาดต่อไปนี้ในฐานข้อมูล SQL Server 2008 R2 ของฉัน: ไม่สามารถใช้CONTAINSหรือFREETEXTกริยาบนโต๊ะหรือมุมมองที่จัดทำดัชนี 'tblArmy' เพราะมันไม่ได้ข้อความเต็มรูปแบบการจัดทำดัชนี

14
รับวันแรกของสัปดาห์ใน SQL Server
ฉันพยายามจัดกลุ่มบันทึกตามสัปดาห์โดยจัดเก็บวันที่รวมเป็นวันแรกของสัปดาห์ อย่างไรก็ตามเทคนิคมาตรฐานที่ฉันใช้ในการปัดเศษวันที่ไม่ทำงานอย่างถูกต้องในสัปดาห์ (แม้ว่าจะใช้เป็นวันเดือนปีไตรมาสและกรอบเวลาอื่น ๆ ที่ฉันใช้กับ) นี่คือ SQL: select "start_of_week" = dateadd(week, datediff(week, 0, getdate()), 0); ผลตอบแทนนี้2011-08-22 00:00:00.000ซึ่งเป็นวันจันทร์ไม่ใช่วันอาทิตย์ เลือก@@datefirstผลตอบแทน7ซึ่งเป็นรหัสสำหรับวันอาทิตย์ดังนั้นเซิร์ฟเวอร์จึงตั้งค่าได้อย่างถูกต้องเท่าที่ฉันทราบ ฉันสามารถข้ามสิ่งนี้ได้อย่างง่ายดายโดยเปลี่ยนรหัสด้านบนเป็น: select "start_of_week" = dateadd(week, datediff(week, 0, getdate()), -1); แต่การที่ฉันต้องทำข้อยกเว้นนั้นทำให้ฉันไม่สบายใจเล็กน้อย นอกจากนี้ขออภัยหากเป็นคำถามที่ซ้ำกัน ฉันพบคำถามที่เกี่ยวข้อง แต่ไม่มีคำถามที่กล่าวถึงประเด็นนี้โดยเฉพาะ

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

24
ฉันจะเรียกใช้เพียงคำสั่งที่เคอร์เซอร์ของฉันเปิดอยู่ใน SQL Server Management Studio ได้อย่างไร
ในฐานะที่เป็นผู้ใช้ Toad สำหรับ Oracle มาเป็นเวลานานฉันเคยชินกับการกด Ctrl + Enter และมีเพียงคำสั่งใต้เคอร์เซอร์เท่านั้นที่ถูกเรียกใช้ ใน SQL Server Management Studio การกดปุ่ม F5 จะรันสคริปต์ทั้งหมด ในการเรียกใช้เฉพาะคำสั่งปัจจุบันฉันต้องเน้นคำสั่งที่ฉันต้องการด้วยตนเองจากนั้นกด F5 นั่นเป็นเรื่องที่น่ารำคาญสำหรับฉันจริงๆ มีใครรู้จักเครื่องมือที่มีแป้นพิมพ์ลัดเพื่อเรียกใช้เฉพาะคำสั่งปัจจุบันบน SQL Server หรือไม่? ฉันจะเปลี่ยนเครื่องมือสำหรับฟีเจอร์นี้เท่านั้น หมายเหตุ: ผิดปกติพอแม้แต่Toadฟรีสำหรับ SQL Serverไม่อนุญาตให้คุณเรียกใช้คำสั่งใต้เคอร์เซอร์

28
จะกำหนดจำนวนวันในหนึ่งเดือนใน SQL Server ได้อย่างไร?
ฉันต้องการกำหนดจำนวนวันในหนึ่งเดือนสำหรับวันที่กำหนดใน SQL Server มีฟังก์ชันในตัวหรือไม่? ถ้าไม่ฉันควรใช้อะไรเป็นฟังก์ชันที่ผู้ใช้กำหนดเอง

9
ไม่สามารถเริ่มธุรกรรมแบบกระจาย
ฉันพยายามเรียกใช้ SQL กับเซิร์ฟเวอร์ที่เชื่อมโยง แต่ได้รับข้อผิดพลาดด้านล่าง: BEGIN DISTRIBUTED TRANSACTION SELECT TOP 1 * FROM Sessions OLE DB provider "SQLNCLI" for linked server "ASILIVE" returned message "No transaction is active.". Msg 7391, Level 16, State 2, Line 3 The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ASILIVE" …


3
ส่งคืนจำนวนแถวที่ได้รับผลกระทบจากคำสั่ง UPDATE
ฉันจะรับจำนวนแถวที่ได้รับผลกระทบจากแบบสอบถาม UPDATE ใน Stored Procedure (SQL Server 2005) เป็นชุดผลลัพธ์ได้อย่างไร เช่น CREATE PROCEDURE UpdateTables AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; UPDATE Table1 Set Column = 0 WHERE Column IS NULL UPDATE Table2 Set Column = 0 …
97 sql  sql-server 

3
การจัดเก็บ DateTime (UTC) เทียบกับการจัดเก็บ DateTimeOffset
ฉันมักจะมี "ตัวสกัดกั้น" ที่อยู่ก่อนที่จะอ่าน / เขียนจาก / ไปยังฐานข้อมูลทำการแปลง DateTime (จากเวลา UTC เป็นเวลาท้องถิ่นและจากเวลาท้องถิ่นเป็น UTC) ดังนั้นฉันจึงสามารถใช้DateTime.Now(อนุพันธ์และการเปรียบเทียบ) ได้ทั่วทั้งระบบโดยไม่ต้องกังวล เกี่ยวกับเขตเวลา เกี่ยวกับการทำให้เป็นอนุกรมและการย้ายข้อมูลระหว่างคอมพิวเตอร์ไม่จำเป็นต้องกังวลเนื่องจากวันที่และเวลาเป็น UTC เสมอ ฉันควรจัดเก็บวันที่ของฉันต่อไป (SQL 2008 - วันที่และเวลา) ในรูปแบบ UTC หรือควรเก็บไว้โดยใช้DateTimeOffset(SQL 2008 - datetimeoffset) วันที่ UTC ในฐานข้อมูล (ประเภทวันที่และเวลา) ใช้งานได้และเป็นที่รู้จักมานานแล้วทำไมต้องเปลี่ยน ข้อดีคืออะไร? ฉันได้ดูบทความเช่นนี้แล้ว แต่ฉันไม่มั่นใจ 100% ความคิดใด ๆ ?

3
วางตารางชั่วคราวหากมีอยู่
ฉันมีโค้ดสองบรรทัดใน SQL ที่สร้างตารางสองตารางได้ทันทีฉันต้องทำสิ่งที่ชอบ IF TABLE EXISTS DROP IT AND CREATE IT AGAIN ELSE CREATE IT บรรทัดของฉันคือบรรทัดต่อไปนี้ CREATE TABLE ##CLIENTS_KEYWORD(client_id int) CREATE TABLE ##TEMP_CLIENTS_KEYWORD(client_id int) ฉันจะใช้แนวคิดนั้นสำหรับสองตารางนี้ในขั้นตอนของฉันได้อย่างไร
96 sql  sql-server 

3
เหตุใดฉันจึงได้รับ“ ขั้นตอนคาดหวังพารามิเตอร์ '@statement' ประเภท 'ntext / nchar / nvarchar'” เมื่อฉันพยายามใช้ sp_executesql?
เหตุใดฉันจึงได้รับข้อผิดพลาดนี้ โพรซีเดอร์ต้องการพารามิเตอร์ '@statement' ของประเภท 'ntext / nchar / nvarchar' เมื่อฉันพยายามใช้sp_executesql?

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