web-dev-qa-db-ja.com

SSMSを介して接続するときにSQL Server 2012 Integration Servicesが失敗しました

最近、SQL Server 2012をインストールしましたが、ほとんどデフォルト設定を使用しました。データベースは正常に動作し、SSMS(SQL Server Management Studio)を使用して問題なく接続できますが、Integration Servicesサーバーに接続するとこのメッセージが表示されます

コンピューター "localhost"上のIntegration Servicesサービスへの接続は、次のエラーで失敗しました: "アクセスが拒否されました。"

既定では、管理者のみがIntegration Servicesサービスにアクセスできます。 Windows Vista以降では、Integration Servicesサービスに接続するには、プロセスが管理者権限で実行されている必要があります。サービスへのアクセスを構成する方法については、ヘルプトピックを参照してください。

これがスクリーンショットです enter image description here

理由はわかりませんが、私はドメイン管理者であり、サーバーに対する完全な権限を持っています。また、デスクトップから接続すると、サーバー自体から接続した場合にのみ問題なく接続できるのはなぜですか。サーバー上のSSMSをIntegration Servicesインスタンスに接続できるように、これを修正するにはどうすればよいですか。

37
Raymund

私が理解しているように、ユーザーアクセス制御、または [〜#〜] uac [〜#〜] は、基本的にグループメンバーシップのリクエストをインターセプトできるため、この場合、メンバーシップを取得できなかったようですSQL Serverに渡されます。

他の人はコメントで、管理者としてSSMSを右クリックして実行する必要があるかもしれないと述べています。

抜け目のないオブザーバーが指摘したように、「これはクイックフィックスであり、実際のソリューションではありません。管理者としてだけを実行するべきではありません。これらのセキュリティウォールは理由があるためです」 UACは、Windowsユーザーを 最小特権の原則 考え方に導くように設計されています-必要な場合にのみ強力なアカウントにエスカレートします。問題は、SSMSがUACと「うまく機能しない」ことが知られていることです。私が見るように、これはあなたに3つのオプションを残します

  • UACをオフにして作業を完了することができます
  • UACをオンのままにして、仕事ができないことを上司に伝えます
  • UACの影響を受けない独自のクエリツールを作成する
36
billinkc

すべてのプログラムに移動しますMicrosoft SQL Server 2012フォルダーをクリックしますSQL Server Management Studioを右クリックします管理者として実行をクリックします

今のところ、これで問題が解決するはずです。 (これにより、常に同じプロセスを繰り返す必要があります)。これを毎回回避し、より永続的なソリューションを実現するには、許可を取得する必要があります。次のプロセスを実行してください、あなたは良いはずです。

SQL Serverの以前のバージョンでは、デフォルトでSQL Serverをインストールすると、UsersグループのすべてのユーザーがIntegration Servicesサービスにアクセスできました。 SQL Serverの現在のリリースをインストールすると、ユーザーはIntegration Servicesサービスにアクセスできなくなります。このサービスはデフォルトで安全です。 SQL Serverのインストール後、管理者はサービスへのアクセスを許可する必要があります。

Integration Servicesサービスへのアクセスを許可するには

  1. Dcomcnfg.exeを実行します。 Dcomcnfg.exeは、レジストリの特定の設定を変更するためのユーザーインターフェイスを提供します。
  2. [コンポーネントサービス]ダイアログで、[コンポーネントサービス]> [コンピューター]> [マイコンピューター]> [DCOM構成]ノードを展開します。
  3. [Microsoft SQL Server Integration Services 11.0]を右クリックし、[プロパティ]をクリックします。
  4. [セキュリティ]タブで、[起動とアクティブ化のアクセス許可]領域の[編集]をクリックします。
  5. ユーザーを追加して適切なアクセス許可を割り当て、[OK]をクリックします。
  6. アクセス許可について、手順4〜5を繰り返します。
  7. SQL Server Management Studioを再起動します。
  8. Integration Servicesサービスを再起動します。

(ソースMSDN)

これが役立つことを願っています

34
Nadeem

Sql Server Management Studioを右クリックして[管理者として実行]を選択し、ローカルインスタンスにインストールされている場合は接続を試みます

7
Pushpa Halappa

SSISサービスが実行されているユーザーを確認する必要があります。 [スタート]> [ファイル名を指定して実行]に移動し、「services.msc」と入力して、SQL Server Integration Services 11.0エントリまでスクロールします。右クリックしてプロパティをチェックし、実行しているユーザーを確認します。 2番目のタブは[ログオン]タブです。ローカルインスタンスで実行しているだけなので、ユーザーをログオンユーザーアカウントとして設定でき、SSISには同じ権限が与えられます。

2
Vinnie

その問題の仕事の一日を失った。パッケージには、共有ネットワークフォルダーからローカルフォルダーにファイルをコピーするための.NETスクリプトタスクがあり、サーバーからパッケージを実行しようとするたびに「アクセス拒否」例外が発生しました(SQL Studioを使用)。ローカルで実行する場合、パッケージは正常に機能します。

あちこちで拾い上げた多くのものを試してみましたが、結局のところ、SSISExecutorとしてパッケージを実行するジョブ(所有者はsa)を作成することが効果的でした。

ネットワーク上のファイルには全員の読み取りアクセス権があり、何が間違っていたかはまだわかりません。

0
Etienne