web-dev-qa-db-ja.com

NT AUTHORITY \ SYSTEMがSQL Serverデータベースのバックアップを作成できるのはなぜですか?

SMO(Windows認証)を使用してSQL Serverに接続し、データベースバックアップを作成するスケジュールされたタスク(Windowsタスクスケジューラ)があります。これまでのところ、このタスクはAdministratorアカウントで実行されていたため、代わりにSYSTEMアカウントを使用するように変更したいと考えていました。

私はスケジュールされたタスクを変更しましたが、驚いたことに、それはすぐに機能しました。

理解したいなぜこれが事実です。システムはWindows Server 2012 R2で、データベースはSQL Server 2012(SP1)Express Editionです。これは、1つのSQL Authユーザーが追加された標準インストールです。

SSMSでは、これらはログインとそれに関連するサーバーの役割です。

  • MS_PolicyEventProcessingLogin ## (無効)

  • MS_PolicyTsqlExecutionLogin ## (無効)

  • MyServer\Administrator(パブリック、sysadmin)
  • MySqlAuthUser(パブリック)
  • BUILTIN\Users(パブリック)
  • NT AUTHORITY\SYSTEM(パブリック)
  • NT SERVICE\MSSQLSERVER(パブリック、sysadmin)
  • NT SERVICE\SQLWriter(パブリック、sysadmin)
  • NT SERVICE\Winmgmt(パブリック、sysadmin)
  • sa(パブリック、sysadmin)

データベース自体には、次のユーザーとその役割があります。

  • MySqlAuthUser(ログインMySqlAuthUser)(db_owner)
  • dbo(ログインsa)(db_owner)
  • ゲスト(無効)
  • INFORMATION_SCHEMA (無効)
  • sys (無効)

ユーザーNT AUTHORITY\SYSTEMの「有効なアクセス許可」を表示すると、次の出力が得られます。

  • 可用性グループを変更
  • CONNECT SQL
  • 可用性グループの作成
  • データベースを表示
  • サーバーの状態を表示

NT AUTHORITY\SYSTEMにデータベースをバックアップする権限があるのはなぜですか?よかったですが、本当に理解したいと思いますなぜ ...

9
Heinzi

データベースをバックアップするための最低限の権限は、サーバーレベルでは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 WriterisNT AUTHORITY\SYSTEMとして実行され、isシステム管理者。

NT AUTHORITY\SYSTEMがデータベースのバックアップを許可されているのは、このためバックアップを行うリンクを見つけることができませんが、それは事実です。

11