คำอธิบายของ SQL Server Compact ๓.๕ Service Pack 1


ข้อความนำ


บทความนี้จะอธิบาย Microsoft SQL Server Compact ๓.๕ Service Pack 1 (SP1) SQL Server Compact ๓.๕ SP1 จะอัปเดต SQL Server แบบกระชับเวอร์ชันวางจำหน่าย๓.๕ บทความนี้ประกอบด้วยรายการต่อไปนี้:

ข้อมูลเพิ่มเติม


บันทึกย่อประจำรุ่น

ประวัติเวอร์ชัน

รายการต่อไปนี้ประกอบด้วยการเผยแพร่ที่แตกต่างกันของ Microsoft SQL Server แบบกระชับ:
  • เวอร์ชัน๓.๕ SP1 Microsoft SQL Server Compact ๓.๕ Service Pack 1 (SP1) Service pack นี้ถูกนำออกใช้ร่วมกับ Microsoft Visual Studio ๒๐๐๘ Service Pack 1 (SP1) และด้วย Microsoft SQL Server ๒๐๐๘
  • เวอร์ชัน๓.๕ Microsoft SQL Server แบบกระชับ๓.๕ เวอร์ชันนี้ถูกนำออกใช้ร่วมกับ Microsoft Visual Studio ๒๐๐๘
  • เวอร์ชัน๓.๑ Microsoft SQL Server ๒๐๐๕ Compact Edition เวอร์ชันนี้ถูกนำออกใช้ในเวลาเดียวกันสำหรับการรวมกับ Microsoft Visual Studio ๒๐๐๕ Service Pack 1 (SP1) และด้วย Microsoft SQL Server ๒๐๐๕ Service Pack 2 (SP2)
  • เวอร์ชัน๓.๐ Microsoft SQL Server ๒๐๐๕รุ่นสำหรับอุปกรณ์เคลื่อนที่ (SQL Server Mobile) เวอร์ชันนี้ถูกนำออกใช้ร่วมกับ Microsoft Visual Studio ๒๐๐๕และมี Microsoft SQL Server ๒๐๐๕
  • เวอร์ชัน๒.๐ Microsoft SQL Server ๒๐๐๐ Windows CE Edition ๒.๐ (SQL Server CE ๒.๐) เวอร์ชันนี้ถูกนำออกใช้ร่วมกับ Microsoft Visual Studio ๒๐๐๓

ฟีเจอร์ใหม่

SQL Server Compact ๓.๕ SP1 มีฟีเจอร์ใหม่ต่อไปนี้:
  • การสนับสนุนสำหรับกรอบงานเอนทิตี ADO.NET กรอบงานเอนทิตีทำให้คุณสามารถทำงานกับข้อมูลในรูปแบบของวัตถุและคุณสมบัติเฉพาะของโดเมนเช่นลูกค้าและที่อยู่ของลูกค้าได้โดยไม่ต้องกังวลว่าตัวคุณเองด้วยตารางฐานข้อมูลและคอลัมน์ที่อยู่ในที่เก็บข้อมูลนี้ หมายเหตุ การสนับสนุนสำหรับกรอบงานเอนทิตี ADO.NET ช่วยให้คุณสามารถสร้างแบบสอบถามที่มีความยืดหยุ่นและแบบสอบถามที่มีการพิมพ์สำหรับบริบทของวัตถุกรอบงานของเอนทิตีโดยใช้นิพจน์ LINQ และตัวดำเนินการคิวรีมาตรฐาน LINQ โดยตรงจากสภาพแวดล้อมการพัฒนา
  • การสนับสนุนการเปรียบเทียบตัวพิมพ์เล็กที่ระดับฐานข้อมูล
  • การดูแลระบบ SQL Server กระชับฐานข้อมูลที่เก็บไว้บนอุปกรณ์เคลื่อนที่ Windows หรือบนคอมพิวเตอร์เดสก์ท็อปโดยใช้ SQL Server Management Studio (SSMS) ใน SQL Server ๒๐๐๘
  • การจำลองแบบของชนิดข้อมูลใหม่ใน SQL Server ๒๐๐๘ ชนิดข้อมูลเหล่านี้รวมถึงวันที่เวลาdatetime2, datetimeoffset,ภูมิศาสตร์และรูปทรงเรขาคณิต ชนิดข้อมูลใหม่ใน SQL Server ๒๐๐๘ถูกแมปไปยัง nchar, nvarchar, imageและอื่นๆ
  • การสนับสนุน๖๔แบบดั้งเดิม การสนับสนุน๓๒บิตยังไม่มีการเปลี่ยนแปลง
  • การสนับสนุนสำหรับการจำลองข้อมูลด้วย SQL Server ๒๐๐๘ด้วย SQL Server ๒๐๐๕และด้วย SQL Server ๒๐๐๐โดยใช้ Microsoft การซิงโครไนซ์บริการสำหรับ ADO.NET ๑.๐ Service Pack 1 (SP1) บริการการซิงโครไนซ์ Microsoft สำหรับ ADO.NET ๑.๐ SP1 จะพร้อมใช้งานสำหรับทั้งเดสก์ท็อปและอุปกรณ์เคลื่อนที่
  • การสนับสนุนสำหรับการจำลองข้อมูลด้วย SQL Server ๒๐๐๘และด้วย SQL Server ๒๐๐๕โดยใช้การจำลองแบบผสานและการเข้าถึงข้อมูลระยะไกล (RDA)
  • ความเข้ากันได้ของเวอร์ชันที่ได้รับการปรับปรุงระหว่าง SQL Server กระชับและ SQL Server สำหรับการจำลองแบบผสาน
  • เครื่องมือเซิร์ฟเวอร์ SQL Compact ๓.๕ SP1 ของ SQL Server
    • สามารถทำซ้ำข้อมูลระหว่างเซิร์ฟเวอร์ SQL Compact ๓.๕และ SQL Server ๒๐๐๘หรือ SQL Server ๒๐๐๕ได้
    • สนับสนุนการจำลองข้อมูลระหว่าง SQL Server ๒๐๐๕กระชับข้อมูล Edition หรือ SQL Server ๒๐๐๕รุ่นสำหรับอุปกรณ์เคลื่อนที่และ SQL server ๒๐๐๘หรือ SQL Server ๒๐๐๕
    • ไม่สามารถติดตั้งแบบเคียงข้างกันกับเครื่องมือเซิร์ฟเวอร์เวอร์ชันก่อนหน้าบนคอมพิวเตอร์ที่ทำหน้าที่เป็นเซิร์ฟเวอร์ที่ใช้บริการข้อมูลทางอินเทอร์เน็ต (IIS)
  • สนับสนุน Windows Server ๒๐๐๘
นอกจากฟีเจอร์ใหม่ที่แสดงไว้ที่นี่ SQL Server Compact ๓.๕ SP1 มีฟีเจอร์ใหม่ต่อไปนี้ที่รวมอยู่ใน SQL Server Compact ๓.๕:
  • การใช้ชนิดข้อมูลการประทับเวลา (ROWVERSION) ROWVERSION คือชนิดข้อมูลที่แสดงหมายเลขไบนารีที่สร้างขึ้นโดยอัตโนมัติที่ได้รับการรับรองว่าจะไม่ซ้ำกันในฐานข้อมูล โดยทั่วไปแล้วชนิดข้อมูลนี้จะถูกนำไปใช้เป็นกลไกสำหรับการใช้งานแถวตารางเวอร์ชัน
  • สนับสนุนขอบเขตของทรานแซคชันภายในเครื่องบนคอมพิวเตอร์เดสก์ท็อป
  • เพิ่มการปรับปรุงในตัวออกแบบตารางใน Visual Studio ๒๐๐๘เพื่อให้ส่วนติดต่อผู้ใช้สำหรับการสร้างคีย์หลักและความสัมพันธ์ foreign key ระหว่างตาราง
  • ขยายการสนับสนุนสำหรับคำสั่ง Transact SQL ดังต่อไปนี้:
    • คิวรีที่ซ้อนกันในส่วนคำสั่ง from
    • การนำไปใช้และการนำไปใช้ภายนอก
    • แปลง
    • ด้านบน
    • ตั้งค่าการแทรกข้อมูลเฉพาะตัว
  • สนับสนุนอักขระ Unicode ของตำแหน่งที่ตั้งใดๆ ซึ่งรวมถึงอักขระภาษาจีนกิกะไบต์๑๘๐๓๐
  • สนับสนุนการพัฒนาแอปพลิเคชันบนเดสก์ท็อปที่ใช้ Microsoft Visual c # ๒๐๐๘ Express Edition และ Microsoft Visual Basic ๒๐๐๘เวอร์ชัน Express
  • สนับสนุนการใช้งานแบบเคียงข้างกันด้วย SQL Server ๒๐๐๕ Compact Edition บนคอมพิวเตอร์เดสก์ท็อป
  • สนับสนุนโหมดการเข้ารหัสลับที่เข้ากันได้แบบย้อนหลังสำหรับระบบปฏิบัติการรุ่นเก่าที่มีอัลกอริทึมการเข้ารหัสลับที่เก่ากว่าและเพิ่มการเข้ารหัสลับใหม่
  • สนับสนุน LINQ กับ SQL LINQ กับ SQL คือคอมโพเนนต์ของโครงการ LINQ LINQ กับ SQL มีโครงสร้างพื้นฐานขณะทำงานสำหรับการจัดการข้อมูลเชิงสัมพันธ์เป็นวัตถุโดยไม่ต้องให้ความสามารถในการสอบถาม จะแปลแบบสอบถามแบบใช้ภาษาที่รวมเข้ากับ Transact SQL สำหรับการดำเนินการโดย SQL Server กระชับแล้วแปลผลลัพธ์ของตารางกลับไปยังวัตถุตามที่กำหนดโดยนักพัฒนาซอฟต์แวร์ ไม่มีการสนับสนุนตัวออกแบบสำหรับ SQL Server แบบกระชับใน LINQ กับ SQL SqlMetal จำเป็นต้องใช้โปรแกรมอรรถประโยชน์สำหรับ SQL Server แบบกระชับ เครื่องมือบรรทัดคำสั่ง SqlMetal สร้างโค้ดและแมปสำหรับ LINQ กับคอมโพเนนต์ SQL ของ Microsoft .NET Framework ตามค่าเริ่มต้นไฟล์ SqlMetal จะอยู่ในโฟลเดอร์ต่อไปนี้:
    %ProgramFiles%\Microsoft SDKs\Windows\vn.nn\Bin
    เครื่องมือบรรทัดคำสั่ง SqlMetal สามารถใช้ได้ดังต่อไปนี้:
    • จากฐานข้อมูลเมื่อต้องการสร้างแอตทริบิวต์โค้ดต้นฉบับและแอตทริบิวต์การแมปหรือไฟล์การแมป
    • จากฐานข้อมูลเมื่อต้องการสร้างไฟล์ภาษาของ markup database (dbml) กลางสำหรับการกำหนดเอง
    • จากไฟล์ dbml เพื่อสร้างแอตทริบิวต์โค้ดและแอตทริบิวต์การแมปหรือไฟล์การแมป

