私は次のPowerShellスクリプトを使用して、データベース上で「このユーザーが所有するスキーマ」に変更しようとしている経由:変更MSSQLスキーマ所有PowerShellの
$dbname = "mydb"
$sql_server = "mysqlserver"
$username = "myuser"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | Out-Null
$server = New-Object ("Microsoft.SqlServer.Management.Smo.Server")($sql_server)
$db = $server.Databases["$dbname"]
$login = $server.Logins[$username]
$roleName = "db_owner"
if(-not $db.Users.Contains($login.Name)){
$user = New-Object('Microsoft.SqlServer.Management.Smo.User') $db, $login.Name
$user.Login = $login.Name
$user.create();
}
$user = $db.Users[$login.Name]
$role = $db.Roles[$roleName]
$role.AddMember($user.Name);
$schema = $db.Schemas["dbo"]
$schema.Owner = "myuser"
$schema.Alter()
私はステップの$ schema.Alterを取得( )次のエラーが表示されます。
Alterメソッドがより多くのパラメータを探しているような印象を受けますが、どのパラメータが必要なのかわかりません。私が間違ってやっていることは誰でも何か提案がありますか?
おかげで私の経験で ブラッド
私はこれを大まかなガイドとして使用しています:https://docs.microsoft.com/en-us/sql/relational-databases/server-management-objects-smo/tasks/creating-altering-and-removing -schemas私は何が間違っているのか分かりませんか?私はこのようなことをしているようです。 – Brad