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

ใช้แท็กนี้สำหรับคำถามเฉพาะของ SQL Server ของ Microsoft รุ่น 2005

12
SQL Server schema ที่ดีคืออะไร
ฉันไม่เริ่มใช้ฐานข้อมูล SQL และโดยเฉพาะ SQL Server อย่างไรก็ตามฉันเคยเป็นคน SQL 2000 เป็นหลักและฉันมักจะสับสนโดย schemas ในปี 2005+ ใช่ฉันรู้คำจำกัดความพื้นฐานของสคีมา แต่สิ่งที่พวกเขาใช้สำหรับการปรับใช้ SQL Server ทั่วไป ฉันมักจะใช้สคีมาเริ่มต้นเสมอ เหตุใดฉันจึงต้องการสร้างสกีมาเฉพาะ เหตุใดฉันจึงต้องกำหนดสกีมาใด ๆ ในตัว แก้ไข: เพื่อชี้แจงฉันเดาว่าฉันกำลังมองหาประโยชน์ของสคีมา หากคุณกำลังจะใช้มันเป็นระบบความปลอดภัยดูเหมือนว่าบทบาทฐานข้อมูลจะได้รับการเติมเต็มแล้ว .. เอ่อ .. เอ่อ .. บทบาท และการใช้มันเป็นตัวระบุเนมสเปซดูเหมือนจะเป็นสิ่งที่คุณสามารถทำได้ด้วยความเป็นเจ้าของ (dbo กับผู้ใช้ ฯลฯ ) ฉันเดาว่าฉันกำลังทำอะไรอยู่ Schemas ทำอะไรคุณไม่สามารถทำอะไรกับเจ้าของและบทบาทได้บ้าง? สิ่งที่เป็นประโยชน์ของพวกเขาคืออะไร?

9
วิธีที่ดีที่สุดที่จะทำตรรกะคำสั่งกรณีที่ซ้อนกันใน SQL Server
ฉันกำลังเขียน SQL Query โดยที่คอลัมน์จำนวนหนึ่งที่ส่งคืนนั้นจำเป็นต้องคำนวณขึ้นอยู่กับเงื่อนไขค่อนข้างมาก ฉันกำลังใช้งบกรณีที่ซ้อนกัน แต่มันยุ่งเหยิง มีวิธีที่ดีกว่า (จัดระเบียบมากขึ้นและ / หรืออ่านได้)? (ฉันใช้ Microsoft SQL Server, 2005) ตัวอย่างง่าย ๆ : SELECT col1, col2, col3, CASE WHEN condition THEN CASE WHEN condition1 THEN CASE WHEN condition2 THEN calculation1 ELSE calculation2 END ELSE CASE WHEN condition2 THEN calculation3 ELSE calculation4 END END ELSE CASE …

8
nvarchar (สูงสุด) vs NText
ข้อดีและข้อเสียของการใช้nvarchar(max)vs. กับNTextชนิดข้อมูลใน SQL Server คืออะไร ฉันไม่ต้องการความเข้ากันได้แบบย้อนหลังดังนั้นจึงเป็นเรื่องปกติที่nvarchar(max)ไม่รองรับ SQL Server รุ่นเก่า แก้ไข:เห็นได้ชัดว่าคำถามนี้ใช้กับTEXTและIMAGEเทียบกับvarchar(max)และvarbinary(max)สำหรับผู้ที่ค้นหาประเภทข้อมูลเหล่านั้นในภายหลัง

16
ฉันจะตรวจสอบได้อย่างไรว่าคอลัมน์ข้อความ SQL Server ว่างเปล่า
ฉันใช้ SQL Server 2005 ฉันมีตารางที่มีคอลัมน์ข้อความและฉันมีหลายแถวในตารางที่ค่าของคอลัมน์นี้ไม่เป็นโมฆะ แต่มันว่างเปล่า การพยายามเปรียบเทียบกับ '' ให้ผลการตอบสนองนี้: ข้อความชนิดข้อมูลและ varchar ไม่เข้ากันในตัวดำเนินการไม่เท่ากับ มีฟังก์ชั่นพิเศษเพื่อพิจารณาว่าค่าของคอลัมน์ข้อความไม่ว่างเปล่าหรือเปล่า?