ภาษาที่นำออกใช้

SQL Server Compact ๓.๕ SP1 สำหรับแพคเกจทั้งหมดจะถูกนำออกใช้ในภาษาต่อไปนี้:
  • อังกฤษ
  • โปรตุเกสของบราซิล
  • จีนประยุกต์
  • จีนดั้งเดิม
  • ฝรั่งเศส
  • เยอรมัน
  • อิตาลี
  • ญี่ปุ่น
  • เกาหลี
  • รัสเซีย
  • สเปน

แพลตฟอร์มที่ได้รับการสนับสนุน

SQL Server Compact ๓.๕ SP1 สามารถติดตั้งบนแพลตฟอร์มต่อไปนี้:
คอมพิวเตอร์เดสก์ท็อปของ Windows
  • เซิร์ฟเวอร์ Windows Server ๒๐๐๘มาตรฐาน
  • Windows Server ๒๐๐๘ Standard Server (โดยไม่มี Hyper V)
  • Windows Server ๒๐๐๘ Enterprise
  • Windows Server ๒๐๐๘ Enterprise (ไม่มี Hyper V)
  • ศูนย์ข้อมูล Windows Server ๒๐๐๘
  • ศูนย์ข้อมูล Windows Server ๒๐๐๘ (ไม่มี Hyper V)
  • Windows Server ๒๐๐๘ Web Edition
  • Windows Server ๒๐๐๘ Standard Server x64
  • Windows Server ๒๐๐๘ Standard Server x64 (ไม่มี Hyper V)
  • Windows Server ๒๐๐๘ Enterprise x64
  • Windows Server ๒๐๐๘ Enterprise x64 (ไม่มี Hyper V)
  • Windows Server ๒๐๐๘ Data Center x 64
  • Windows Server ๒๐๐๘ Data Center x64 (ไม่มี Hyper V)
  • Windows Server ๒๐๐๘ Web Edition x64
  • Windows Vista Home Basic SP1
  • Windows Vista Home Premium SP1
  • Windows Vista Business SP1
  • Windows Vista Enterprise SP1
  • Windows Vista Ultimate SP1
  • Windows Vista Starter SP1
  • Windows Vista Home Basic x 64 SP1
  • Windows Vista Home Premium x 64 SP1
  • Windows Vista Business x64 SP1
  • Windows Vista Enterprise x64 SP1
  • Windows Vista Ultimate x 64 SP1
  • Windows XP Professional SP3
  • SP3 Home Edition ของ Windows XP
  • Windows XP Media Center Edition ๒๐๐๕
  • Windows XP Media Center Edition ๒๐๐๔ SP3
  • Windows XP Tablet PC Edition SP3
  • Windows XP SP3 ที่ฝังตัว
  • Windows XP Professional x64 SP3
  • Windows ฝังตัวสำหรับจุดบริการ SP3
  • Windows Server ๒๐๐๓รุ่นมาตรฐาน SP2
  • Windows Server ๒๐๐๓, Edition องค์กร SP2
  • Windows Server ๒๐๐๓, Datacenter Edition SP2
  • Windows Server ๒๐๐๓ R2 รุ่นมาตรฐาน
  • Windows Server ๒๐๐๓ R2, Edition องค์กร
  • Windows Server ๒๐๐๓ R2, Datacenter Edition
  • Windows Server ๒๐๐๓ x 64 รุ่นมาตรฐาน
  • Windows Server ๒๐๐๓ x 64, องค์กรรุ่น x64
  • Windows Server ๒๐๐๓ x 64, Datacenter Edition
  • Windows Server ๒๐๐๓ R2 x 64 รุ่นมาตรฐาน
  • Windows Server ๒๐๐๓ R2 x 64, Edition องค์กร
  • Windows Server ๒๐๐๓ R2 x 64, Datacenter Edition
อุปกรณ์เคลื่อนที่ Windows
  • Windows CE ๖.๐
  • Windows CE ๕.๐
  • Windows CE ๔.๒
  • Windows Mobile ๖.๐
  • Windows Mobile ๕.๐
  • Windows Mobile ๒๐๐๓สำหรับ Pocket PC

คอมโพเนนต์เพิ่มเติม

