2017-10-31 5 views
1

SQLデータベースを自分のC:\からサーバーに移動しようとしています。 Excel、Access、およびCSVファイルからデータを取得するのに、OpenrowsetOpendatasourceを使用しますが、現在は固定ドライブ(C:\またはE :)でのみ動作します。私は、ドライブをマップするためにxp_CmdShellを使用しようと、ここで私が得るものであるのです。この後xp_cmdshellネットワークエラーが発生しました

exec sp_configure 'xp_cmdshell', 1; 
reconfigure 

exec xp_cmdshell 'net use G: \\172.16.0.32\Finance' 

The command completed successfully. NULL NULL

を得た

はまず、私はこれを実行しました

次に実行します。

exec xp_cmdshell 'net use' 

とget:

New connections will be remembered. NULL NULL Status Local
Remote Network NULL ------------------------------------------------------------------------------- OK G: \172.16.0.32\Finance Microsoft Windows Network The command completed successfully. NULL NULL

しかし、私はこれを実行するとエラーが表示されます。誰でも助けることができる場合は

exec xp_cmdshell 'Dir G:' 

An unexpected network error occurred. NULL

それは巨大になります!

アップデート:すべては私のOPENROWSETクエリの後

exec xp_cmdshell 'Dir G:' 

Volume in drive G is FileSharing1 Volume Serial Number is 20E1-DEF3 NULL Directory of G:\ NULL 06/22/2017 08:56 AM . 06/22/2017 08:56 AM .. 09/20/2017 09:37 AM
IMA Utilization Reports 03/09/2017 06:36 PM
Microsotf SQL Server 2014 02/15/2017 06:22 PM
Wellcare-Apixio Project 0 File(s) 0 bytes 5 Dir(s) 722,791,567,360 bytes free NULL

: は、私はこれを得たドライブを削除し、それを再マップ、サーバーを再起動し、サービス

exec xp_cmdshell 'net use G: /delete' exec xp_cmdshell 'net use G: \172.16.0.32\Finance'

を再起動しましたまだ動作しません。

+0

コマンドプロンプトでこれを実行しようとしましたか?これは、SQL Serverが動作しない場合、SQL Serverと何か関係があることを排除します。 – SQLChao

+0

良いアイデア。私は試して、コマンドが正常に完了した、私はサービスを再起動したが、それでも動作しませんでした。他のアイデア? – anonymous

+0

エラーは です。指定されたパスが見つかりません。 – anonymous

答えて

0

私は、方法:

SQL Serverをインストールすると、SQL Serverサービスを実行するOSアカウントを構成するように求められます。このオプションが変更されていない場合、既定のアカウントで実行されており、このコンテキストの既定のアカウントの平均は、最近のバージョンで少し変更されています。

最後のバージョン(2016/2017)では、サービス名の後に名前が付けられた特別なサービスアカウントでサービスが実行されることを意味します。私の開発マシンでは、サービスは "NT Service \ MSSQL $ DEV"アカウントで実行されるようにMSSQL $ DEVという名前になっています。 サービスが2008年以降の場合は、sys.dm_server_servicesビューを照会して問題の口座を調べることができます。 service_accountという列があります。

これらのサービスアカウントのケースは、通常、ネットワークにアクセスできないということです。したがって、SQL Serverが\\ 172.16.0.32 \ Finance共有にアクセスできない場合があります。

ここでは、xp_cmdshellについて言及します。 proxy accountを設定することでxp_cmdshellを動作させることができるかもしれませんが、OPENROWSETなどを使用してリモートデータにアクセスできるようにすることが最終目標です。また、xp_cmdshellのプロキシアカウントはOPENROWSETには適していません。

あなたは何をすることができますか?Windows認証を使用してSQL Serverに接続すると、SQL Serverは通常、ファイルやネットワーク共有などの外部リソースにアクセスするときに偽装しようとします。 Kerberos委任などを設定する必要があるかもしれませんが、確かにうまくいきます。

SQLアカウント(ログイン/パスワード)を使用してSQL Serverに接続するか、委任することができない場合は、SQL Serverが実行されるアカウントをアクセス許可のあるドメインアカウントに変更するオプションもあります必要な共有とファイル通常のドメインアカウントであるドメイン管理者は使用しないでください。サービスアカウントを変更する最も良い方法は、SQL Server Configuration Managerを使用することです。

希望します。

+0

時間を一緒に置いてくれてありがとう。病気を試してみてください。 – anonymous

+0

ドメインアカウントはどのアカウントですか? – anonymous

+0

@anonymous通常、SQL Serverサービスを実行するために作成されたドメインアカウントです。サービスを確認して、現在実行中のサービスを確認することができます。 – SQLChao

関連する問題