คำถามติดแท็ก memory-optimized-tables

4
บันทึกธุรกรรมสำหรับฐานข้อมูล 'database_name' เต็มเนื่องจาก 'XTP_CHECKPOINT'
XTP_CHECKPOINTฉันมีคำถามเกี่ยวกับ ฉันใช้ SQL Server 2014 ฉันมีฐานข้อมูลที่อยู่ในโหมดรูปแบบการกู้คืนที่เรียบง่าย มันยังถูกทำซ้ำ ไม่มีธุรกรรมที่เปิดอยู่ ฉันวิ่งDBCC OPENTRANแล้วมันกลับมา: "ไม่มีธุรกรรมเปิดค้างอยู่" แต่ฉันได้รับข้อความนี้ทุกครั้งที่ฉันพยายามสร้างหรือวางตารางหรือลบข้อมูล: (ฉันได้แทนที่ชื่อฐานข้อมูลจริงด้วยคำว่าdatabase_name) "บันทึกธุรกรรมสำหรับฐานข้อมูล 'database_name' เต็มเนื่องจาก 'XTP_CHECKPOINT'" ไม่มีใครรู้ว่าทำไมสิ่งนี้จึงเกิดขึ้นและที่สำคัญฉันจะทำให้มันหยุดได้อย่างไร และใช่ฐานข้อมูลอยู่ในโหมดการกู้คืนแบบง่าย ie บันทึกธุรกรรมควรตัดโดยอัตโนมัติ บังเอิญฐานข้อมูลอื่นที่ฉันมีในโหมดการกู้คืนเต็มทำสิ่งเดียวกันเริ่มกลับข้อผิดพลาดเดียวกัน: บันทึกธุรกรรมสำหรับฐานข้อมูล 'database_name' เต็มเนื่องจาก 'XTP_CHECKPOINT' ฉันพยายามเปลี่ยนการตั้งค่าการเติบโตบันทึกเป็นการเติบโตแบบไม่ จำกัด แต่จะไม่ให้ฉันกลับข้อผิดพลาดเดียวกัน ฉันสามารถทำซ้ำปัญหาโดยไม่มีสิ่ง XTP ใด ๆ เลยยกเว้นเฉพาะกลุ่มไฟล์ นี่คือวิธี: http://pastebin.com/jWSiEU9U

4
Memory Optimized Tables - พวกเขายากที่จะรักษาหรือไม่?
ฉันกำลังตรวจสอบประโยชน์ของการอัปเกรดจาก MS SQL 2012 เป็น 2014 หนึ่งในจุดขายที่ยิ่งใหญ่ของ SQL 2014 คือตารางที่ปรับให้เหมาะสมกับหน่วยความจำ ฉันพบว่ามีข้อ จำกัด บางประการเกี่ยวกับตารางที่เพิ่มประสิทธิภาพหน่วยความจำเช่น: ไม่มี(max)ฟิลด์ขนาด สูงสุด ~ 1KB ต่อแถว ไม่มีtimestampสาขา ไม่มีคอลัมน์ที่คำนวณ ไม่มีUNIQUEข้อ จำกัด สิ่งเหล่านี้มีคุณสมบัติเป็นสิ่งรบกวน แต่ถ้าฉันต้องการที่จะหลีกเลี่ยงพวกเขาเพื่อให้ได้รับผลประโยชน์จากการทำงานฉันสามารถวางแผนได้ นักเตะตัวจริงคือความจริงที่ว่าคุณไม่สามารถเรียกใช้ALTER TABLEคำสั่งได้และคุณจะต้องผ่านอุปกรณ์ตรวจจับนี้ทุกครั้งที่คุณเพิ่มฟิลด์ลงในINCLUDEรายการดัชนี นอกจากนี้ยังปรากฏว่าคุณต้องปิดผู้ใช้ออกจากระบบเพื่อที่จะเปลี่ยนแปลงสคีมาใด ๆ กับตาราง MO บนฐานข้อมูลสด ฉันพบว่าสิ่งนี้ช่างเลวร้ายเหลือเกินจนฉันไม่อยากเชื่อเลยว่าไมโครซอฟท์อาจลงทุนด้านการพัฒนาเป็นจำนวนมากในฟีเจอร์นี้ สิ่งนี้นำฉันไปสู่ข้อสรุปที่ว่าฉันต้องผ่านจุดผิดที่ผิดพลาด ฉันต้องเข้าใจผิดบางอย่างเกี่ยวกับตารางที่ปรับให้เหมาะสมกับหน่วยความจำซึ่งทำให้ฉันเชื่อว่าการบำรุงรักษามันยากกว่าที่เป็นจริง ดังนั้นฉันเข้าใจผิดอะไร คุณใช้ตาราง MO แล้วหรือยัง มีการสลับลับหรือกระบวนการบางอย่างที่ทำให้สามารถใช้งานและบำรุงรักษาได้จริงหรือไม่?

1
พฤติกรรมที่ไม่ถูกต้องของ SQL Server 2016 ด้วยตารางที่ปรับให้เหมาะสมหน่วยความจำ
โปรดดูแบบสอบถาม SQL ต่อไปนี้: CREATE TYPE dbo.IN_MEMORY_TABLE_TYPE AS TABLE ( source_col INT NULL, target_col INT not NULL INDEX ix_InMemoryTable NONCLUSTERED (target_col) ) WITH (MEMORY_OPTIMIZED = ON) GO DECLARE @t dbo.IN_MEMORY_TABLE_TYPE INSERT @t ( source_col, target_col ) VALUES (10, 0), (0, 0) UPDATE r1 SET target_col = -1 FROM @t r1 WHERE …

1
ประสิทธิภาพของตารางในหน่วยความจำแย่กว่าตารางแบบดิสก์
ฉันมีตารางใน SQL Server 2014 ที่มีลักษณะดังต่อไปนี้: CREATE TABLE dbo.MyTable ( [id1] [bigint] NOT NULL, [id2] [bigint] NOT NULL, [col1] [int] NOT NULL default(0), [col2] [int] NOT NULL default(0) ) ด้วย (id1, id2) เป็น PK โดยพื้นฐานแล้ว id1 เป็นตัวระบุเพื่อจัดกลุ่มชุดผลลัพธ์ (id2, col1, col2) ซึ่ง pk คือ id2 ฉันพยายามใช้ตารางในหน่วยความจำเพื่อกำจัดตารางดิสก์ที่มีอยู่ซึ่งเป็นคอขวดของฉัน ข้อมูลในตารางถูกเขียน -> อ่าน -> ลบหนึ่งครั้ง ค่า …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.