ไฟล์ SQL Server Compact ๓.๕ SP1 Windows Installer (.msi) จะได้รับการอธิบายไว้ในส่วนนี้ ไฟล์เหล่านี้บางส่วนจะพร้อมใช้งานสำหรับการดาวน์โหลดจากศูนย์ดาวน์โหลดของไมโครซอฟท์ เมื่อต้องการดาวน์โหลดคอมโพเนนต์ SQL Server Compact ๓.๕ SP1 ให้เยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:รายการต่อไปนี้จะอธิบายไฟล์ .msi เพิ่มเติมของ SQL Server Compact ๓.๕ SP1หมายเหตุ ในรายการนี้ ภาษา ของพื้นที่ที่สำรองไว้จะแสดงถึงภาษาของผลิตภัณฑ์ของ SQL Server แบบกระชับ ตัวอย่างเช่นสำหรับภาษาอังกฤษพื้นที่ที่สำรองไว้จะแสดงถึงENUและสำหรับภาษาญี่ปุ่นพื้นที่ที่สำรองไว้
  • เครื่องมือการออกแบบของ SQL Server Compact ๓.๕ SP1 (SSCEVSTools-language) ไฟล์นี้จะติดตั้งคอมโพเนนต์เวลาการออกแบบของ SQL Server แบบกระชับพร้อมกับ Visual Studio ๒๐๐๘ SP1 คอมโพเนนต์ขณะออกแบบมีส่วนติดต่อผู้ใช้กล่องโต้ตอบและสภาพแวดล้อมในขณะออกแบบ สิ่งเหล่านี้จะถูกใช้ในการเขียนแอปพลิเคชันสำหรับ SQL Server แบบกระชับ มีการติดตั้งคอมโพเนนต์เวลาการออกแบบของ SQL Server แบบกระชับในโฟลเดอร์ต่อไปนี้:
    %ProgramFiles%\Microsoft Visual Studio 9 \ Common7\IDE
    ไฟล์ตัวอย่างจะได้รับการติดตั้งในโฟลเดอร์ต่อไปนี้:
    %ProgramFiles%\Microsoft SQL Server แบบกระชับ Edition\v3.5\Samples
    คอมโพเนนต์เหล่านี้จะเชื่อมโยงกับ Visual Studio และไม่สามารถจัดส่งได้อย่างอิสระจาก Visual Studio ตัวอย่างขนาดกะทัดรัดของ SQL Server และไฟล์หัวกระดาษขนาดกะทัดรัดของ SQL Server (สำหรับการพัฒนาพื้นเมือง) จะได้รับการติดตั้งโดยไฟล์นี้อีกด้วย
  • SQL Server แบบกระชับ๓.๕ SP1 (SSCERuntime-ภาษาของ msi) ไฟล์นี้จะติดตั้งคอมโพเนนต์ของไทม์เซิร์ฟเวอร์ SQL Server แบบกระชับสำหรับคอมพิวเตอร์เดสก์ท็อป การติดตั้งคอมโพเนนต์เหล่านี้ในโฟลเดอร์กลางต่อไปนี้:
    %ProgramFiles%\Microsoft SQL Server แบบกระชับ Edition\v3.5
    จำเป็นต้องมีคอมโพเนนต์เหล่านี้สำหรับการพัฒนาแอปพลิเคชันใน Visual Studio และสำหรับการเรียกใช้แอปพลิเคชันที่ใช้ SQL Server กระชับบนเดสก์ท็อป SSCERuntime-languageยังสามารถดาวน์โหลดได้จากเว็บ ไฟล์นี้ยังติดตั้ง Microsoft ซิงโครไนซ์บริการสำหรับคอมโพเนนต์ ADO.NET ๑.๐ SP1 มีการติดตั้งคอมโพเนนต์บริการซิงโครไนซ์ในโฟลเดอร์ต่อไปนี้:
    การซิงโครไนซ์%ProgramFiles%\Microsoft Services\ADO.NET\v1.0
    สำหรับข้อมูลเพิ่มเติมให้ดูที่บริการการซิงโครไนซ์ของ Microsoft สำหรับ ADO.NET Books Online ทรัพยากรนี้จะพร้อมใช้งานบนเว็บไซต์ Microsoft SQL Server
  • SQL Server กระชับ๓.๕ SP1 สำหรับอุปกรณ์ (SSCEDeviceRuntime-ภาษาของ msi) ไฟล์นี้จะติดตั้งคอมโพเนนต์การรันไทม์ของอุปกรณ์ SQL Server แบบกระชับในโฟลเดอร์ต่อไปนี้:
    %ProgramFiles%\Microsoft SQL Server แบบกระชับ Edition\v3.5\Devices
    จำเป็นต้องมีคอมโพเนนต์การรันไทม์สำหรับการพัฒนาแอปพลิเคชันที่ใช้อุปกรณ์ที่ใช้ Windows Mobile และ Windows CE ใน Visual Studio และสำหรับการปรับใช้แอปพลิเคชันบนอุปกรณ์เคลื่อนที่ SSCEDeviceRuntime-languageยังสามารถดาวน์โหลดได้บนเว็บไซต์ Microsoft SQL Server
  • เครื่องมือเซิร์ฟเวอร์ SQL Server Compact ๓.๕ SP1 (SSCEServerTools-language) ไฟล์นี้จะติดตั้งเครื่องมือเซิร์ฟเวอร์ SQL Server Compact ในโฟลเดอร์ต่อไปนี้:
    %ProgramFiles%\Microsoft SQL Server แบบกระชับ Edition\v3.5\sync\SQL
    จำเป็นต้องมีคอมโพเนนต์สำหรับการเชื่อมต่อฐานข้อมูล SQL Server กระชับข้อมูลบนอุปกรณ์เคลื่อนที่ไปยังฐานข้อมูล SQL Server ๒๐๐๘หรือ SQL Server ๒๐๐๕ SSCEServerTools-languageยังสามารถดาวน์โหลดได้บนเว็บไซต์ Microsoft SQL Server
  • เครื่องมือคิวรีของ SQL Server Compact ๓.๕ SP1 (SSCESqlWbTools-ภาษา.msi) ไฟล์นี้จะติดตั้งไฟล์เครื่องมือคิวรี SQL Server แบบกระชับในโฟลเดอร์ต่อไปนี้:
    %ProgramFiles%\Microsoft SQL Server แบบกระชับ Edition\v3.5\Tools
    นอกจากนี้ตัวอย่างไฟล์จะได้รับการติดตั้งในโฟลเดอร์ต่อไปนี้:
    %ProgramFiles%\Microsoft SQL Server แบบกระชับ Edition\v3.5\Samples
    SSCESqlWbTools เป็นlanguageส่วนหนึ่งของรุ่น SQL Server COMPACT ๓.๕ SP1 ไฟล์ได้รับการติดตั้งเป็นส่วนหนึ่งของ SQL Server ๒๐๐๘ หมายเหตุ เริ่มต้นด้วย SQL Server Compact ๓.๕ SP1 คอมโพเนนต์เครื่องมือคิวรีจะพร้อมใช้งานเมื่อมีการติดตั้ง SQL Server ๒๐๐๘

ปัญหาที่ทราบแล้วในรุ่นนี้

