Często może się zdarzyć, że chcemy zmienić właściciela bazy danych w SQL Server. Należy pamiętać, że gdy tworzymy nową bazę danych lub odtwarzamy z kopii bazę to z automatu właścicielem bazy staje się login osoby, która wykonuje tę czynność.
Najpierw jeśli chcemy w ogóle zobaczyć na jakim użytkowniku jest zapisany właściciel bazy możemy wykonać następujące zapytanie:
SELECT [name]
, SUSER_SNAME(owner_sid)
FROM sys.databases
Mamy kilka sposobów zmiany właściciela:
Pierwszy najbardziej rekomendowany (aczkolwiek nie zaleca się stosowanie wbudowanego konta sa. Zamiast tego należy użyć innego konta o uprawnieniach sysadmina.:
ALTER AUTHORIZATION ON DATABASE::MyDatabase TO sa;
Drugi sposób już trochę przestarzały (użyta funkcja zostanie usunięta w przyszłej wersji programu Microsoft SQL Server)
USE MyDatabase
GO
EXEC sp_changedbowner 'sa';
I trzeci sposób to z poziomu SSMS w oknie „Object Explorer” należy wybrać bazę do zmiany, kliknąć p.p.m. i wybrać właściwości(Properties). Tam na stronie „Files” w prawym oknie można dokonać zmiany właściciela bazy danych.