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 を数百インストールしていますか? 外出先のデータベースが必要な、取り外し可能な環境にいると思います。

ドメイン上のすべてのサーバーの管理者アカウントを持っていますか? その場合、これをリモートで実行できます。PC が見える限り、どこからでも実行できます (リモート接続がセットアップされている場合)。

SQLCMD を使用してコマンド ラインからこれを実行するだけです。

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

1 つの場所から SQL サーバーがインストールされている各マシンで、同じコマンドをリモートで実行します。

このコマンドは、SQL Server のインストールごとに admin であるドメイン アカウントからリモートで実行します (各行のマシンの名前を変更するだけです)。

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 に答える