ปัญหาที่ทราบแล้วใน SQL Server Compact ๓.๕ SP1 มีดังต่อไปนี้:
  • การรวมเอกสาร (BOL) ลงในวิธีใช้ Visual Studio และ SQL Server SQL Server Compact ๓.๕ SP1 Books Online (BOL) และ Microsoft การซิงโครไนซ์บริการสำหรับ ADO.NET พร้อมใช้งานเป็นการดาวน์โหลดเว็บจากศูนย์ดาวน์โหลด Microsoft เท่านั้น พวกเขาจะไม่รวมอยู่ใน Visual Studio ๒๐๐๘ SP1 หรือกับ SQL Server ๒๐๐๘ เมื่อต้องการเข้าถึงคอลเลกชันเหล่านี้จากเอกสารประกอบสำหรับ Visual Studio ๒๐๐๘ SP1 หรือสำหรับ SQL Server ๒๐๐๘และเข้าถึงวิธีใช้ F1 จาก Visual Studio ๒๐๐๘ SP1 หรือจาก SQL Server ๒๐๐๘ให้เพิ่มคอลเลกชันเหล่านี้ลงในคอลเลกชันของ Visual Studio และ SQL Server รวมวิธีใช้ เมื่อต้องการทำเช่นนี้ให้ดาวน์โหลด SQL Server Compact ๓.๕ SP1 Books Online และ Microsoft การซิงโครไนซ์บริการสำหรับ ADO.NET จากนั้นปิดอินสแตนซ์ทั้งหมดของชุดรวมวิธีใช้ Visual Studio/SQL Server รวมของ Visual Studio ๒๐๐๘และ SQL Server ๒๐๐๘ เมื่อคุณเปิดใช้งานคอลเลกชัน Visual Studio และ SQL Server รวมวิธีใช้ sql Server Compact ๓.๕ SP1 Books Online และบริการการซิงโครไนซ์ของ Microsoft สำหรับ ADO.NET Books Online จะพร้อมใช้งานในการใช้งานของสารบัญดัชนีการค้นหาและวิธีใช้ F1
  • การสนับสนุน Windows Mobile ไม่มีการติดตั้ง SQL Server กระชับ๓.๕ SP1 สำหรับไฟล์ตัวติดตั้งอุปกรณ์พร้อมกับ Visual Studio ๒๐๐๘ SP1 ไฟล์จะพร้อมใช้งานในขณะที่การดาวน์โหลดเว็บจากศูนย์ดาวน์โหลด Microsoft เท่านั้น
  • การอัปเกรดจากเวอร์ชันก่อนวางจำหน่าย การอัปเกรดเป็น SQL Server กระชับ๓.๕หรือไปยัง SQL Server Compact ๓.๕ SP1 จาก SQL Server แบบกระ๓.๕ชับการแสดงตัวอย่างของชุมชน (CTP) เวอร์ชันหรือจาก SQL Server Compact ๓.๕เวอร์ชันเบต้าไม่ได้รับการสนับสนุน การอัปเกรดเป็น SQL Server กระชับ๓.๕ SP1 จาก sql Server แบบกระชับ๓.๕หรือจาก SQL Server Compact ๓.๕ SP1 beta จะได้รับการสนับสนุน การอัปเกรดจากเวอร์ชัน CTP และเวอร์ชันเบต้าของ SQL Server Compact ๓.๕เป็นเวอร์ชันวางจำหน่ายไม่ได้รับการสนับสนุน ถอนการติดตั้งเวอร์ชัน CTP หรือรุ่นเบต้าของ Visual Studio ๒๐๐๘ไม่ได้ถอนการติดตั้ง SQL Server Compact ๓.๕ คุณต้องเอาการติดตั้ง CTP หรือรุ่นเบต้าของ SQL Server Compact ๓.๕ก่อนที่คุณจะติดตั้งเวอร์ชันวางจำหน่ายของ Visual Studio ๒๐๐๘ เมื่อต้องการทำเช่นนี้ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้:
    • ใน Windows Vista ให้คลิกเริ่มแล้วคลิกแผงควบคุมจากนั้นดับเบิลคลิกที่โปรแกรมและฟีเจอร์ ถอนการติดตั้งแอปพลิเคชันต่อไปนี้แบบ CTP และ beta ทั้งหมด:
      • SQL Server แบบกระชับ๓.๕
      • SQL Server Compact ๓.๕สำหรับอุปกรณ์
      • เครื่องมือการออกแบบ๓.๕ของ SQL Server แบบกระชับ
    • ใน Windows XP หรือใน Windows Server ๒๐๐๓ให้คลิกเริ่มแล้วคลิกแผงควบคุมจากนั้นดับเบิลคลิกที่เพิ่มหรือเอาโปรแกรมออก ถอนการติดตั้งแอปพลิเคชันต่อไปนี้แบบ CTP และ beta ทั้งหมด:
      • SQL Server แบบกระชับ๓.๕
      • SQL Server Compact ๓.๕สำหรับอุปกรณ์
      • เครื่องมือการออกแบบ๓.๕ของ SQL Server แบบกระชับ
  • SQL Server Compact ๓.๕ SP1 ไม่ได้ถูกถอนการติดตั้งเมื่อ Visual Studio ๒๐๐๘ SP1 ถูกถอนการติดตั้ง การถอนการติดตั้ง Visual Studio ๒๐๐๘ SP1 ไม่ได้ถอนการติดตั้งเครื่องมือออกแบบของ SQL Server Compact ๓.๕ SP1 และ SQL Server Compact ๓.๕ SP1 โดยอัตโนมัติ ถ้าคุณต้องการแปลงกลับไปเป็นการติดตั้ง Visual Studio ๒๐๐๘คุณต้องถอนการติดตั้งเครื่องมือออกแบบของ SQL Server กระชับ๓.๕ SP1 ก่อนด้วยตนเองและ SQL Server Compact ๓.๕ SP1 จากนั้นคุณต้องใช้สื่อการติดตั้ง Visual Studio ๒๐๐๘เพื่อติดตั้งเครื่องมือการออกแบบของ SQL Server กระชับ๓.๕และ SQL Server Compact ๓.๕ แพคเกจ Windows Installer สำหรับ SQL Server Compact ๓.๕และสำหรับเครื่องมือการออกแบบของ SQL Server Compact ๓.๕จะอยู่ในโฟลเดอร์ต่อไปนี้บนสื่อการติดตั้ง Visual Studio ๒๐๐๘:
    WCU\SSCE
    ชื่อไฟล์ของแพคเกจ SQL Server Compact ๓.๕คือ SSCERuntime-ภาษาของ msi ชื่อไฟล์ของแพคเกจเครื่องมือการออกแบบ๓.๕ของ SQL Server Compact คือ SSCEVSTools-ภาษาของ msi หมายเหตุ ภาษาของพื้นที่ที่สำรองไว้จะแสดงถึงภาษาของผลิตภัณฑ์ของ SQL Server แบบกระชับ
  • การรวม SQL Server Management Studio ๒๐๐๘ ถ้าคุณเลือกตัวเลือกการ ซ่อมแซม เมื่อคุณติดตั้ง sql server ๒๐๐๘, Sql server กระชับ๓.๕ Sp1 เครื่องมือคิวรีและ Sql server COMPACT ๓.๕ SP1 จะไม่ถูกติดตั้งโดยอัตโนมัติ เมื่อต้องการแก้ไขปัญหานี้ให้ติดตั้งไฟล์ SQL Server กระชับข้อมูลจากโฟลเดอร์ต่อไปนี้บนสื่อการติดตั้ง SQL Server:
    Servers\Setup
    ชื่อไฟล์ของแพคเกจ SQL Server Compact ๓.๕ SP1 คือ SSCERuntime-ภาษาของ msi ชื่อไฟล์ของแพคเกจเครื่องมือคิวรีของ SQL Server Compact ๓.๕ SP1 คือ SSCESqlWbTools-ภาษาของ msi หมายเหตุ ภาษาของพื้นที่ที่สำรองไว้จะแสดงถึงภาษาของผลิตภัณฑ์ สิ่งสำคัญ ถ้า SQL Server Compact ๓.๕ SP1 ไม่ได้รับการติดตั้งเมื่อคุณใช้ SQL Server ๒๐๐๘ Management Studio คุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
    ไม่สามารถโหลด Microsoft SQL Server แบบกระชับได้ ติดตั้ง Microsoft SQL Server กระชับ MSIs จากโฟลเดอร์ Servers\Setup บนสื่อการติดตั้ง SQL Server สำหรับรายละเอียดเพิ่มเติมโปรดดูบทความ KB ๙๕๒๒๑๘
    เมื่อต้องการแก้ไขปัญหานี้ให้ติดตั้งเครื่องมือคิวรี Microsoft SQL Server แบบกระ๓.๕ชับของ Microsoft SQL Server และ Microsoft SQL Server Compact ๓.๕ SP1 จากสื่อการติดตั้ง SQL Server ๒๐๐๘ในโฟลเดอร์ "Servers\Setup" สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้และวิธีการแก้ไขปัญหานี้ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:  
    ๙๕๒๒๑๘ ข้อความแสดงข้อผิดพลาดเมื่อคุณพยายามเชื่อมต่อกับ SQL Server Compact ๓.๕ Service Pack 1 จาก SQL Server Management Studio ใน SQL Server ๒๐๐๘: "ไม่สามารถโหลด Microsoft SQL Server Compact"  
  • ไฟล์ .Msi ของ SQL Server Compact ๓.๕ SP1 (x86) ไม่รู้จัก iis เมื่อมีการติดตั้ง iis บน Vista (x64) หรือบน Windows ๒๐๐๘ Server สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้และวิธีการแก้ไขให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:  
    ๙๕๕๙๖๖ เครื่องมือเซิร์ฟเวอร์ SQL Server Compact ๓.๕ Service Pack 1 ไม่ได้รับการติดตั้งในโหมด WOW เมื่อคุณเรียกใช้ IIS ๗.๐บนคอมพิวเตอร์๖๔ที่ใช้ Windows Server ๒๐๐๘หรือบนคอมพิวเตอร์ที่ใช้ Windows Vista แบบ๖๔บิต  
  • Visual Studio สำหรับอุปกรณ์ที่เข้ากันได้กับการย้อนกลับ หลังจากที่คุณติดตั้งการรันไทม์ของอุปกรณ์ SQL Server กระชับข้อมูล๓.๕ SP1 แล้ว "อุปกรณ์สมาร์ท" ใดก็ตามที่อ้างอิงแอสเซมบลี SqlServerCe และถูกสร้างขึ้นโดยใช้ Visual Studio ๒๐๐๘ SP1 หรือ Visual Studio ๒๐๐๘ไม่สามารถเปิดกลับและไม่สามารถเปิดได้ ปัญหานี้เกิดขึ้นเนื่องจากเวอร์ชันของแอสเซมบลีของแอสเซมบลี SqlServerCe ใน SQL Server Compact ๓.๕ SP1 (3.5.1.0) และใน SQL Server Compact ๓.๕ (3.5.0.0) แตกต่างกัน สถานการณ์ที่เป็นไปได้และวิธีแก้ปัญหาจะเป็นดังต่อไปนี้:
    • คุณสร้างโครงการ "สมาร์ทอุปกรณ์" โดยใช้ Visual Studio ๒๐๐๘และตรวจสอบให้แน่ใจว่าโครงการอ้างอิงแอสเซมบลี SqlServerCe จากนั้นคุณติดตั้ง Visual Studio ๒๐๐๘ SP1 และการรันไทม์ของอุปกรณ์ SQL Server Compact ๓.๕ SP1 เมื่อคุณเปิดแล้วสร้างโครงการคุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
      การดำเนินการนี้จำเป็นต้องมีการอ้างอิงไปยัง SQL Server แบบกระชับ๓.๕ โครงการมีการอ้างอิงไปยังเวอร์ชันอื่น อัปเดตการอ้างอิงแล้วลองอีกครั้ง
      ปัญหานี้เกิดขึ้นเนื่องจากเวอร์ชันของระบบ SqlServerCe ที่ถูกอ้างอิงในโครงการที่แตกต่างจากไฟล์ SqlServerCe ที่มีอยู่บนเครื่องคอมพิวเตอร์ เมื่อต้องการแก้ปัญหานี้ ให้ดำเนินการตามขั้นตอนเหล่านี้:
      1. บนเมนูมุมมองให้คลิกExplorer โซลูชัน
      2. คลิกการอ้างอิง
      3. คลิกเพื่อเลือกกล่องกาเครื่องหมายSqlServerCeแล้วตั้งค่าคุณสมบัติเวอร์ชันที่ระบุเป็นFalseในกล่องโต้ตอบคุณสมบัติ
      หมายเหตุ วิธีแก้ไขปัญหานี้ไม่จำเป็นต้องให้คุณอัปเดตระเบียนเวอร์ชันของแอสเซมบลีของไฟล์ SqlServerCe ถ้าคุณเปิดโครงการกลับมาและมาโดยใช้ Visual Studio ๒๐๐๘และ Visual Studio ๒๐๐๘ SP1
    • คุณติดตั้ง Visual Studio ๒๐๐๘และการรันไทม์ของอุปกรณ์ SQL Server Compact ๓.๕ จากนั้นคุณสามารถเปิดโครงการ "อุปกรณ์สมาร์ท" ที่สร้างไว้ก่อนหน้านี้บนคอมพิวเตอร์ที่ใช้ Visual Studio ๒๐๐๘ SP1 และการรันไทม์ของอุปกรณ์ SQL Server Compact ๓.๕ SP1 เมื่อคุณสร้างโครงการแอปพลิเคชันจะสร้างเสร็จเรียบร้อยแล้ว อย่างไรก็ตามเมื่อคุณพยายามตรวจแก้จุดบกพร่องแอปพลิเคชันคุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
      ไม่พบ DLL PInvoke ' sqlceme35 '
      ปัญหานี้เกิดขึ้นเนื่องจากโครงการมีสำเนาภายในเครื่องของ SqlServerCe ที่มีเวอร์ชัน3.5.1.0 แต่ไฟล์พื้นเมืองที่อ้างถึงไม่ได้อยู่บนคอมพิวเตอร์ ไฟล์เหล่านี้รวมถึง Sqlceme35 เมื่อต้องการแก้ปัญหานี้ ให้ดำเนินการตามขั้นตอนเหล่านี้:
      1. บนเมนูมุมมองให้คลิกExplorer โซลูชัน
      2. คลิกการอ้างอิง
      3. คลิกเพื่อเลือกกล่องกาเครื่องหมายSqlServerCe ของระบบแล้วตั้งค่าคุณสมบัติคัดลอกภายในเครื่องเป็นFalseในกล่องโต้ตอบคุณสมบัติ
      4. เอาแอสเซมบลี SqlServerCe ออกจากโฟลเดอร์ภายในเครื่องของโครงการ
      5. คลิกการอ้างอิง
      6. คลิกขวาที่ข้อมูล SqlServerCeแล้วคลิกเอาออก
      7. คลิกการอ้างอิง
      8. คลิกขวาในพื้นที่การอ้างอิงแล้วคลิกเพิ่มการอ้างอิง
      9. ในกล่องโต้ตอบเพิ่มการอ้างอิงให้คลิกแท็บ.net
      10. ในรายการชื่อคอมโพเนนต์ให้คลิกเพื่อเลือกกล่องกาเครื่องหมายSqlServerCeแล้วคลิกตกลง
  • ข้อจำกัดเริ่มต้นจะถูกจำลองแบบ "ตามที่เป็น" ข้อจำกัดเริ่มต้นจะถูกจำลองแบบ "as-is" เมื่อบทความที่มีคอลัมน์ของรูปเรขาคณิตชนิดถูกจำลองแบบไปยังสมาชิกที่กำลังเรียกใช้ SQL Server แบบกระชับ เมื่อต้องการแก้ไขปัญหานี้ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้:
    • อย่าทำซ้ำข้อจำกัดเริ่มต้น แทนปิดใช้งานตัวเลือก schema สำหรับบทความก่อนที่บทความจะถูกจำลองแบบไปยังสมาชิก
    • เอาข้อจำกัดเริ่มต้นออกจากตารางก่อนที่คุณจะประกาศ
    • ระบุค่าเริ่มต้นเป็นตัวอักษรแทนที่จะเป็นฟังก์ชันเรขาคณิต
  • คุณสมบัติ "เข้ารหัสลับ" ของชั้นเรียน "SqlCeConnection" ไม่ได้ถูกใช้ SQL Server Compact ๓.๕ SP1 ไม่ได้ใช้คุณสมบัติการเข้ารหัสลับของคลาSqlCeConnection ไม่ควรใช้คุณสมบัติการเข้ารหัสลับของคลาSqlCeConnection หมายเหตุ คุณสมบัติการ เข้ารหัสลับ จะได้รับการสนับสนุนในรุ่นในอนาคต คุณสมบัติจะถูกเก็บไว้ใน SQL Server Compact ๓.๕ SP1 สำหรับความเข้ากันได้แบบย้อนหลังเท่านั้น ใช้คุณสมบัติ โหมดการเข้ารหัส ลับของคลา SqlCeConnection เพื่อเข้ารหัสลับไฟล์ฐานข้อมูล SQL Server Compact ๓.๕ SP1 ตัวอย่างต่อไปนี้แสดงวิธีการสร้างฐานข้อมูล SQL Server กระชับข้อมูล SQL Server ๓.๕กระชับข้อมูลที่เข้ารหัสลับใหม่ C#
    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");engine.CreateDatabase();
    Visual Basic
    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")engine.CreateDatabase()
  • แอปพลิเคชัน ClickOnce ต้องประกาศหลังจากที่คุณอัปเกรดเป็น Visual Studio ๒๐๐๘ เมื่อคุณอัปเกรดจาก Visual Studio ๒๐๐๕เป็น Visual Studio ๒๐๐๘ฐานข้อมูล SQL Server กระชับข้อมูลที่เข้ารหัสลับไม่ได้รับการอัปเกรดและแอปพลิเคชัน ClickOnce ต้องถูกประกาศใหม่ ไฟล์ฐานข้อมูล (* sdf) ที่สร้างขึ้นโดย SQL Server Compact เวอร์ชันก่อนหน้าจะเข้ากันไม่ได้กับ SQL Server Compact ๓.๕ SP1 เฉพาะไฟล์ฐานข้อมูล nonencrypted จาก SQL Server Compact เวอร์ชันก่อนหน้าจะได้รับการอัปเกรดเมื่อโครงการ Visual Studio ๒๐๐๕ได้รับการอัปเกรดเป็น Visual Studio ๒๐๐๘ ไฟล์ฐานข้อมูลที่เข้ารหัสลับจำเป็นต้องได้รับการอัปเกรดด้วยตนเอง ถ้า project Visual Studio ๒๐๐๕ใช้ ClickOnce เพื่อประกาศแอปพลิเคชันควรประกาศแอปพลิเคชันหลังจากที่โครงการได้รับการอัปเกรดใน Visual Studio ๒๐๐๘ เมื่อต้องการอัปเกรดไฟล์ฐานข้อมูลที่เข้ารหัสลับด้วยตนเองให้ทำตามขั้นตอนต่อไปนี้:
    1. คลิกข้อมูล
    2. คลิกเพิ่มแหล่งข้อมูลใหม่
    3. คลิกเพิ่มการเชื่อมต่อ
    ถ้าคุณเปิดไฟล์ฐานข้อมูลเวอร์ชันก่อนหน้าคุณจะได้รับข้อความ ถ้าคุณคลิก ตกลง กับข้อความกล่องโต้ตอบการ อัปเกรดเป็น SQL Server กระชับฐานข้อมูล๓.๕ จะแสดงขึ้น หรือคุณสามารถใช้ SqlCeEngine การอัปเกรด API สำหรับสถานการณ์ทางการเขียนโปรแกรมได้ ตัวอย่างเช่นคุณสามารถใช้โค้ดที่คล้ายกับตัวอย่างโค้ดต่อไปนี้ C#
    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;");engine.Upgrade ("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
    Visual Basic
    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;")engine.Upgrade("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
    ถ้าโครงการของคุณใช้ ClickOnce เพื่อเผยแพร่แอปพลิเคชันควรถูกประกาศใหม่หลังจากที่แอปพลิเคชันได้รับการอัปเกรดใน Visual Studio ๒๐๐๘ เมื่อคุณประกาศแอปพลิเคชัน ClickOnce ใน Visual Studio ๒๐๐๘คุณอาจเห็นข้อความแจ้งเตือนต่อไปนี้:
    ไม่พบข้อกำหนดเบื้องต้นของ SQL Server ๒๐๐๕กระชับข้อมูล Edition สำหรับ bootstrapping
    ข้อความแจ้งเตือนสามารถละเว้นได้อย่างปลอดภัย
  • ชนิดข้อมูล SQL Server Compact ๓.๕ SP1 สำหรับพารามิเตอร์เช่น SqlDbType และ DbType ควรถูกตั้งค่าอย่างชัดเจน ถ้าชนิดข้อมูลสำหรับพารามิเตอร์เช่น SqlDbType และ DbType ไม่ได้ตั้งค่าอย่างชัดเจนกลไกจัดการฐานข้อมูลอาจพยายามคาดเดาชนิดข้อมูลที่เหมาะสมที่สุดสำหรับพารามิเตอร์นั้น การคาดเดานี้อาจไม่ถูกต้องโดยเฉพาะอย่างยิ่งสำหรับชนิดของข้อมูลสตริงและไบนารีที่ไม่มีความยาวคงที่ (รวมถึงวัตถุขนาดใหญ่) เช่นnvarchar, ntext, varbinaryและรูปภาพ ในกรณีเหล่านี้ข้อความแสดงข้อผิดพลาดข้อยกเว้นอาจถูก thrown เมื่อต้องการแก้ไขปัญหานี้เราขอแนะนำให้คุณระบุชนิดข้อมูลของพารามิเตอร์สำหรับสตริงและชนิดข้อมูลแบบไบนารีที่ไม่มีความยาวคงที่ ตัวอย่างเช่นคุณสามารถใช้โค้ดที่คล้ายกับตัวอย่างโค้ดต่อไปนี้ C#
    SqlCeEngine engine = new SqlCeEngine(connString);engine.CreateDatabase();engine.Dispose();SqlCeConnection conn = new SqlCeConnection(connString);conn.Open();SqlCeCommand cmd = conn.CreateCommand();cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);";cmd.ExecuteNonQuery();cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);";SqlCeParameter paramName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128);SqlCeParameter paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText);paramName.Value = "Name1";paramBlob.Value = "Name1".PadLeft(4001);cmd.ExecuteNonQuery();
    Visual Basic
    Dim engine As SqlCeEngine = New SqlCeEngine(connString)engine.CreateDatabase()engine.Dispose()Dim conn As SqlCeConnection = New SqlCeConnection(connString)conn.Open()Dim cmd As SqlCeCommand = conn.CreateCommand()cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);"cmd.ExecuteNonQuery() cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);"Dim paramName As SqlCeParameterDim paramBlob As SqlCeParameterparamName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128)paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText)paramName.Value = "Name1"paramBlob.Value = "Name1".PadLeft(4001)cmd.ExecuteNonQuery()
  • ความเข้ากันได้ของรูปแบบไฟล์ฐานข้อมูลจะถูกจำกัดในบางกรณี ไฟล์ฐานข้อมูล SQL Server Compact ๓.๕ SP1 (sdf) สามารถเปิดได้ใน SQL Server Compact ๓.๕และใน SQL Server Compact ๓.๕ SP1 อย่างไรก็ตามในบางกรณีความเข้ากันได้ของรูปแบบไฟล์ฐานข้อมูลอาจถูกจำกัด ตัวอย่างเช่นรูปแบบไฟล์ฐานข้อมูลที่เข้ากันได้อาจถูกจำกัดในสถานการณ์ต่อไปนี้:
    • ฐานข้อมูลที่มีความสำคัญ case ที่สร้างขึ้นใน SQL Server Compact ๓.๕ SP1 ไม่สามารถเปิดหรือไม่รู้จักใน SQL Server Compact ๓.๕ โปรดทราบว่าการเปรียบเทียบตัวพิมพ์เล็กจะเริ่มต้นด้วย SQL Server Compact ๓.๕ SP1
    • ไม่สามารถเปิดไฟล์ฐานข้อมูลเดียวกันได้ในเวลาเดียวกันโดยใช้งานการทำงานของ SQL Server Compact ๓.๕และด้วยการรันไทม์ SQL Server Compact ๓.๕ SP1
  • คิวรีที่มีชนิดการรวมภายนอกด้านซ้ายที่มีค่าคงที่เป็นตัวถูกดำเนินการด้านซ้ายจะไม่ส่งกลับผลลัพธ์ที่ถูกต้อง เมื่อคุณเรียกใช้คิวรีที่มีชนิดการรวมภายนอกด้านซ้ายที่มีค่าคงที่เป็นตัวถูกดำเนินการด้านซ้ายผลลัพธ์ที่ถูกต้องจะไม่ถูกส่งกลับ ปัญหานี้เกิดขึ้นเนื่องจาก SQL Server Compact ไม่ประเมินแบบสอบถามดังกล่าวอย่างถูกต้อง ต่อไปนี้เป็นตัวอย่างของคิวรีดังต่อไปนี้
    SELECT * FROM table1 LEFT OUTER JOIN table2 ON 1 = table1.column1
    คิวรีต่อไปนี้ของ LINQ กับเอนทิตียังมีค่าคงที่เป็นฟังก์ชันตัวเลือกคีย์ในวิธีการGroupBy คิวรีนี้จะถูกแปลงเป็นการรวมภายนอกด้านซ้ายด้วยค่าคงที่เป็นตัวถูกดำเนินการด้านซ้ายภายในและส่งกลับค่าที่ไม่ถูกต้อง C#
    using (NorthwindEntities nwEntities = new NorthwindEntities()){   var customers = nwEntities.Customers                   .GroupBy( c => 1, c => c.Customer_ID)                   .Select( c => c);}
  • ปัญหาการรันไทม์ของ SQL Server Compact ๓.๕ SP1 สำหรับเอนทิตีกรอบงาน ADO.NET
    • แบบสอบถามย่อยที่สัมพันธ์กันที่ถูกแปลงเป็นแบบสอบถามย่อยของสเกลาภายในรุ่นนี้ไม่ได้รับการสนับสนุนในรุ่นนี้ สำหรับแบบสอบถามย่อยดังกล่าวคุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
      มีข้อผิดพลาดเกิดขึ้นขณะดำเนินการคำนิยามคำสั่ง ดูข้อยกเว้นภายในสำหรับรายละเอียด " ข้อยกเว้นภายในประกอบด้วยข้อความต่อไปนี้ "มีข้อผิดพลาดในการแยกวิเคราะห์คิวรี [..., โทเค็นในข้อผิดพลาด = AS]
      ปัญหานี้เกิดขึ้นเนื่องจากกรอบงานของเอนทิตีจะแปลคิวรีการป้อนข้อมูลเป็นแบบสอบถามที่มีการนำไปใช้หรือนำไปใช้กับชนิดของการรวมภายนอก ถ้าด้านขวาของเงื่อนไขการรวมส่งกลับค่าสเกลาการรวมจะถูกแปลงเป็นแบบสอบถามย่อยของสเกลา ตัวให้บริการกรอบงานเอนทิตีสำหรับ SQL Server Compact มีการแปลงแบบสอบถามย่อยของสเกลาเป็นแบบสอบถามที่เทียบเท่ากับชนิดของการรวมที่ใช้ภายนอกที่ได้รับการสนับสนุนโดย SQL Server กระชับ อย่างไรก็ตามในรุ่นนี้การแปลงนี้จะไม่ทำงานอย่างถูกต้อง ตัวอย่างเช่นคิวรีต่อไปนี้จะโยนข้อความแสดงข้อผิดพลาดในรุ่นนี้: C #
      using (NorthwindEntities nwEntities = new NorthwindEntities()){    var orders = nwEntities.Employees                .Select(employee => employee.Orders.Max(order => order.Order_ID));    foreach (var order in orders)    {       Console.WriteLine(order.ToString());    }}
      • ข้อยกเว้นการละเมิดการเข้าถึงเกิดขึ้นในขณะที่ดำเนินการคิวรีกรอบงานของเอนทิตีถ้าทั้งคิวรีหลักและแบบสอบถามย่อยมีคำสำคัญที่แตกต่างกันและเงื่อนไขการรวมจะถูกระบุด้วยส่วนคำสั่งการรวมภายนอก ตัวอย่างเช่นคิวรีต่อไปนี้จะสร้างการละเมิดการเข้าถึง:
        SELECT DISTINCT [o].[CustomerID]FROM (SELECT DISTINCT * FROM [Orders]) AS [o]LEFT OUTER JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]

