:
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