我有一个使用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引导程序包中设置?现有的安装怎么样?
答案 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中,它将不会再次添加。