I want to allow certain user to create/modify objects on a database(tables, views, sp's, functions, schemas etc) and don't want to give db_owner.
I thought I could do it with the db_ddladmin role, but somehow that doesn't wort as expected. The error messages i get is that are like this:
Your are not loggend on as the database owner or system administrator.
You might not beable to sache changes to tables that you do not own.
Table dbo.MyTable is set to read only,
user doesn't have enough right on this table.
etc
Any idea how i can achieve my goal?
2 Answers 2
EDIT:
I re-read your question and I may have got it incorrect before. Looks like you are running the scripts using SSMS instead of using T-SQL scripts. I verified that it works when using T-SQL scripts and doesn't work when using SSMS GUI. To get around this issue, you may want to use T-SQL scripts.
This is a known issue and looks like this is fixed in DENALI CTP3 and I can confirm that.
Just verified the (correct) behavior also works in SQL Server 2008 R2. I don't have a SQL Server 2008 instance to verify unfortunately.
There's a workarround described in the Link of Sankar.
That works both with SQLSever 2008 and 2008 R2.
GRANT view definition on schema : "schemaname" to "username"
-
If Sankar's answer was good, his should be marked as such and yours as a comment ;-).Marian– Marian2011年08月02日 07:12:35 +00:00Commented Aug 2, 2011 at 7:12
-
Hmm no. It helped me to find the solution, but his answer is not correct to solve my problem. So the downvote on my post is in my opinion wrong ;-)gsharp– gsharp2011年08月02日 07:28:11 +00:00Commented Aug 2, 2011 at 7:28
Explore related questions
See similar questions with these tags.