SMO(Windows認証)を使用してSQL Serverに接続し、データベースバックアップを作成するスケジュールされたタスク(Windowsタスクスケジューラ)があります。これまでのところ、このタスクはAdministratorアカウントで実行されていたため、代わりにSYSTEMアカウントを使用するように変更したいと考えていました。
私はスケジュールされたタスクを変更しましたが、驚いたことに、それはすぐに機能しました。
理解したいなぜこれが事実です。システムはWindows Server 2012 R2で、データベースはSQL Server 2012(SP1)Express Editionです。これは、1つのSQL Authユーザーが追加された標準インストールです。
SSMSでは、これらはログインとそれに関連するサーバーの役割です。
データベース自体には、次のユーザーとその役割があります。
ユーザーNT AUTHORITY\SYSTEMの「有効なアクセス許可」を表示すると、次の出力が得られます。
NT AUTHORITY\SYSTEMにデータベースをバックアップする権限があるのはなぜですか?よかったですが、本当に理解したいと思いますなぜ ...
データベースをバックアップするための最低限の権限は、サーバーレベルではPUBLIC
、データベースレベルではDB_BACKUPOPERATOR
です。
SQL Server 2005では、Microsoft 推奨 sysadminロールからNT AUTHORITY\SYSTEM
を削除します。
NT AUTHORITY\SYSTEMアカウントには、SQL Serverログインも付与されています。 NT AUTHORITY\SYSTEMアカウントは、SYSADMIN固定サーバーロールでプロビジョニングされます。このアカウントを削除したり、SYSADMIN固定サーバーロールから削除したりしないでください。 NT AUTHORITY\SYSTEMアカウントは、Microsoft UpdateおよびMicrosoft SMS=によって使用され、SQL Server 2005インストールにサービスパックと修正プログラムを適用します。NTAUTHORITY\SYSTEMアカウントは、SQLライターによっても使用されます。サービス。
これは2012年には当てはまりません。 私は2012 Expressの自分のインスタンスを再確認しました:NT AUTHORITY\SYSTEM
はsysadminではありません。ただし、SQL Service VSS Writer
isはNT AUTHORITY\SYSTEM
として実行され、isシステム管理者。
NT AUTHORITY\SYSTEM
がデータベースのバックアップを許可されているのは、このためバックアップを行うリンクを見つけることができませんが、それは事実です。