3

我有一个使用 SQL Server Express 2005 SP3 的应用程序。该应用程序分发给数百个用户,每个用户都运行 XP。但是,我们公司将很快迁移到 Windows7。我的应用程序使用 SQL Server 中的批量插入操作,并且在 XP 中运行良好。但是,在 Windows7 中,我需要以管理员身份打开 SQL Server Management Studio,并执行以下命令才能使批量插入操作正常运行:

EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Users', @rolename = N'bulkadmin'

显然,在每个用户的 PC 上手动执行此操作是不切实际的。所以,我想知道如果用户没有以管理员身份运行我的应用程序,我该如何编写脚本。是否可以在安装期间在 SQL Server 引导程序包中设置?现有的安装呢?

4

1 回答 1

1

您安装了数百个 SQL Express?我假设您处于一个可拆卸的环境中,他们需要他们的 to-go 数据库。

您是否拥有域中所有服务器的管理员帐户?如果是这样,您可以远程运行它 - 只要您能看到 PC,您就可以从任何地方运行它(假设已设置远程连接)。

您所做的就是使用 SQLCMD 从命令行运行它。

http://msdn.microsoft.com/en-us/library/ms162773.aspx

在从单个位置安装 SQL Server 的每台计算机上远程运行相同的命令。

从每个安装 SQL Server 的域帐户远程运行此命令(只需更改每一行的机器名称)。

SQLCMD -S Station01 -Q "EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Users', @rolename = N'bulkadmin'"
SQLCMD -S Station02 -Q "EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Users', @rolename = N'bulkadmin'"
SQLCMD -S Station03 -Q "EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Users', @rolename = N'bulkadmin'"
SQLCMD -S Station04 -Q "EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Users', @rolename = N'bulkadmin'"
SQLCMD -S Station05 -Q "EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Users', @rolename = N'bulkadmin'"

如果您多次运行它并不重要,如果该组已经在 BulkAdmins 中,它将不会再次添加。

于 2010-02-18T23:01:22.193 回答