-1

私はこのスクリプトを持っています:

BACKUP DATABASE timeclockplus TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Backup\backup.bak'

どのユーザー名がそれを実行しているかを知るにはどうすればよいですか? 私が尋ねる理由は、現在のユーザー名に追加の特権を付与して、そのバックアップフォルダーを書き込む代わりに、別のフォルダーに書き込むことができるようにするためです

4

2 に答える 2

2

をご覧くださいSUSER_SNAME()

(そのページは少し誤解を招きます。パラメーターを渡さないと、現在のユーザーが返されます。認証モードに応じて、SQL ログオンまたはドメイン\ユーザーのいずれかです)

于 2010-07-14T17:24:55.863 に答える
2

DB エンジンのsa を除いて、そのようなコンテキストはありません。

最近の質問に基づいて、使用されるサービス アカウントになる外部SQL Server コンテキストを意味します (Services.msc で確認できます)。したがって、使用している場合は、フォルダーに対するdomain\Specialuserアクセス許可を取得できます。domain\Specialuser

ただし、SQL Server 2005 では、インストール時に指定されたサービス アカウントを含む必要があるいくつかのグループが導入されました。これらのグループは、外部 (SQL Server の外部など) のアクセス許可に使用する必要があります。

詳細についてはKB 283811を参照してください。ただし、「 SQL Server サービス アカウントに付与された Windows NT の権利と特権の確認」を参照することをお勧めします。ここに記載されているグループは、目的のフォルダーで許可する必要があるものです。

于 2010-07-14T17:30:02.903 に答える