17
วิธีรับรูปแบบเวลาจาก DateTime ใน SQL
ฉันต้องการรับเฉพาะเวลาจากคอลัมน์ DateTime โดยใช้แบบสอบถาม SQL โดยใช้ SQL Server 2005 และ 2008 ผลลัพธ์เริ่มต้น: AttDate == 2011-02-09 13:09:00 2011-02-09 14:10:00 ฉันต้องการผลลัพธ์นี้: AttDate Time == 2011-02-09 13:09:00 13:09 2011-02-09 14:10:00 14:10

10
แยกชั่วโมงจาก DateTime (SQL Server 2005)
ฉันสามารถดึงเดือนและวันโดยใช้,Day(Date()) ฉันไม่สามารถดึงชั่วโมงด้วยMonth(Date()) HOUR(Date())ฉันได้รับข้อผิดพลาดดังต่อไปนี้ 'HOUR' is not a recognized built-in function name. ฉันจะดึงชั่วโมงได้อย่างไร

6
ความแตกต่างระหว่างผู้ใช้กับการเข้าสู่ระบบใน SQL Server
ฉันเพิ่งทำงานในหลาย ๆ พื้นที่ของ SQL Server ที่ปกติฉันไม่ยุ่ง หนึ่งในนั้นที่ฉันสับสนคือพื้นที่ของการเข้าสู่ระบบและผู้ใช้ ดูเหมือนว่าควรเป็นหัวข้อที่ค่อนข้างง่าย ... ปรากฏว่าการเข้าสู่ระบบแต่ละครั้งสามารถมีผู้ใช้ 1 คนเท่านั้นและผู้ใช้แต่ละคนสามารถมี 1 การเข้าสู่ระบบเท่านั้น การเข้าสู่ระบบสามารถเชื่อมโยงกับหลายตารางจึงเชื่อมโยงผู้ใช้นั้นกับหลายตาราง ดังนั้นคำถามของฉันคือทำไมถึงมีการเข้าสู่ระบบและผู้ใช้? พวกเขาดูเหมือนจะสวยมากเหมือนกัน อะไรคือความแตกต่างหรือสิ่งที่ฉันดูเหมือนจะหายไป?

5
ลำดับของคอลัมน์ในดัชนีมีความสำคัญมากแค่ไหน?
ฉันได้ยินมาว่าคุณควรใส่คอลัมน์ที่จะเลือกมากที่สุดในตอนต้นของการประกาศดัชนี ตัวอย่าง: CREATE NONCLUSTERED INDEX MyINDX on Table1 ( MostSelective, SecondMost, Least ) ก่อนอื่นสิ่งที่ฉันพูดถูกต้อง? ถ้าเป็นเช่นนั้นฉันมีแนวโน้มที่จะเห็นความแตกต่างอย่างมากในประสิทธิภาพโดยการจัดเรียงลำดับของคอลัมน์ในดัชนีของฉันอีกครั้งหรือเป็นแบบฝึกหัด เหตุผลที่ฉันถามเพราะหลังจากใส่เคียวรีผ่าน DTA แล้วขอแนะนำให้ฉันสร้างดัชนีที่มีคอลัมน์เดียวกันเกือบทั้งหมดในดัชนีนั้นเป็นดัชนีที่มีอยู่ในลำดับที่แตกต่างกัน ฉันกำลังพิจารณาเพียงแค่เพิ่มคอลัมน์ที่ขาดหายไปในดัชนีที่มีอยู่และเรียกมันว่าดี คิด?

