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

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

13
วิธีดูประวัติแบบสอบถามใน Studio จัดการเซิร์ฟเวอร์ SQL
มีการเก็บประวัติแบบสอบถามในไฟล์บันทึกบางไฟล์หรือไม่ ถ้าใช่คุณช่วยบอกวิธีการหาที่ตั้งของพวกเขาได้ไหม ถ้าไม่คุณสามารถให้คำแนะนำเกี่ยวกับวิธีการดูได้หรือไม่?
159 sql-server  logging  ssms 

6
วิธีตรวจสอบว่ามีการล็อคตัวใดบนโต๊ะ
เราจะตรวจสอบการล็อคฐานข้อมูลที่จะใช้กับแถวใดเทียบกับชุดแบบสอบถามได้อย่างไร เครื่องมือใด ๆ ที่เน้นการล็อคระดับแถวของตารางแบบเรียลไทม์? DB: SQL Server 2005

9
เลือกขนาดฐานข้อมูล SQL Server
ฉันจะค้นหาเซิร์ฟเวอร์ sql เพื่อให้ได้ขนาดของฐานข้อมูลได้อย่างไร ฉันใช้สิ่งนี้: use "MY_DB" exec sp_spaceused ฉันได้รับสิ่งนี้: database_name database_size unallocated space My_DB 17899.13 MB 5309.39 MB มันคืนค่าฉันหลายคอลัมน์ที่ฉันไม่ต้องการอาจมีเคล็ดลับในการเลือกคอลัมน์ database_size จากกระบวนงานที่เก็บไว้นี้หรือไม่ ฉันก็ลองใช้รหัสนี้: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size * 8) / 1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'MY_DB' มันให้ผลลัพธ์นี้กับฉัน: DatabaseName Logical_Name Physical_Name SizeMB MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf …

2
เหตุใดฉันไม่สามารถใช้ชื่อแทนในคำสั่ง DELETE ได้
ใน SQL Server Compact Edition ใน Visual Studio 2010 (อาจเป็น SQL Server และ SQL โดยทั่วไปฉันไม่รู้) คำสั่งนี้ใช้งานได้: DELETE FROM foods WHERE (name IN ('chickens', 'rabbits')) แต่คำสั่งนี้สร้างข้อผิดพลาดของ: Error near identifier f. Expecting OUTPUT. DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))


2
ทำให้มันง่ายและวิธีการหลาย CTE ในแบบสอบถาม
ฉันมีแบบสอบถาม T-SQL ง่าย ๆ นี้มันปล่อยกลุ่มคอลัมน์จากตารางและรวมข้อมูลจากตารางอื่น ๆที่เกี่ยวข้อง แบบจำลองข้อมูลของฉันง่าย ฉันมีกิจกรรมที่กำหนดไว้พร้อมผู้เข้าร่วม ฉันจำเป็นต้องรู้จำนวนผู้เข้าร่วมในแต่ละเหตุการณ์ วิธีแก้ปัญหาของฉันคือการเพิ่ม CTE ที่จัดกลุ่มกิจกรรมตามกำหนดเวลาและนับจำนวนผู้เข้าร่วม สิ่งนี้จะทำให้ฉันเข้าร่วมในข้อมูลนั้นต่อเหตุการณ์ที่กำหนดไว้ ทำให้การสืบค้นง่ายขึ้น ฉันต้องการที่จะทำให้การสืบค้นของฉันง่าย แต่ถ้าฉันเคยมีในอนาคตจำเป็นต้องมีผลลัพธ์ชั่วคราวเพิ่มเติมที่สามารถเข้าถึงได้ในระหว่างการสืบค้นง่ายๆฉันจะทำอย่างไร ฉันอยากได้มันถ้าฉันมี CTE ได้หลายอัน แต่ทำไม่ได้ใช่ไหม? ตัวเลือกของฉันที่นี่มีอะไรบ้าง ฉันตัดทอนมุมมองและทำสิ่งต่าง ๆ ในชั้นข้อมูลแอปพลิเคชัน ฉันชอบที่จะแยกแบบสอบถาม SQL ของฉัน

8
DISTINCT สำหรับคอลัมน์เดียวเท่านั้น
สมมติว่าฉันมีคำถามต่อไปนี้ SELECT ID, Email, ProductName, ProductModel FROM Products ฉันจะแก้ไขเพื่อที่จะไม่ได้รับอีเมล์ที่ซ้ำกันได้อย่างไร กล่าวอีกนัยหนึ่งเมื่อหลายแถวมีอีเมลเดียวกันฉันต้องการให้ผลลัพธ์รวมแถวเดียวเท่านั้น (ควรเป็นแถวสุดท้าย) ควรอนุญาตให้ทำซ้ำในคอลัมน์อื่น ข้อเหมือนDISTINCTและGROUP BYดูเหมือนจะทำงานในแถวทั้งหมด ดังนั้นฉันไม่แน่ใจว่าวิธีการนี้
156 sql  sql-server 



14
SQL DROP ข้อ จำกัด คีย์ต่างประเทศของตาราง
ถ้าฉันต้องการลบตารางทั้งหมดในฐานข้อมูลของฉันเช่นนี้มันจะดูแลข้อ จำกัด foreign key หรือไม่? ถ้าไม่ฉันจะดูแลก่อนได้อย่างไร GO IF OBJECT_ID('dbo.[Course]','U') IS NOT NULL DROP TABLE dbo.[Course] GO IF OBJECT_ID('dbo.[Student]','U') IS NOT NULL DROP TABLE dbo.[Student]

