2009-12-15 82 views
2

這似乎是一個愚蠢的問題,但它讓我難住。SQL Server Express雞蛋或蛋的問題登錄

當設置在SQL Server Management Studio Express的一個新的數據庫(對於SQL Server 2005 Express的DB),你可以選擇默認的所有者。

當您創建一個新的登錄,你選擇一個默認的數據庫。

數據庫的擁有者是否也會成爲'登錄'?還是我混淆了這兩個概念?如果我不是,這似乎有點雞雞蛋問題......如果我必須先創建登錄,如何將默認所有者分配給數據庫。但是登錄需要一個默認數據庫。

回答

4

Overy db owner是一個登錄名,但不是每個登錄名都是數據庫所有者。

有一些預先部署的登錄名,最值得注意的是sysadmin成員,其中一個是安裝了SQL Express實例的用戶,它在安裝期間提供。該登錄可以通過創建第一個擁有第一個數據庫的登錄來啓動該過程。

也有許多與起初其由「SA」擁有(主,tempdb中,模型數據庫,msdb mssqlsystemresource)部署的數據庫,另一內置登錄。

+0

所以,也許我需要問一個不同的問題。我如何創建一個新的數據庫所有者? – 2009-12-15 02:26:32

+0

'db owner'本身不是一個對象,就像'login'一樣。數據庫所有者是後事實:是擁有特定數據庫的登錄名。要創建登錄名,請使用'windows'中的'create login [domain \ user]。要更改數據庫的所有者,請使用'alter database on database :: [dbname] to [domain \ user]'。任何由登錄創建的數據庫都會自動屬於該登錄名,所以他將成爲該特定數據庫的數據庫所有者。 – 2009-12-15 03:08:01

+0

在SQL Management Studio @Remus中,當您創建一個LOGIN時,它想要將該登錄與一個默認DB相關聯。當你創建一個數據庫時,它想要關聯一個所有者。這就是我困惑的地方。要創建登錄,我需要數據庫設置。要創建數據庫,我需要登錄設置。 – 2009-12-15 04:39:21