2

私は SMO で遊んでいて、それを使用してデータベースの所有者を に変更しようとしましたsa。コードは

# To simplify our discussing, let's say we have a function Get-SMOServer
$s = Get-SMOServer -Instance myserver\myinstance
$s.databases | ?{$_.owner -ne "sa"} | %{$_.setowner("sa", $true)}

この時点で、SSMS からデータベースの所有者を確認すると、所有者は既に変更されています。ただし、からチェックすると$s.databases、次のようなことをするまで、古いデータがまだ取得されています。

$s.databases | %{$_.refresh()}

次に、から正しい結果を得ることができます$s.databases。SMO オブジェクトを調べたところ、それらの多くにrefresh()機能があることがわかりました。私の質問は、refresh()オブジェクトを変更するたびに呼び出す必要がありますか? メンバーを持つすべてのオブジェクト タイプを見つける方法はrefresh()?

ありがとう

4

1 に答える 1