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

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

11
จัดเก็บข้อมูลที่ดีที่สุดสำหรับหลายพันล้านแถว
ฉันต้องสามารถจัดเก็บข้อมูลขนาดเล็ก (ประมาณ 50-75 ไบต์) สำหรับบันทึกหลายพันล้านรายการ (~ 3 พันล้าน / เดือนต่อปี) ข้อกำหนดเดียวคือการแทรกอย่างรวดเร็วและการค้นหาอย่างรวดเร็วสำหรับระเบียนทั้งหมดที่มี GUID เดียวกันและความสามารถในการเข้าถึงที่เก็บข้อมูลจาก. net ฉันเป็นคนที่แต่งตัวประหลาดของเซิร์ฟเวอร์ SQL และฉันคิดว่า SQL Server สามารถทำสิ่งนี้ได้ แต่ด้วยการพูดคุยเกี่ยวกับ BigTable, CouchDB และโซลูชัน nosql อื่น ๆ มันฟังดูเป็นทางเลือกมากกว่า RDBS แบบเดิมอาจดีที่สุดเนื่องจากการเพิ่มประสิทธิภาพสำหรับ แบบสอบถามแบบกระจายและการปรับขนาด ฉันลองคาสแซนดร้าและไลบรารี. net ไม่ได้รวบรวมหรือทั้งหมดอาจมีการเปลี่ยนแปลงทั้งหมด (พร้อมกับคาสซานดราเอง) ฉันได้ตรวจสอบที่เก็บข้อมูล nosql หลายแห่งที่มีอยู่ แต่ไม่พบร้านที่ตรงกับความต้องการของฉันเนื่องจากเป็นแพลตฟอร์มที่พร้อมใช้งานจริง หากคุณต้องจัดเก็บเร็กคอร์ดขนาดเล็ก 36 พันล้านแผ่นเพื่อให้เข้าถึงได้จาก. net จะเลือกอะไรและเพราะเหตุใด
87 sql-server  nosql 

5
SID ของเจ้าของฐานข้อมูลที่บันทึกไว้ในฐานข้อมูลหลักแตกต่างจาก SID ของเจ้าของฐานข้อมูล
เมื่อฉันพยายามติดตั้ง tSQLt ลงในฐานข้อมูลที่มีอยู่ฉันได้รับข้อผิดพลาดต่อไปนี้: SID ของเจ้าของฐานข้อมูลที่บันทึกในฐานข้อมูลหลักแตกต่างจาก SID ของเจ้าของฐานข้อมูลที่บันทึกไว้ในฐานข้อมูล '' คุณควรแก้ไขสถานการณ์นี้โดยการรีเซ็ตเจ้าของฐานข้อมูล '' โดยใช้คำสั่ง ALTER AUTHORIZATION


5
เมื่อเพิ่มขนาดคอลัมน์ VARCHAR บนโต๊ะขนาดใหญ่อาจมีปัญหาหรือไม่?
ฉันใช้ SQL Server 2008 และฉันต้องการสร้างฟิลด์ VARCHAR ให้ใหญ่ขึ้นจาก (200 ถึง 1200) บนตารางที่มีแถวประมาณ 500k สิ่งที่ฉันต้องรู้คือหากมีปัญหาใด ๆ ที่ฉันยังไม่ได้พิจารณา ฉันจะใช้คำสั่ง TSQL นี้: ALTER TABLE MyTable ALTER COLUMN [MyColumn] VARCHAR(1200) ฉันได้ลองใช้กับสำเนาข้อมูลแล้วและข้อความนี้ไม่มีผลร้ายที่ฉันเห็น มีปัญหาที่เป็นไปได้จากการทำสิ่งนี้ที่ฉันอาจไม่ได้พิจารณาหรือไม่? อย่างไรก็ตามคอลัมน์ไม่ได้รับการจัดทำดัชนี

7
ไม่พบกระบวนงานที่เก็บไว้ "dbo.aspnet_CheckSchemaVersion"
ฉันใช้ WinHost.com เพื่อโฮสต์ไซต์ของฉัน ระบบฐานข้อมูล / สมาชิก SQL ทำงานได้อย่างสมบูรณ์บนคอมพิวเตอร์ในระบบของฉัน แต่เมื่ออัปโหลดไปยังเซิร์ฟเวอร์จะไม่ทำงาน ฉันทำตามขั้นตอนทั้งหมดถูกต้องแล้ว และฉันได้ติดต่อฝ่ายสนับสนุนสำหรับบริการของฉัน แต่ใช้เวลาเกิน 2 สัปดาห์และไม่มีการตอบกลับ ฉันได้รับข้อผิดพลาดนี้อยู่เรื่อย ๆ เมื่อพยายามเข้าสู่ระบบหรือลงทะเบียนผู้ใช้ใหม่ในหน้าสมาชิกของฉันบนไซต์ของฉัน Server Error in '/' Application. -------------------------------------------------------------------------------- Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information …

