スクリプトがチェックする条件を正確に知らなくても、データベースの排他的使用を保証するために実行する必要がある2つのことがあります(i)「master..sp_dboption'your-db-name'、'single user'、false」を実行します。シングルユーザーモードにし、(ii)最初に「kill」コマンドを使用して既存のすべてのユーザーを強制終了します。
これは、ストアドプロシージャを配置するのは難しくありません。データベースを現在のデータベースとして使用するか、そのデータベースをロックして、すべての接続を強制終了してから、シングルユーザーモードに設定してみてください。次に、シングルユーザーモードが成功したかどうかを確認します。シングルユーザーモードに設定しているときに新しいユーザーが再度接続する可能性があるため、繰り返し試行できるようにする必要があります。
これはすべて実装するのは難しいことではありませんが、ASEシステムテーブルをある程度理解する必要があります。しかし、主に、ロードスクリプトが何を想定しているのか、そして何をチェックするのかを正確に把握する必要があると思います。
他の解決策もあるかもしれません。たとえば、ロードスクリプトの影響を受けるテーブルをロックできる場合は、それも解決策になる可能性があります(より単純な解決策)。ただし、ロードスクリプトが正確に何を実行し、何が期待されるかによって、これが可能な場合と不可能な場合があります。答えるのは質問1です。
HTH、
ロブV。