2010-04-01 153 views
1

我在SQL server 2005中創建了一個名爲「tuser」的用戶,創建了數據庫權限。 並賦予master和msdb數據庫的「db_owner」數據庫角色爲「tuser」。SQL server 2005 - 用戶權利

從這個用戶登錄時,當我運行腳本創建數據庫,然後它會創建新的數據庫。 但「tuser」不能訪問由腳本生成的新創建的數據庫。

任何人都有什麼想法嗎?我想編寫腳本,使得「tuser」在創建後可以訪問新創建的數據庫,並且可以添加新創建的數據庫的用戶權限。

我想在創建新數據庫的同一腳本中將「db_owner」數據庫角色賦予新創建的數據庫上的「tuser」。腳本在「tuser」下運行。

回答

0

感謝您的意見。

我已經授予訪問tuser數據庫從創建新數據庫。 現在問題得到解決。

非常感謝。

2

格蘭特securityadmin服務器角色securityadmin固定 服務器角色的[tuser]

成員管理登錄名和他們的 性能。他們可以授予,拒絕和 REVOKE服務器級權限。他們 也可以授予,拒絕和REVOKE 數據庫級別的權限。 此外,他們可以重置用於SQL Server登錄的密碼 。

+0

我已經給了這個角色。 – Paresh 2010-04-01 10:29:24

+0

我想在創建新數據庫的同一腳本中將「db_owner」數據庫角色賦予新創建的數據庫上的「tuser」。腳本在「tuser」下運行。 – Paresh 2010-04-01 10:34:30

+0

在你的腳本上創建DB之後:'USE [yourdb] GO CREATE USER [tuser] FOR LOGIN [tuser] GO EXEC sp_addrolemember N'db_owner',N'tuser'GO' – Darnell 2010-04-01 11:23:02

1

CREATE DATABASE

每個數據庫都有在 數據庫可以 執行專項活動的所有者。所有者是 創建數據庫的用戶。數據庫 所有者可以通過使用 sp_changedbowner(Transact-SQL)進行更改。

所以tuser應該擁有DB。

但是,您可以設置爲TUSER其作爲模板,每分貝創建

BTW模型數據庫的db_owner,爲什麼還要讓TUSER主和msdb的主人?

+0

我已經授予'db_Owner'數據庫角色tuser到Model db的權限,即使它不起作用。 – Paresh 2010-04-01 11:08:54

+0

它將與db_owner一起使用。這是db_owner的要點。你會得到什麼錯誤? – gbn 2010-04-01 11:54:08

1

如果tuser無法訪問新數據庫,則表示不是所有者。數據庫所有者不能被拒絕訪問他/她自己的數據庫。

  • CREATE DATABASE語句是怎樣的?你有任何AUTHORIZATION子句可以改變新數據庫的數據庫所有權嗎?
  • 誰是新數據庫的實際所有者?檢查SELECT name, SUSER_SNAME(owner_sid) FROM sys.databases;