"การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นอินสแตนซ์ของวัตถุ" ข้อผิดพลาดในการสร้างไซต์คอลเลกชัน
ปัญหา: ในการสร้างไซต์คอลเลกชันใหม่ใน SharePoint 2016 ฉันได้รับข้อความแสดงข้อผิดพลาด “การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นอินสแตนซ์ของวัตถุ”!
ในการตรวจสอบบันทึก ULS พบข้อผิดพลาดโดยละเอียดดังนี้:
System.NullReferenceException: การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นอินสแตนซ์ของวัตถุ ที่ Microsoft.SharePoint.Administration.SPContentDatabaseCollection.FindBestContentDatabaseForSiteCreation (IEnumerable`1 contentDatabases, Guid siteIdToAvoid, Guid webIdToAvoid, ฐานข้อมูล SPContentDatabase, SPContentDatabase DatabaseTheSiteWillBeDeletedFrom) ที่ Microsoft.SharePoint.Administration.SPContentDatabaseCollection.FindBestContentDatabaseForSiteCreation( SPSiteCreationParameters ไซต์CreationParameters, Guid ไซต์IdToAvoid, Guid webIdToAvoid, ฐานข้อมูล SPContentDatabase , ฐานข้อมูล SPContentDatabaseTheSiteWillBeDeletedFrom)
สาเหตุที่แท้จริง:
นี่เป็นเพราะฐานข้อมูลเนื้อหาที่ใช้งานไม่ได้ซึ่งเกี่ยวข้องกับเว็บแอปพลิเคชันนั้น ๆ
วิธีแก้ปัญหา:
ลบการเชื่อมโยงฐานข้อมูลเนื้อหาที่ไม่ถูกต้องโดยทำตามขั้นตอนด้านล่าง
ขั้นตอนที่ 1: รับ GUID ของแอปพลิเคชันเว็บ
ใช้สคริปต์ PowerShell ด้านล่างเพื่อรับ ID ของเว็บแอปพลิเคชันที่ต้องการ
(Get-SPWebApplication "https://intranet.crescent.com/").ID
ขั้นตอนที่ 2: ค้นหาฐานข้อมูล SharePoint Config ด้วย GUID ของแอปพลิเคชันเว็บ:
เข้าสู่ระบบ SQL Server ของคุณ เปิด SSMS เรียกใช้แบบสอบถามแบบใช้เลือกข้อมูลนี้กับฐานข้อมูลการกำหนดค่าของฟาร์ม
SELECT ID, Name, CAST (properties as xml) AS Result
FROM [Objects]
WHERE ID = '0da122ac-8d9d-4bc1-aa1f-93df85bced3c'คลิกที่ค่าคอลัมน์ "ผลลัพธ์" และค้นหา "m_Databases" และค้นหา GUID ฐานข้อมูลที่มีค่า "null"
ขั้นตอนที่ 3: ลบลิงก์ฐานข้อมูลที่เสียหาย:
ตอนนี้ ลบลิงก์ฐานข้อมูลที่ใช้งานไม่ได้โดยใช้ PowerShell
$WebApp = Get-SPWebApplication "https://intranet.crescent.com/"
$WebApp.ContentDatabases.delete("26449389-6c7e-4c0b-8a89-3ee35c991b35")
สิ่งนี้จะให้: ข้อยกเว้นที่เรียก "ลบ" ด้วยอาร์กิวเมนต์ "1": "การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นอินสแตนซ์ของวัตถุ" แต่อย่ากังวล
ข้อผิดพลาดนี้ยังเกิดขึ้นเมื่อเซิร์ฟเวอร์ฐานข้อมูลของคุณมีพื้นที่ดิสก์ไม่เพียงพอ!