30
วิธีคำนวณอายุ (เป็นปี) ตามวันเดือนปีเกิดและ getDate ()
ฉันมีรายชื่อตารางคนพร้อมกับวันเกิดของพวกเขา (ปัจจุบันเป็น nvarchar (25)) ฉันจะแปลงให้เป็นวันที่แล้วคำนวณอายุของพวกเขาเป็นปี ๆ ได้อย่างไร ข้อมูลของฉันมีลักษณะดังนี้ ID Name DOB 1 John 1992-01-09 00:00:00 2 Sally 1959-05-20 00:00:00 ฉันอยากจะดู: ID Name AGE DOB 1 John 17 1992-01-09 00:00:00 2 Sally 50 1959-05-20 00:00:00


19
ข้อผิดพลาดการคืนค่า SQL Server - การเข้าถึงถูกปฏิเสธ
ฉันสร้างฐานข้อมูลบนเครื่องท้องถิ่นของฉันแล้วทำสำรองข้อมูลที่เรียกว่าของตารางtables.bakDataLabTables ฉันย้ายข้อมูลสำรองนั้นไปยังเครื่องระยะไกลที่ไม่มีตารางนั้นและพยายามทำการกู้คืน แต่ได้รับข้อผิดพลาดต่อไปนี้: System.Data.SqlClient.SqlError: ระบบปฏิบัติการคืนข้อผิดพลาด '5 (การเข้าถึงถูกปฏิเสธ)' ในขณะที่พยายาม 'RestoreContainer :: ValidateTargetForCreation' บน 'c: \ Program SQL Server \ MSSQL.1 DataLabTables .mdf' ฉันจะแก้ไขสิทธิ์ของฉันได้อย่างไรหากเป็นปัญหา

10
เมื่อกู้คืนข้อมูลสำรองฉันจะยกเลิกการเชื่อมต่อที่ใช้งานอยู่ทั้งหมดได้อย่างไร
SQL Server 2005 ของฉันไม่คืนค่าการสำรองข้อมูลเนื่องจากการเชื่อมต่อที่ใช้งานอยู่ ฉันจะบังคับมันได้อย่างไร

10
ฉันจะเปลี่ยนฐานข้อมูลเริ่มต้นใน SQL Server โดยไม่ต้องใช้ MS SQL Server Management Studio ได้อย่างไร
ฉันทิ้งฐานข้อมูลจาก SQL Server แต่ปรากฎว่าเข้าสู่ระบบของฉันถูกตั้งค่าให้ใช้ฐานข้อมูลที่ลดลงเป็นค่าเริ่มต้น ฉันสามารถเชื่อมต่อกับ SQL Server Management Studio โดยใช้ปุ่ม 'options' ในกล่องโต้ตอบการเชื่อมต่อและเลือก 'master' เป็นฐานข้อมูลเพื่อเชื่อมต่อ อย่างไรก็ตามเมื่อใดก็ตามที่ฉันพยายามทำสิ่งใด ๆ ใน object explorer จะพยายามเชื่อมต่อโดยใช้ฐานข้อมูลเริ่มต้นและล้มเหลว ไม่มีใครรู้วิธีการตั้งค่าฐานข้อมูลเริ่มต้นของฉันโดยไม่ต้องใช้วัตถุ Explorer ?

5
ความแตกต่างระหว่างฐานข้อมูลและสคีมา
อะไรคือความแตกต่างระหว่างฐานข้อมูลและสคีมาใน SQL Server ทั้งสองเป็นคอนเทนเนอร์ของตารางและข้อมูล หากมีการลบ Schema แล้วตารางทั้งหมดใน Schema นั้นจะถูกลบโดยอัตโนมัติหรือถูกลบเมื่อฐานข้อมูลถูกลบหรือไม่

8
อ้างถึงคอลัมน์ชื่อแทนใน WHERE Clause
SELECT logcount, logUserID, maxlogtm , DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff FROM statslogsummary WHERE daysdiff > 120 ฉันเข้าใจ "ชื่อคอลัมน์ไม่ถูกต้อง daysdiff" Maxlogtm เป็นฟิลด์ datetime มันเป็นสิ่งเล็กน้อยที่ทำให้ฉันบ้า

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