4

VS2012 を使用していくつかの負荷テストを作成しています。「None」の StorageType を使用してテストを実行できますが、これを「Database」の StorageType に変更すると、恐ろしいエラーが発生します。

ロード テスト結果データベースを開けませんでした。テスト コントローラー (またはローカル コンピューター) の接続文字列によって指定された負荷テスト結果データベースが、負荷テスト スキーマを含み、現在使用可能なデータベースを指定していることを確認します。詳細については、Visual Studio のヘルプ トピック「ロード テストの結果ストアについて」を参照してください。接続エラー: ロード テスト結果リポジトリ スキーマの作成中にエラーが発生しました: データベース 'LoadTest2010' を作成するには、ユーザー アカウントに SQL Server 'sysadmin' ロール、または 'serveradmin' と 'dbcreator' の両方が必要です役割

LoadTest という SQL の非ローカル コピー上にデータベースを作成しました。SQL Tracing Connect String ダイアログから接続をテストすると、成功しました。

dbcreator、public、serveradmin、および sysadmin のサーバー ロールを持つ SQL ユーザーを作成しました。ユーザーには、VS2012 IDE ディレクトリの loadtestresultsrepository.sql から作成された LoadTest2010 データベースへのユーザー マッピングがあります。データベースでは、ユーザーはデータベース ロール メンバーシップ db_accessadmin、db_datareader、db_datawriter、db_owner を持っています。所有スキーマで、db_datareader、db_datawriter、db_owner、および db_securityadmin にチェックマークを付けましたが、これらは表示時にチェックマークではなく青い四角になりました。

どうしたの?Visual Studio はデータベースを作成しようとしていますか、それとも何か問題がありますか?

私は TestControllers または TestAgents を使用していません。単にローカル実行を使用しています。

4

3 に答える 3

4

答えは簡単でした。負荷テスト ウィンドウの上部にある小さな [テスト コントローラーの管理] アイコンをクリックしてそこから接続文字列を設定するのではなく、[SQL トレース接続文字列] で接続文字列を設定していました。

次に、その SQL ユーザーに対して作成した不要なアクセス許可の一部を削除します :)

編集:

ここに画像の説明を入力

SQL 接続文字列はloadtest ファイルに保存されません。設定は PC 固有のようですので、ビルド サーバーで変更する必要がありました。示されているように、1 つの負荷テスト ファイル (address.loadtest) で、他のすべての負荷テストが同じ接続文字列を採用します。

于 2012-08-31T03:17:21.640 に答える