2009-11-06 2 views
0

SMO 어셈블리를 통해 SQL 2005 데이터베이스에 새 역할을 추가하려고합니다. Roles.Add 메서드는 새 역할을 추가하지 않는 것 같습니다. 내 사용자 계정을 securityadmin 및 sysadmin으로 설정했습니다. 가 [가정 D가 데이터베이스 오브젝트에 설정되어있는] 먼저 지정 후 역할을 만들 필요가SMO를 통한 SQL Server 데이터베이스 역할

 Dim dr As New DatabaseRole 
     dr.Name = r 
     dr.Parent = d 
     dr.Owner = d.Name 
     d.Roles.Add(dr) 

     'Error here "<role name = r> does not exist in the current database."' 
     dr.AddMember("dbo") 
+0

,하지만 당신은 DMO없이 역할을 만들 수 있습니다 :

은 당신의 코드를 변경

. SSMS를 사용하면 역할을 추가 한 다음 역할을위한 SQL 스크립트를 생성 할 수 있습니다. DMO 대신 코드에서 스크립트를 실행할 수 있습니다. – Andomar

답변

1

: 아래

내가 새로운 역할을 설정하는 데 사용하려고 코드 추출물 데이터베이스에. 정말 답이 아니다

Dim dr As New DatabaseRole   
dr.Name = r   
dr.Parent = d   
dr.Owner = d.Name 
dr.Create();  
d.Roles.Add(dr)   
dr.AddMember("dbo") 
관련 문제