2010-07-14 1 views
0

у меня есть этот скрипт:как я могу проверить, под каким именем пользователя запускается скрипт?

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

, как я знаю, какое имя пользователя исполняемого его? причина, по которой я спрашиваю, заключается в том, что я хочу предоставить дополнительные права на текущее имя пользователя, чтобы вместо написания этой папки резервного копирования я мог писать в другую папку

ответ

2

Там нет контекста как такового для са внутри кроме двигатель БД.

В соответствии с вашими последними вопросами вы имеете в виду внешний Контекст SQL Server, который будет использоваться служебной учетной записью (вы можете увидеть его в Services.msc). Поэтому, если вы используете domain\Specialuser, тогда вы можете разрешить domain\Specialuser в папке.

Однако SQL Server 2005 введены некоторые группы, которые должны содержаться в учетной записи службы, указанный во время установки, и они должны быть использованы для внешнего (например, вне SQL Server) разрешения

Некоторые детали в KB 283811, но лучше видеть "Reviewing Windows NT Rights and Privileges Granted for SQL Server Service Accounts ». Группы, упомянутые здесь, - это то, что вы должны разрешить в своей желаемой папке.

2

Посмотрите на SUSER_SNAME().

(Эта страница немного вводит в заблуждение, не передавая нет параметров возвращает текущий пользователь - либо SQL Logon или домен \ пользователь в зависимости от режима AUTH)

+0

+1 Не знаю, почему кто-то мог бы это сделать :) – Andomar

+0

@Andomar: Потому что это неправильный ответ на этот вопрос, который говорит: «... вместо того, чтобы писать эту папку резервных копий, я могу писать в другую папку». Так что это касается учетной записи SQL Service, а не текущего пользователя БД. И это из-за этого. Если вы не знаете что-то, я не говорю о том, как SUSER_SNAME() относится к разрешениям NFTS. – gbn

+0

@gbn: Похоже, вы правы! Возможно, комментарий для объяснения будет лучше, чем нисходящий, который выглядит на первый взгляд озадачивающим :) – Andomar