「Invoke-Sqlcmd」を使用してパブリケーションを作成(sp_addpublication)する場合、マネージドIDでAzure SQL Database(Managed Instance)に接続する方法を採用すると、実行時に以下のエラーとなります。
Invoke-Sqlcmd : ‘(マネージドIDのクライアントID)@(テナントID)’ is not a valid login or you do not have permission.
これは、「sp_addpublication」を実行すると内部処理として実行ユーザーのSIDの確認が行われるものの、マネージドIDの場合SIDが取得されずストアドプロシージャを実行する権限が認可されないために起こるエラーとなります。
本エラーの回避策としては、代わりにSQL認証やAzure ADユーザーでの認証を利用する必要があります。
【参考】