رفع خطای Cannot execute as the database principal در SQL Server

mohsen1 ماه قبل
ارسال شده در
mohsen

اگر در زمان انجام عملیات بر روی دیتابیس (مانند مشاهده دیاگرام جداول) در SQL Server با خطای زیر مواجه شدید:

      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.
    

می توانید با اجرای دستور زیر مالک دیتابیس را به حساب کاربری که در حال حاضر با آن قصد انجام عملیات را دارید تغییر دهید. به جای sa نام کاربر مورد نظر را قرار دهید:

      use [YourDatabaseName] EXEC sp_changedbowner 'sa'

    

یا می توانید از طریق SSMS روی دیتابیس راست کلید کنید. در Properties دیستابیس بخش Files را باز کنید و با کلیک بر روی دکمه ... روبروی گزینه Owner، مالک جدید دیتابیس را تعیین کنید.

همچنین برای مشاهده مالک دیتابیس ها می توانید از کوئری زیر استفاده کنید:

      sp_helpdb
go
    

یا از طریق اجرای دستور زیر:

      sELECT NAME AS Database_Name, owner_sid, SUSER_SNAME(owner_sid) AS OwnerName
FROM sys.databases

    
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!