我如何检查脚本运行的用户名?

时间:2010-07-14 17:18:36

标签: sql-server database-backups

我有这个脚本:

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

我如何知道正在执行哪个用户名?我问的原因是因为我想为当前的用户名授予额外的privelages,以便我可以写入不同的文件夹而不是写那个备份文件夹

2 个答案:

答案 0 :(得分:2)

看看SUSER_SNAME()

(该页面有点误导,传递没有param返回当前用户 - SQL登录或域\用户,具体取决于auth模式)

答案 1 :(得分:2)

除了 in 数据库引擎外,没有任何上下文。

根据您最近的问题,您指的是外部 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”。这里提到的组是你应该在你想要的文件夹上的权限。