264

次のエラーが表示されます

Cannot execute as the database principal because the principal "dbo" 
does not exist, this type of principal cannot be impersonated,
or you do not have permission.

について読みましALTER AUTHORIZATIONたが、これがどのデータベースで発生しているのかわかりません。このエラーは非常に頻繁に吐き出され、毎日約 1 GB ずつエラー ログが大きくなります。

4

12 に答える 12

37
USE [<dbname>]
GO
sp_changedbowner '<user>' -- you can use 'sa' as a quick fix in databases with SQL authentication

KB913423 - SQL Server 2005 でデータベースを復元した後、EXECUTE AS 句を含むステートメントまたはモジュールを実行できない

于 2014-06-26T12:14:28.333 に答える
13

これは、データベースが別の SQL サーバーまたはインスタンスからの復元である場合にも発生する可能性があります。その場合、データベースのセキュリティ プリンシパル 'dbo' は、データベースが復元された SQL サーバーのセキュリティ プリンシパルと同じではありません。どうやってこれを知っているのか聞かないで...

于 2016-08-26T09:25:06.470 に答える
0

メッセージにあるように、権限を所有者としてユーザーに設定する必要があります。したがって、次を使用できます。

ALTER AUTHORIZATION 
ON DATABASE::[YourDBName]
TO [UserLogin];

役立つことを願っています!よろしければコメントを残してください。

于 2020-04-20T07:22:42.033 に答える