2

SQL Server Management Studio 2008 R2 でデバッグ状態で実行する方法を見つける必要があります。しかし、回避策が見つからないいくつかの制限が与えられています。

  • ユーザーは、特定のスキーマの所有者である必要があります。
  • そのため、ユーザーは SysAdmin 権限を持つことができません。この理由は、SQL クエリのスキーマの名前を指定していない多くのストアド プロシージャが既にあるためです。
  • ユーザーは SysAdmin 権限を持っている必要があるため、sysadmin の DEFAULT_SCHEMA を変更できないため、これは最初の要件と競合します。

私の知る限り、SQL Server 2008 でデバッグする唯一の方法は、M$FT がソフトウェアを設計した方法である SysAdmin 権限を与えることです。これに対する可能な回避策は何ですか?

推奨される回答は、SP の作成方法を変更するか、データベース設計の再設計を検討することであると理解していますが、残念ながら、これはオプションではありません。

助けてください!

4

2 に答える 2

0

デバッグで実行するとは、T-SQLデバッガーを使用してインタラクティブにストアドプロシージャをデビッグすることを意味しますか?

これを実行する際に問題が発生し、コードをデバッグすることが目的である場合は、SQLプロファイラーを使用して、ストアドプロシージャ内で実行されている内容を正確に監視することもできます。もちろん、ブレークポイントと開始/停止はサポートされませんが、実行されている内容を監視できます。

于 2012-10-31T01:57:52.070 に答える
0

MSDNから取得: Transact-SQL デバッガーを実行する

Transact-SQL コードは、次の理由から、運用サーバーではなくテスト サーバーでデバッグすることをお勧めします。したがって、sysadmin 固定サーバー ロールのメンバーのみが SQL Server でのデバッグを許可されます。いくつかの Transact-SQL ステートメントの操作を調査している間、デバッグ セッションは長時間実行されることがよくあります。セッションによって取得される更新ロックなどのロックは、セッションが終了するか、トランザクションがコミットまたはロールバックされるまで、長期間保持される場合があります。

懸念がある場合は、Microsoft Connect サイト ( http://connect.microsoft.com/sqlserver ) で希望を報告してください。

于 2012-10-31T02:42:45.537 に答える