엄선 된 답변과 다른 것들은 모두 좋습니다. 더 순수한 설명을 원합니다. (유효한) 데이터베이스 소유자가없는 것과 동일한 솔루션이 제공됩니다.
dbo
오류로 언급 된 데이터베이스 소유자 계정 은 항상 데이터베이스로 작성됩니다. 존재하지 않는 것이 이상해 보이지만 두 가지 선택 (또는 하나를 선택하지만 간단하게 유지)으로 확인할 수 있습니다.
SELECT [name],[sid]
FROM [DB_NAME].[sys].[database_principals]
WHERE [name] = 'dbo'
dbo
DB_NAME 데이터베이스에서 사용자의 SID를 보여줍니다.
SELECT [name],[sid]
FROM [sys].[syslogins]
이 SQL Server 인스턴스에 대한 모든 로그인 및 SID를 표시합니다. db_name 접두어를 쓰지 않았습니다. 모든 데이터베이스가 해당 뷰에서 동일한 정보를 가지고 있기 때문입니다.
따라서 위의 오류가 발생 하면 하면 데이터베이스 dbo 사용자에게 지정된 SID 로그인 .
위에서 설명한 것처럼 일반적으로 다른 컴퓨터에서 데이터베이스를 복원 할 때 발생합니다 (데이터베이스 및 dbo 사용자가 다른 로그인으로 작성 됨). 소유권을 기존 로그인으로 변경하여 문제를 해결할 수 있습니다.