รายการของปัญหาที่ได้รับการแก้ไข

Service pack นี้จะช่วยแก้ไขปัญหาต่อไปนี้:
  • ๙๒๓๙๗๙ ข้อความแสดงข้อผิดพลาดเมื่อคุณพยายามแทรกแถวหรือดำเนินการการดำเนินการฐานข้อมูลอื่นๆในฐานข้อมูล SQL Server ๒๐๐๕ Mobile Edition: "ความเสียหายของฐานข้อมูลที่เป็นไปได้ที่ไม่ถูกต้อง"
  • ๙๓๓๔๖๓ แอปพลิเคชันที่มีการจัดการที่ใช้ SQL Server ๒๐๐๕ Mobile Edition อาจหยุดโดยไม่คาดคิดถ้าตำแหน่งที่ตั้งของการเปลี่ยนแปลง Dll ของ SQL Mobile
  • ๙๓๔๓๘๖ คุณไม่สามารถใช้ SQL Server ๒๐๐๕ Compact Edition บนอุปกรณ์ที่ใช้ ARMV4i ที่ใช้ Windows CE .NET ๔.๒
  • ๙๓๕๗๖๙ ข้อความแสดงข้อผิดพลาดเมื่อคุณอัปเกรดฐานข้อมูลจาก SQL Server ๒๐๐๐ Windows CE Edition ๒.๐ไปยัง SQL Server ๒๐๐๕รุ่นสำหรับอุปกรณ์เคลื่อนที่: "ไฟล์ฐานข้อมูลที่มีขนาดใหญ่กว่าขนาดฐานข้อมูลสูงสุดที่กำหนดไว้"
  • ๙๓๖๔๘๗ แอปพลิเคชันที่ได้รับการจัดการที่ใช้ SQL Server ๒๐๐๕ Compact Edition ๓.๑อาจหยุดโดยไม่คาดคิดในอุปกรณ์ที่เข้ากันได้กับ Windows Mobile ๕.๐ถ้าตำแหน่งที่ตั้งของการเปลี่ยนแปลง Dll ของ SQL Server Compact Edition Dll
  • ๙๓๘๗๘๖ แอปพลิเคชันอุปกรณ์ที่ใช้งานบนอุปกรณ์ที่ใช้งานอยู่ของการตรวจสอบความถูกต้องของการ SqlCeEngine ๒.๐ .net Server ๒๐๐๕
  • ๙๔๗๐๐๒ ข้อความแสดงข้อผิดพลาดเมื่อคุณพยายามลบแถวจากตารางใน SQL Server ๒๐๐๕ Compact Edition หรือใน SQL Server Compact ๓.๕: "ข้อผิดพลาดที่สำคัญ 0x80004005, 0 ข้อผิดพลาดเล็กน้อย0 พยายามหารด้วยศูนย์ "
  • ๙๕๐๔๔๐ แอปพลิเคชันดูเหมือนว่าหยุดการตอบสนองเมื่อแอปพลิเคชันดำเนินการคิวรีขนาดใหญ่ที่มีพารามิเตอร์ในเพรดิเคตใน SQL Server ๒๐๐๕ Compact Edition
  • ๙๕๑๙๓๒ ข้อความแสดงข้อผิดพลาดเมื่อคุณสร้างการสมัครใช้งานใน SQL Server ๒๐๐๕ Compact Edition เป็นสิ่งพิมพ์ผสานบน SQL Server ๒๐๐๐: "ชื่อตารางไม่ถูกต้อง [หมายเลขบรรทัดโทเค็น (ถ้าทราบ) = 1, ออฟเซตของบรรทัดโทเค็น (ถ้าทราบ) = 22 ชื่อตาราง = <ชื่อ>] "
  • ๙๕๓๒๕๙ ข้อความแสดงข้อผิดพลาดเมื่อคุณเรียกใช้คำสั่ง SQL ที่ใช้ฟังก์ชัน Charindex ในฐานข้อมูลที่ใช้ตำแหน่งที่ตั้งของภาษาเช็กใน SQL Server ๒๐๐๕ Compact Edition: "ฟังก์ชันไม่รู้จักโดย SQL Server Compact Edition"
