Sql-Server
已刪除數據庫所有者之一,並在 sql server 中更改了相應的屬性
一個名為 user1 的使用者於 2013 年 12 月在 SQL 2008 上創建了一個數據庫。今天,我們將從伺服器中刪除該使用者(/所有者)。那麼數據庫的所有者屬性將顯示什麼?
您必須先更改該使用者擁有的每個數據庫的所有權,然後才能刪除該使用者。
使用 SSMS 更改所有權,或者您可以使用 T-SQL
use database_name EXEC sp_changedbowner 'newowner'
以下查詢允許您查詢特定登錄名擁有的所有數據庫。
use master select database_id, name, suser_sname(owner_sid) from sys.databases where suser_sname(owner_sid) = 'logintoremove'
然後,您可以使用此資訊批量更新所有權。
use master DECLARE @name VARCHAR (50) -- database name DECLARE @oldOwner VARCHAR (50) DECLARE @newOwner VARCHAR (50) SET @oldOwner = 'oldownerlogin' SET @newOwner = 'newownerlogin' BEGIN DECLARE db_cursor CURSOR FOR select name from sys.databases where suser_sname(owner_sid) = @oldOwner END OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN BEGIN EXEC( 'USE '+@name +'; EXEC sp_changedbowner ''' +@newOwner+ ''' ' ) END FETCH NEXT FROM db_cursor INTO @name END CLOSE db_cursor DEALLOCATE db_cursor