私はこのスクリプトを持っています:
BACKUP DATABASE timeclockplus TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Backup\backup.bak'
どのユーザー名がそれを実行しているかを知るにはどうすればよいですか? 私が尋ねる理由は、現在のユーザー名に追加の特権を付与して、そのバックアップフォルダーを書き込む代わりに、別のフォルダーに書き込むことができるようにするためです
私はこのスクリプトを持っています:
BACKUP DATABASE timeclockplus TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Backup\backup.bak'
どのユーザー名がそれを実行しているかを知るにはどうすればよいですか? 私が尋ねる理由は、現在のユーザー名に追加の特権を付与して、そのバックアップフォルダーを書き込む代わりに、別のフォルダーに書き込むことができるようにするためです
をご覧くださいSUSER_SNAME()。
(そのページは少し誤解を招きます。パラメーターを渡さないと、現在のユーザーが返されます。認証モードに応じて、SQL ログオンまたはドメイン\ユーザーのいずれかです)
DB エンジン内のsa を除いて、そのようなコンテキストはありません。
最近の質問に基づいて、使用されるサービス アカウントになる外部SQL Server コンテキストを意味します (Services.msc で確認できます)。したがって、使用している場合は、フォルダーに対するdomain\Specialuserアクセス許可を取得できます。domain\Specialuser
ただし、SQL Server 2005 では、インストール時に指定されたサービス アカウントを含む必要があるいくつかのグループが導入されました。これらのグループは、外部 (SQL Server の外部など) のアクセス許可に使用する必要があります。
詳細についてはKB 283811を参照してください。ただし、「 SQL Server サービス アカウントに付与された Windows NT の権利と特権の確認」を参照することをお勧めします。ここに記載されているグループは、目的のフォルダーで許可する必要があるものです。