Service Pack นี้จะช่วยแก้ไขปัญหาต่อไปนี้ที่ได้รับการบันทึกถูกไม่ก่อนหน้านี้ไว้ในบทความฐานความรู้ของ Microsoft:SQL Server กระชับข้อมูล๓.๕ SP1
  • ในระหว่างการจำลองแบบผสานของข้อมูลจาก SQL Server ๒๐๐๕ไปยัง SQL Server แบบกระชับ๓.๕คำสั่ง Transact SQL ที่ไม่ถูกต้องอาจถูกสร้างขึ้น นอกจากนี้การเปลี่ยนแปลงข้อมูลจะไม่ถูกนำไปใช้กับ SQL Server แบบกระชับ ตัวอย่างเช่นปัญหานี้อาจเกิดขึ้นเมื่อคำสั่ง Transact SQL ที่ไม่ถูกต้องเช่นสิ่งต่อไปนี้จะถูกสร้างขึ้น:
    not null default n e w i d ( )
    คุณอาจคาดหวังคำสั่ง Transact SQL เช่นสิ่งต่อไปนี้ที่จะถูกสร้างขึ้น:
    not null default newid()
  • คุณพบประสิทธิภาพการทำงานของคิวรีที่ช้าลงใน SQL Server Compact ๓.๕เมื่อเปรียบเทียบกับ SQL Server ๒๐๐๕รุ่นกระชับ ปัญหานี้เกิดจากแผนแบบสอบถามที่แตกต่างกัน ถ้าคุณเรียกใช้โค้ดต่อไปนี้แผนการสอบถามที่ไม่ถูกต้องจะถูกสร้างขึ้นใน SQL Server Compact ๓.๕และมีการใช้การสแกนตารางแทนที่จะเป็นการสแกนดัชนีดังต่อไปนี้
    cmd.CommandText = @"select * from  Customers where Customers.Customer_ID = @v0";cmd.Parameters.Add("@v0", SqlDbType.NVarChar);rdr = cmd.ExecuteReader();
  • พารามิเตอร์ รรม จะได้รับการยอมรับโดยไม่คำนึงว่า Ts ที่เสร็จสมบูรณ์จะถูกเรียกว่า ตัวอย่างเช่นปัญหานี้เกิดขึ้นเมื่อมีการใช้งาน LINQ กับ SQL DataContext เช่นเดียวกับในโค้ดตัวอย่างต่อไปนี้กับ SQL Server Compact ๓.๕:
    using System;using System.Data.Linq;using System.Transactions;namespace bug{    class Program    {        static void Main(string[] args)        {            DataContext ctx = new DataContext("Test.sdf");            using (TransactionScope ts = new TransactionScope())            {                ctx.ExecuteCommand("INSERT INTO x (y) VALUES (2)");            }        }    }
  • เมื่อคุณใช้ SQL Server กระชับพร้อมกับกรอบงานเอนทิตี ADO.Net ค่าที่มีขนาดใหญ่กว่าไบต์ของ๘,๐๐๐จะไม่สามารถแทรกลงในตาราง SQL Server Compact ที่มีคอลัมน์วัตถุขนาดใหญ่แบบไบนารีได้
  • ถ้าดัชนีเก่ากว่าให้อัปเดตสถิติล้มเหลวเมื่อมีการเปิดการเชื่อมต่อกับ SQL Server Compact ๓.๕ในโหมดอ่านอย่างเดียว
  • คุณได้รับข้อความแสดงข้อผิดพลาดการละเมิดการเข้าถึงในกระบวนการ GetColumnRowSet สำหรับชุดผลลัพธ์ที่สามารถเลื่อนได้ นอกจากนี้กระบวนการOpenSharedMemoryไม่ได้ตั้งค่าวัตถุpErrorใหม่เมื่อการสร้างหน่วยความจำที่ใช้ร่วมกันล้มเหลวใน namespaceส่วนกลาง
  • การทิ้งวัตถุ คำสั่ง หลังจากกระบวนการ เชื่อมต่อ อาจโยนข้อความแสดงข้อผิดพลาดข้อยกเว้น ปัญหานี้อาจเกิดขึ้นเมื่อมีการเรียกใช้โค้ดต่อไปนี้:
    SqlCeConnection cn;SqlCeCommand cmd;... cn.Dispose();cmd.Dispose(); 
  • ข้อความแสดงข้อผิดพลาดการละเมิดการเข้าถึงจะเกิดขึ้นเมื่อคำสั่ง select ไม่ส่งกลับคอลัมน์ทั้งหมดที่เรียงลำดับตามพารามิเตอร์ที่ จัดกลุ่มตาม พารามิเตอร์และตาม ลำดับ ตามพารามิเตอร์ ตัวอย่างเช่นปัญหานี้อาจเกิดขึ้นกับคำสั่ง Select ต่อไปนี้:
    SELECT        [Company Name], [Contact Name]FROM            CustomersGROUP BY [Customer ID], [Company Name], [Contact Name]ORDER BY [Customer ID], [Company Name], [Contact Name]
  • การลบแบบเรียงซ้อนไม่ทำงานอย่างถูกต้องถ้ามีเพียงหนึ่งองค์ประกอบในตารางและมีการใช้เงื่อนไขและเงื่อนไขในส่วนคำสั่ง where การใช้ "ไม่ใช่" กับ "หรือ" ทำงานได้อย่างถูกต้อง ตัวอย่างเช่นคิวรีต่อไปนี้ไม่ทำงานอย่างถูกต้อง:
    Select from table where (a=x AND b=y)
  • ค่า null ในรายการที่เลือกอาจทำให้เกิดข้อผิดพลาดข้อยกเว้น Native ในกระบวนการ ExecuteReader เป็นระยะๆ ข้อยกเว้นไม่ได้ถูกจับโดย SqlCeException และคุณได้รับข้อความแสดงข้อผิดพลาดข้อยกเว้นท้องถิ่นต่อไปนี้:
    มีข้อยกเว้นท้องถิ่นเกิดขึ้นใน SqlMobileCrash เลือกจบการทำงานแล้วเริ่มโปรแกรมนี้ใหม่หรือเลือกรายละเอียดสำหรับข้อมูลเพิ่มเติม รหัสข้อยกเว้น: ที่อยู่ 0xc0000005Exception: 0x00d1aa68Reading: 0x0027f0000
  • พารามิเตอร์ชื่อตารางจะถือว่าเป็นตัวพิมพ์ใหญ่เมื่อมีการใช้คำสั่งตั้งค่า IDENTITY_INSERT ปัญหานี้เกิดขึ้นเนื่องจาก metadata ควรเป็นตัวพิมพ์เล็กเสมอ
  • แทรกลงในคอลัมน์ของชนิดลอยล้มเหลวถ้ามีการใช้วัตถุIDbCommand ตัวอย่างเช่นปัญหานี้เกิดขึ้นกับโค้ดต่อไปนี้:
    try            {                string ConnectionString = "Data Source='Northwind.sdf'";                IDbConnection conn = new SqlCeConnection(ConnectionString);                IDbCommand cmd = conn.CreateCommand();                cmd.CommandText = "insert into \"newtable\"(\"t1\")values(@p0)";                conn.Open();                IDbDataParameter p;                p = cmd.CreateParameter();                p.Value = 7.6M;                p.ParameterName = "@p0";                cmd.Parameters.Add(p);                IDbTransaction t = cmd.Connection.BeginTransaction();                cmd.Transaction = t;                cmd.Prepare();                cmd.ExecuteNonQuery();                p.Value = 10M;                cmd.ExecuteNonQuery(); // Exception is thrown here                t.Commit();            }            catch (Exception ex)            {             }
  • คำสั่ง SqlCeResultSet จะแสดงข้อความแสดงข้อผิดพลาด StackOverflowException และคำสั่ง SqlCeDataReader GetEnumerator แสดงข้อความแสดงข้อผิดพลาด NotSupportedException เมื่อมีการเรียกใช้โค้ดต่อไปนี้:
    SqlCeConnection conn = new SqlCeConnection(@"Data Source=Northwind.sdf");conn.Open();SqlCeCommand cmd = conn.CreateCommand();cmd.CommandText = "Select * from categories";SqlCeResultSet res = cmd.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable | ResultSetOptions.Sensitive);IEnumerator e= res.GetEnumerator(); // Exception is thrown here.conn.Close();
  • เมื่อการโทร RAPI จำลองสถานการณ์สมมติของระบบเว็บ (ASP.NET) SQL Server Compact อาจจะโยนข้อความแสดงข้อผิดพลาดข้อยกเว้นของการอ้างอิงที่เป็น null
SQL Server แบบกระชับ๓.๕
  • การผสาน initializations ไม่สามารถเรียกใช้คำสั่ง Alter table สำหรับข้อจำกัดดัชนีคีย์หลักได้ถ้ามีการวางแผนการบำรุงรักษาเพื่อสร้างดัชนีใหม่ การผสานการเตรียมใช้งานล้มเหลวและคุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
    ชื่อตารางไม่ถูกต้อง [หมายเลขบรรทัดโทเค็น (ถ้าทราบ) = 1, ออฟเซตของบรรทัดโทเค็น (ถ้าทราบ) = 21 ชื่อตาราง = ประเภท HRESULT 0x80040E14 (๒๖๑๐๐) คำสั่ง SQL ล้มเหลวในการดำเนินการ [คำสั่ง SQL = เปลี่ยนตาราง [dbo] ประเภท เพิ่มข้อจำกัด [PK_Categories] คีย์หลักแบบคลัสเตอร์ ([CategoryID]) ที่มี PAD_INDEX, FILLFACTOR = ๘๕] HRESULT 0x80040E14 (๒๘๕๖๐)
  • ถ้าพีซีที่ใช้ Windows Mobile ๒๐๐๓ทำงานหลายเธรดและกระบวนการในการเข้าถึงฐานข้อมูลเดียวกันแอปพลิเคชันอาจจบการทำงานด้วยข้อความแสดงข้อผิดพลาดแบบสุ่ม
  • ใน Microsoft Visual Studio ๒๐๐๘การเชื่อมต่อฐานข้อมูลไม่สามารถถูกสร้างไปยังฐานข้อมูล SQL Server แบบกระชับได้ ปัญหานี้เกิดขึ้นถ้าฐานข้อมูลมีขนาดใหญ่กว่า๒๕๖เมกะไบต์ (MB)
  • ไบนารีพื้นเมืองของ SQL Server แบบกระชับต่อไปนี้ได้รับการเซ็นชื่อโดย Microsoft แล้วไฟล์ .dll ส่วนกลาง
    • Sqlcese35.dll
    • Sqlcecompact35.dll
    • Sqlceqp35.dll
    • Sqlceoledb35.dll
    • Sqlceme35.dll
    • Sqlceca35.dll
    • Sqlcesa35.dll
    • Sqlcerp35.dll
    ไฟล์ dll เฉพาะภาษา
    • Sqlceer35br.dll
    • Sqlceer35cn.dll
    • Sqlceer35cs.dll
    • Sqlceer35da.dll
    • Sqlceer35de.dll
    • Sqlceer35el.dll
    • Sqlceer35en.dll
    • Sqlceer35es.dll
    • Sqlceer35fi.dll
    • Sqlceer35fr.dll
    • Sqlceer35it.dll
    • Sqlceer35ja.dll
    • Sqlceer35ko.dll
    • Sqlceer35nl.dll
    • Sqlceer35no.dll
    • Sqlceer35pl.dll
    • Sqlceer35ps.dll
    • Sqlceer35pt.dll
    • Sqlceer35ru.dll
    • Sqlceer35sv.dll
    • Sqlceer35tw.dll
  • ข้อความแสดงข้อผิดพลาดข้อยกเว้นของการละเมิดการเข้าถึงจะเกิดขึ้นเมื่อแบบสอบถามมีหลายหรือเพรดิเคตเช่นในตัวอย่างรหัสต่อไปนี้:
    create table t1 (c1 int);create index t1_idx on t1(c1);insert into t1 values (1);insert into t1 values (2);insert into t1 values (3);create table t2 (col1 int, col2 int);insert into t2 values (2,3);insert into t2 values (1,3);insert into t2 values (3,3);select * from t1,t2 where c1 = col1 or c1 = col2 or c1 = 1;
  • คุณเรียกใช้คอมพิวเตอร์ที่ใช้ Windows XP ที่ใช้ระบบไฟล์ FAT32 ถ้ามีการเข้าถึงฐานข้อมูล SQL Server กระชับในเวลาเดียวกันโดยบริการของ Windows และแอปพลิเคชันหยุดทำงาน
  • วิธีการ SqlCeEngine Compact จะตั้งค่า Autoinc_Next ไม่ถูกต้องเมื่อค่าที่ปันส่วนสูงสุดในช่วงที่กำหนดจะถูกลบ ถ้าค่าที่ได้รับการปันส่วนสูงสุดถูกลบค่า Autoinc_Next จะถูกตั้งค่าเป็นค่า1มากกว่าค่าสูงสุดในปัจจุบันที่ใช้โดยบทความที่ระบุภายในช่วง
  • ผลลัพธ์ที่ไม่คาดคิดอาจเกิดขึ้นเมื่อระเบียนที่มีอักขระพิเศษสามารถเข้าถึงได้ในคำสั่งTableDirectIndexSearchและในคำสั่งselect
  • ตัวออกแบบแบบสอบถาม Microsoft Visual Studio ๒๐๐๕เพิ่มวงเล็บเหลี่ยมสำหรับฟังก์ชัน date
  • ในระหว่างการจำลองแบบผสานของข้อมูลระหว่าง SQL Server และ SQL Server แบบกระชับคุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
    ตัวจัดการล็อกมีการเรียกใช้เนื้อที่ว่างสำหรับการล็อกเพิ่มเติม ซึ่งอาจมีสาเหตุมาจากทรานแซคชันขนาดใหญ่โดยการดำเนินการเรียงลำดับขนาดใหญ่หรือตามการดำเนินการที่ SQL Server Compact Edition สร้างตารางชั่วคราว คุณไม่สามารถเพิ่มพื้นที่ล็อกได้
  • ข้อความแสดงข้อผิดพลาด FormatException จะถูก thrown เมื่อสตริงที่ถูกรวมกับพารามิเตอร์ของสตริงที่ชนิด ตัวอย่างเช่นปัญหานี้เกิดขึ้นเมื่อคุณเรียกใช้โค้ดต่อไปนี้:
    SqlCeConnection con = new SqlCeConnection("Test.sdf"); SqlCeCommand cmd = con.CreateCommand();cmd.CommandText = "select firstname + ' ' + lastname from person";bool i = cmd.ExecuteReader().Read();cmd.CommandText = "select firstname + @p0 + lastname from person";cmd.Parameters.Add("@p0", " ");i = cmd.ExecuteReader().Read();
  • ไม่ได้เปิดใช้งานชื่อพารามิเตอร์ที่ซ้ำกัน
  • ถ้า "Delete", "อ่าน", "ReadPrevious" ลำดับเกิดขึ้นเมื่อคุณใช้คำสั่ง select ที่มีส่วนคำสั่ง Order by ข้อความแสดงข้อผิดพลาดข้อยกเว้นจะเกิดขึ้น
  • เลือกคำสั่งที่แตกต่างกัน * ไม่ได้รับอนุญาตเมื่อใช้ส่วนคำสั่งซื้อตาม
  • เมื่อระบุชื่อข้อจำกัดคอลัมน์จะไม่สามารถเพิ่มลงในตารางที่มีการเติมข้อมูลที่มีอยู่ซึ่งมีค่า NULL และค่าเริ่มต้น ตัวอย่างเช่นปัญหานี้เกิดขึ้นเมื่อคุณเรียกใช้โค้ดต่อไปนี้:
    ALTER TABLE Categories ADD COLUMN bitcol1 bit NOT NULL CONSTRAINT MyConstraint DEFAULT (1);
  • เมื่อคุณเรียกใช้คิวรีต่อไปนี้จะมีการเลือกดัชนีที่ไม่ถูกต้องดังนี้
    SELECT store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, max(last_reorder_date) last_reorder_date, reorder_point, last_order_qty, sys_line_flag, stock_status, max(last_ship_date) last_ship_date, max(last_scan_date) last_scan_date, max(back_order_status) back_order_status, max(unit_last_scan_date) unit_last_scan_date, max(revision_target) revision_target FROM tbl_master_chart WHERE store_uid = 22359 and stock_price = '0399' and stock_class = 'EGB' and stock_number = '4759' GROUP BY store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, reorder_point, last_order_qty, sys_line_flag, stock_status ORDER BY sys_line_flag DESC, ticket_number
  • ถ้าคุณใช้กระบวนการ ReadAbsolute (จำนวนเต็มลบ) เพื่อเรียกคืนค่า getString ของแถวคุณจะได้รับข้อความแสดงข้อผิดพลาดข้อยกเว้นต่อไปนี้:
    ไม่มีข้อมูลอยู่สำหรับแถว/คอลัมน์