web-dev-qa-db-ja.com

MS SQL2005-共有ディレクトリへのバックアップ

Hyper-Vの下の2008サーバーでWindows2003を実行しているSQL2005仮想マシンがあり、データベースの共有フォルダーへのバックアップを開始する必要があります。他の環境でも同様のバックアップジョブを問題なく作成しました。違いは、他のすべての場合、SQLサーバーがドメインの一部であり、この場合ドメインがないであるということです。 「フルコントロール」権限を「全員」に付与するように共有フォルダを設定した場合でも、SQLはバックアップジョブの実行を拒否します。

オペレーティングシステムエラー1326(ログオン失敗:不明なユーザー名または不正なパスワード)。 BACKUP DATABASEが異常終了しています。」。考えられる失敗の理由:クエリの問題、「ResultSet」プロパティが正しく設定されていない、パラメータが正しく設定されていない、または接続が正しく確立されていない。

私は何をしなければなりませんか?ローカルドライブにバックアップして、ファイルをコピーする別の方法を見つける以外に解決策はありませんか?

編集:強調のために太字を追加

2
gillonba

ドメインがない場合は、すべてのマシンで同じユーザー(名前)を設定してから、ローカルユーザーを使用してSQLServerを実行できます。

たとえば、ServerA(SQL Serverが実行されている)では、ユーザーMySQLServerUserをローカルユーザーとして設定できます。構成マネージャーを使用して、これをSQLServerを実行するためのアカウントとして設定します。

次に、バックアップを送信するServerBで、同じパスワードで同じアカウント(MySQLServerUser)を設定します。

Windowsはこれを最初のユーザー/パスワードとして渡すため、認証する必要があります。

ネットワーク全体のバックアップは推奨されないことに注意してください。 SQLバックアッププロセスは、ネットワーク遅延に耐えられません。一時的な中断が発生すると、バックアップは失敗します。また、ディスクに障害が発生した場合に発生する可能性があります。ローカルにバックアップし、リモートマシンにコピーします。コピーは自動的に再試行します。

3
Steve Jones

SQL Serverサービスアカウントは、ネットワーク共有にアクセスできる必要があります。 Localsystemアカウントを使用してSQLServerサービスを実行している場合:このアカウントは認証されたネットワークアカウントではないため、ネットワーク上の共有にアクセスできず、通常のネットワーク共有にバックアップできません。

したがって、ネットワーク共有にバックアップする場合は、次の2つの方法があります。

SQL Serverサービスを実行するアカウントを、ネットワーク共有にアクセスでき、必要なアクセス許可を持つドメインアカウント(DOMAIN\USERNAME)に変更します。

または(実稼働環境では推奨されません):

ネットワーク共有を使用してサーバーに次のレジストリ値を追加し、バックアップ先の共有名を追加します。共有は受信者を認証しないため、Localsystemアカウントがアクセスできるようになります。変更を有効にする前に、サーバーを再起動する必要があります。これは事実上その共有のすべてのセキュリティを削除するであることに注意してください。したがって、誰でもアクセスできるようになります。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\NullSessionShares
4
splattne

ネットワークアクセス権限を持つドメインアカウントのコンテキストでSQL Serverサービスを実行していることを確認してください。

または、これはSQL Serverボックスのローカルであり、他のユーザーと共有されているフォルダーですか?

**編集:**ああ、@ splattneの権利、私は自動操縦をしていました。 SQLエージェントではなく、SQLServerサービス。

1
squillman