8
เป็นไปได้ไหมที่จะใช้คำสั่ง SELECT INTO กับ UNION [ALL]?
ใน SQL Server สิ่งนี้จะแทรก 100 เรคคอร์ดจากตารางลูกค้าลงใน tmpFerdeen: - SELECT top(100)* INTO tmpFerdeen FROM Customers เป็นไปได้หรือไม่ที่จะทำ SELECT INTO ข้าม UNION ALL SELECT: - SELECT top(100)* FROM Customers UNION All SELECT top(100)* FROM CustomerEurope UNION All SELECT top(100)* FROM CustomerAsia UNION All SELECT top(100)* FROM CustomerAmericas ไม่แน่ใจว่าจะเพิ่มส่วนคำสั่ง INTO ได้ที่ไหนด้วย
154 sql  sql-server 

8
บิตที่มีค่าคงที่ 1 หรือ 0 ใน SQL Server
เป็นไปได้ไหมที่จะแสดง 1 หรือ 0 เป็นบิตเมื่อใช้เป็นค่าฟิลด์ในคำสั่ง select? เช่น ในคำสั่งกรณีนี้ (ซึ่งเป็นส่วนหนึ่งของคำสั่งที่เลือก) ICourseBased เป็นประเภท int case when FC.CourseId is not null then 1 else 0 end as IsCoursedBased เพื่อให้เป็นประเภทบิตฉันต้องโยนค่าทั้งสอง case when FC.CourseId is not null then cast(1 as bit) else cast(0 as bit) end as IsCoursedBased มีวิธีสั้น ๆ ในการแสดงค่าเป็น bit type โดยไม่ต้องร่ายทุกครั้งหรือไม่? (ฉันใช้ …
154 sql  sql-server  tsql  bit 

9
คัดลอกข้อมูลลงในตารางอื่น
วิธีการคัดลอก / ผนวกข้อมูลจากตารางหนึ่งไปยังอีกตารางที่มีสคีมาเดียวกันใน SQL Server ได้อย่างไร แก้ไข: สมมติว่ามีแบบสอบถาม select * into table1 from table2 where 1=1 ซึ่งสร้างด้วยสคีเดียวกันเช่นเดียวกับข้อมูลในขณะที่table1table2 มีแบบสอบถามสั้น ๆ เช่นนี้เพื่อคัดลอกข้อมูลทั้งหมดเท่านั้นลงในตารางที่มีอยู่แล้ว?

7
วิธีการเลือกทุกแถวที่ค่าคอลัมน์ไม่แตกต่างกัน
ฉันต้องเรียกใช้คำสั่ง select ที่ส่งคืนแถวทั้งหมดที่ค่าของคอลัมน์ไม่ชัดเจน (เช่น EmailAddress) ตัวอย่างเช่นหากตารางมีลักษณะดังนี้: CustomerName EmailAddress Aaron aaron@gmail.com Christy aaron@gmail.com Jason jason@gmail.com Eric eric@gmail.com John aaron@gmail.com ฉันต้องการแบบสอบถามเพื่อส่งคืน: Aaron aaron@gmail.com Christy aaron@gmail.com John aaron@gmail.com ฉันได้อ่านบทความจำนวนมากและลองใช้ข้อความค้นหาต่าง ๆ เพื่อประโยชน์ แบบสอบถามที่ฉันเชื่อว่าควรใช้งานได้ด้านล่าง มีคนแนะนำทางเลือกอื่นหรือบอกฉันว่าอาจมีอะไรผิดปกติในการสืบค้นของฉัน select EmailAddress, CustomerName from Customers group by EmailAddress, CustomerName having COUNT(distinct(EmailAddress)) > 1

17
ข้อผิดพลาดของระบบปฏิบัติการเซิร์ฟเวอร์ SQL ที่ 5:“ 5 (ปฏิเสธการเข้าถึง)”
ฉันเริ่มเรียนรู้ SQL และฉันมีหนังสือที่ให้ฐานข้อมูลทำงานได้ ไฟล์ด้านล่างนี้อยู่ในไดเรกทอรี แต่ปัญหาคือเมื่อฉันเรียกใช้แบบสอบถามมันทำให้ฉันมีข้อผิดพลาดนี้: เกี่ยวกับข่าวสาร 5120 ระดับ 16 สถานะ 101 บรรทัด 1 ไม่สามารถเปิดแฟ้มทางกายภาพ "C: \ Murach \ SQL Server 2008 \ Databases \ AP.mdf" ข้อผิดพลาดของระบบปฏิบัติการ 5: "5 (การเข้าถึงถูกปฏิเสธ)" CREATE DATABASE AP ON PRIMARY (FILENAME = 'C:\Murach\SQL Server 2008\Databases\AP.mdf') LOG ON (FILENAME = 'C:\Murach\SQL Server 2008\Databases\AP_log.ldf') FOR ATTACH GO ในหนังสือผู้แต่งบอกว่ามันควรจะใช้ได้ …
153 sql  sql-server 

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