I have a similar problem: there's a service principal that was created by Azure SQL but not deleted when the database and subscription were deleted. Now, I can't delete the Azure AD tenant because of it.
> Get-AzureADServicePrincipal
ObjectId AppId DisplayName
-------- ----- -----------
[bunch of MS service principals]
xxx xxx database-name-here
[handful more MS service principals]
Attempting to delete the service principal associated with the database yields the following error:
Remove-AzureADServicePrincipal -ObjectId xxx
Remove-AzureADServicePrincipal : Error occurred while executing RemoveServicePrincipal
Code: Authorization_RequestDenied
Message: Insufficient privileges to complete the operation.
RequestId: eddba657-2651-4dfa-ab53-16cab3bdc440
DateTimeStamp: Mon, 21 Dec 2020 21:14:49 GMT
HttpStatusCode: Forbidden
HttpStatusDescription: Forbidden
HttpResponseStatus: Completed
At line:1 char:1
+ Remove-AzureADServicePrincipal -ObjectId xxx ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Remove-AzureADServicePrincipal], ApiException
+ FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.RemoveServicePrincipal