システムがDBにアクセスするために使用する独自のデータベースユーザーを必要とするシステムユーザーのテーブルがあります(私の考えではありません..)。システムには独自のログインがあります。これは、ユーザーがデータベース間で同期されないため、テスト中の SQL AlwaysOn 分散サーバー セットアップで問題を引き起こしています。そのため、システムはデータベース ユーザーを作成しますが、それらはセカンダリ ノードに伝達されず、フォールオーバーが発生すると、これらのユーザーはログインできません。
これが、DB 内のテーブルから DB ユーザーを作成するスクリプトを書きたいという私の正当な理由です。では、なぜ次のように機能しないのでしょうか。どうすれば機能するのでしょうか?
DECLARE @foo VARCHAR(250)
SET @foo = (SELECT USER_NAME FROM USER_TABLE WHERE USER_ID = 1337)
CREATE USER @foo
現在、「@foo」の近くで構文が正しくありません