Windows 7上的SQL Server批量插入问题

时间:2010-02-18 22:52:39

标签: sql-server security windows-7 bulkinsert sql-server-2005-express

我有一个使用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引导程序包中设置?现有的安装怎么样?

1 个答案:

答案 0 :(得分:1)

你有几百个SQL Express安装?我假设你处在一个可拆卸的环境中,他们需要他们的移动数据库。

您是否拥有域中所有服务器的管理员帐户?如果是这样,您可以远程运行 - 只要您可以看到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中,它将不会再次添加。