단순히 충분하다 :
PS SQLSERVER:\SQL\MyServer\MyInstance\Databases\MyDatabase> $db = get-item .
PS SQLSERVER:\SQL\MyServer\MyInstance\Databases\MyDatabase> $db.SetOwner('sa')
PS SQLSERVER:\SQL\MyServer\MyInstance\Databases\MyDatabase> $db.alter()
#These two steps aren't necessary, but if you want to see the change
PS SQLSERVER:\SQL\MyServer\MyInstance\Databases\MyDatabase> $db.Refresh()
PS SQLSERVER:\SQL\MyServer\MyInstance\Databases\MyDatabase> $db.Owner
지정 권한은 권한을 할당하는 여러 방법이 조금 까다 물론이다. 할당 할 권한 (데이터베이스, 개체, 기본 제공 역할, 서버 수준, 스키마 등)을 설명하면 도움이됩니다. 데이터베이스 사용자를 생성하고 개체 권한을 할당하는 방법은 다음과 같습니다.
$user = new-object ('Microsoft.SqlServer.Management.Smo.User') 'MyDatabase', 'MyUser'
$user.Login = 'MyUser'
$user.DefaultSchema = 'dbo'
$user.Create()
PS SQLSERVER:\SQL\MyServer\MyInstance\Databases\MyDatabase\tables> $tbl = get-childitem | where {$_.name -eq 'mytable'}
$tbl.Grant('SELECT','myUser')
이것은 매우 유용합니다. 팜 계정에는 콘텐츠 데이터베이스에 대한 DBO 권한이 필요합니다. 나는 아마도 내가 당신 샘플에서해야 할 일을 해결할 수 있습니다. – Charlie