0

SQLExpressのローカルインスタンスに接続しようとしているローカルWindowsマネージドサービスがあり、ローカルサービスが使用する必要のある接続文字列/認証の壁にぶつかっています。

マネージドサービスの構成は次のとおりです

<add key="..." value="Data Source=<machineName>\SQLEXPRESS;Persist Security Info=True; Integrated Security=True" />

興味深いのは、これは機能しますが、マスターデータベースへのアクセスのみを提供することです。サービスに必要な実際のデータベースへのアクセスは提供されません。私はSQLManagementStudioであらゆる種類の可能性を試しましたが、アクセス/セキュリティ/ユーザーを提供しましたが、役に立ちませんでした。

初期カタログを使用しようとしましたが、セキュリティ例外が発生します

<add key="..." value="Data Source=<machineName>\SQLEXPRESS;Persist Security Info=True;inital catalog=<dbName>; Integrated Security=True" />

私も

a。マネージドサービスで使用されるログオンは赤いニシンであり、これは確かにSQLServerの問題です。

b。SQLServerがローカルでない場合、マネージドサービスにはAD資格情報が必要になります。

4

1 に答える 1

0
  1. マスター以外の特定のDBにアクセスするには、
    「Initial Catalog=MyDatabase;」を追加する必要があります。(引用符なしで)接続文字列に。
  2. サービスログオンアカウントには、SQLServerExpressへのログオン権限を付与する必要があります
  3. サービスログオンアカウントには、サービスからアクセスするデータベースにユーザーマッピングが含まれている必要があります。

最後の2つの手順は、SQL ServerManagementStudioから実行できます。

ハッピーコーディング

于 2012-07-22T13:21:33.663 に答える