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.


Dariusz Brejnak

Od prawie trzydziestu lat jest pasjonatem informatyki, a zwłaszcza dziedzin dotyczących baz danych, hurtowni danych oraz ogólnie rozumianej tematyki BI. Jego druga pasja to fotografia http://dariuszbrejnak.pl