20
รับเดือนและปีจากวันที่และเวลาใน SQL Server 2005
ฉันต้องการเดือน + ปีจากวันที่และเวลาใน SQL Server เช่น 'ม.ค. 2008' ฉันกำลังจัดกลุ่มคำค้นหาตามเดือนปี ฉันได้ค้นหาและพบฟังก์ชันเช่น datepart, convert เป็นต้น แต่ดูเหมือนจะไม่มีประโยชน์สำหรับสิ่งนี้ ฉันขาดอะไรที่นี่? มีฟังก์ชันนี้หรือไม่?
87 sql  sql-server 

7
ได้รับความยาวคอลัมน์ที่ไม่ถูกต้องจากไคลเอนต์ bcp สำหรับ colid 6
ฉันต้องการอัปโหลดข้อมูลไฟล์ csv จำนวนมากไปยังเซิร์ฟเวอร์ sql 2005 จากรหัส c # แต่ฉันพบข้อผิดพลาดด้านล่าง - ได้รับความยาวคอลัมน์ที่ไม่ถูกต้องจากไคลเอนต์ bcp สำหรับ colid 6 เมื่อสำเนาจำนวนมากเขียนไปยังเซิร์ฟเวอร์ฐานข้อมูล

5
วิธีเรียกใช้แพ็คเกจ SSIS จาก. NET
ฉันมีแพ็คเกจ SSIS ที่ในที่สุดฉันก็อยากจะส่งผ่านพารามิเตอร์เช่นกันพารามิเตอร์เหล่านี้จะมาจากแอปพลิเคชัน. NET (VB หรือ C #) ดังนั้นฉันจึงอยากรู้ว่ามีใครรู้วิธีการทำเช่นนี้หรือดีกว่าเว็บไซต์ที่มีคำแนะนำที่เป็นประโยชน์ เกี่ยวกับวิธีการทำ โดยพื้นฐานแล้วฉันต้องการเรียกใช้แพ็คเกจ SSIS จาก. NET ผ่านพารามิเตอร์แพ็คเกจ SSIS ที่สามารถใช้ภายในได้ ตัวอย่างเช่นแพ็คเกจ SSIS จะใช้การนำเข้าไฟล์แบบแบนไปยังฐานข้อมูล SQL อย่างไรก็ตามเส้นทางและชื่อของไฟล์อาจเป็นพารามิเตอร์ที่ส่งผ่านจากแอปพลิเคชัน. Net
87 c#  .net  sql-server  vb.net  ssis 

10
SqlParameter มีอยู่แล้วโดย SqlParameterCollection อื่น - ใช้ () {} โกงหรือไม่
ในขณะที่ใช้using() {}บล็อก (sic) ดังที่แสดงด้านล่างและสมมติว่าcmd1ไม่อยู่เกินขอบเขตของusing() {}บล็อกแรกเหตุใดบล็อกที่สองจึงมีข้อยกเว้นด้วยข้อความ SqlParameter มีอยู่แล้วโดย SqlParameterCollection อื่น หมายความว่าทรัพยากรและ / หรือจัดการ - รวมถึงพารามิเตอร์ ( SqlParameterCollection) - ที่แนบมาcmd1จะไม่ถูกปล่อยออกมาเมื่อถูกทำลายที่ส่วนท้ายของบล็อกหรือไม่? using (var conn = new SqlConnection("Data Source=.;Initial Catalog=Test;Integrated Security=True")) { var parameters = new SqlParameter[] { new SqlParameter("@ProductId", SqlDbType.Int ) }; using(var cmd1 = new SqlCommand("SELECT ProductName FROM Products WHERE ProductId = …
87 c#  .net  sql-server  ado.net 

6
ฉันจะรับจำนวนบันทึกที่ได้รับผลกระทบจากขั้นตอนการจัดเก็บได้อย่างไร?
สำหรับINSERT, UPDATEและDELETESQL งบดำเนินการโดยตรงกับฐานข้อมูลของผู้ให้บริการฐานข้อมูลส่วนใหญ่กลับมานับแถวที่ได้รับผลกระทบ -1สำหรับขั้นตอนการจัดเก็บจำนวนของระเบียนที่ได้รับผลกระทบอยู่เสมอ เราจะได้รับจำนวนบันทึกที่ได้รับผลกระทบจากขั้นตอนการจัดเก็บอย่างไร?
86 sql  sql-server  oracle  tsql  plsql 

10
วิธีการเปลี่ยนข้อยกเว้นเดียวกันใน SQL Server
ฉันต้องการลบข้อยกเว้นเดียวกันใน SQL Server ที่เพิ่งเกิดขึ้นในบล็อกลองของฉัน ฉันสามารถส่งข้อความเดียวกันได้ แต่ฉันต้องการแสดงข้อผิดพลาดเดียวกัน BEGIN TRANSACTION BEGIN TRY INSERT INTO Tags.tblDomain (DomainName, SubDomainId, DomainCode, Description) VALUES(@DomainName, @SubDomainId, @DomainCode, @Description) COMMIT TRANSACTION END TRY BEGIN CATCH declare @severity int; declare @state int; select @severity=error_severity(), @state=error_state(); RAISERROR(@@Error,@ErrorSeverity,@state); ROLLBACK TRANSACTION END CATCH RAISERROR(@@Error, @ErrorSeverity, @state); บรรทัดนี้จะแสดงข้อผิดพลาด แต่ฉันต้องการฟังก์ชันแบบนั้น นี้ทำให้เกิดข้อผิดพลาดที่มีจำนวนข้อผิดพลาด 50000 แต่ฉันต้องการหมายเลขข้อผิดพลาดจะถูกโยนว่าผมผ่าน@@error, ฉันต้องการจับข้อผิดพลาดนี้ไม่ที่ส่วนหน้า …

5
SQL Server GROUP BY datetime ละเว้นชั่วโมงนาทีและเลือกด้วยวันที่และค่าผลรวม
ฉันมีตารางที่มีสองช่อง - datetimeและint. ฉันต้องการทำกลุ่มในวันที่datetimeเดียวโดยไม่สนใจชั่วโมงและนาที SELECTงบควรจะกลับวันที่แมผลรวมของ int ของวันเดียวได้

10
การเชื่อมต่อสตริงเซิร์ฟเวอร์ SQL กับ Null
ฉันกำลังสร้างคอลัมน์จากการคำนวณข้ามเขตข้อมูลซึ่งบางช่องอาจเป็นโมฆะ ปัญหาคือถ้าฟิลด์ใดฟิลด์หนึ่งเป็นโมฆะคอลัมน์ที่คำนวณทั้งหมดจะเป็นโมฆะ ฉันเข้าใจจากเอกสารของ Microsoft ว่าสิ่งนี้เป็นสิ่งที่คาดหวังและสามารถปิดได้ผ่านการตั้งค่า SET CONCAT_NULL_YIELDS_NULL อย่างไรก็ตามฉันไม่ต้องการเปลี่ยนลักษณะการทำงานเริ่มต้นนี้เนื่องจากฉันไม่ทราบผลกระทบของมันในส่วนอื่น ๆ ของ SQL Server มีวิธีให้ฉันตรวจสอบว่าคอลัมน์เป็นโมฆะหรือไม่และต่อท้ายเฉพาะเนื้อหาภายในสูตรคอลัมน์ที่คำนวณแล้วหากไม่ใช่ค่าว่าง

3
MultipleActiveResultSets = การเชื่อมต่อจริงหรือหลาย ๆ
ฉันมี C # บางตัวที่ฉันสร้างตัวอ่านบนการเชื่อมต่อ ( ExecuteReader) จากนั้นสำหรับทุกแถวในโปรแกรมอ่านนั้นให้ดำเนินการคำสั่งอื่น (ด้วยExecuteNonQuery) ในกรณีนี้จะดีกว่าไหมหากฉันใช้MultipleActiveResultSets=Trueการเชื่อมต่อหรือใช้การเชื่อมต่อหลายรายการ

2
SQL SELECT หลายคอลัมน์เข้าสู่หลายตัวแปร
ฉันกำลังแปลง SQL จาก Teradata เป็น SQL Server ใน Teradata มีรูปแบบ SELECT col1, col2 FROM table1 INTO @variable1, @variable2 ใน SQL Server ฉันพบ SET @variable1 = ( SELECT col1 FROM table1 ); อนุญาตให้ใช้คอลัมน์ / ตัวแปรเดียวต่อคำสั่งเท่านั้น วิธีกำหนดตัวแปร 2 ตัวขึ้นไปโดยใช้คำสั่ง SELECT เดียว?

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