none
SQL2005サーバーオブジェクトのバックアップ先が保存できない RRS feed

  • 質問

  • Microsoft SQL Server Management Studioからサーバーオブジェクト-バックアップデバイスで「新しいバックアップデバイス」を選択して新規作成する際、デフォルトではバックアップ先のファイル名が"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup"となっていますが、こちらを任意のディレクトリに選択し直してOKをクリックし保存します。その後、この新しく作成したデバイス名を確認するため右クリックしてPropertiesからデバイス名のファイルを確認すると、自分で選択したディレクトリ名ではなく、デフォルトで入っていた"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup"に自動的に変更になってしまっています。

    これはどのようにしたら自動的に変更にならないようにできるのでしょうか。

    アドバイスよろしくお願いします。

    2011年4月7日 2:38

回答

  • こんにちは。

    Usagiusagi-san と同様の手順を SQL Server Management Studio (以降 SSMS) にて、実行しましたが、私の環境では問題なく、変更したディレクトリ名が表示されました。
    試した SSMS のバージョンは "9.00.4035.00" (SQL Server 2005 Service Pack 3) になりますが、もし、それ以前の SSMS を使用されているようであれば、サービスパックの適用を試されてみてはいかがでしょうか。

    • 回答としてマーク 山本春海 2011年5月11日 6:30
    2011年4月7日 8:21
  • プロファイラを用いて確認したところ、SSMS にて "新しい バックアップデバイス" を作成すると sp_addumpdevice ストアドプロシージャにより、バックアップ デバイスの情報が sys.backup_devices カタログ ビューに登録されるようです。
    私の環境では、"新しい バックアップデバイス" の作成時、ならびに "バックアップデバイス" のプロパティ表示時には、以下のステートメントが実行されていました。


    --- "新しい バックアップデバイス" の作成時に実行されたステートメント (例) ---
    EXEC master.dbo.sp_addumpdevice  @devtype = N'disk', @logicalname = N'test', @physicalname = N'C:\test.bak'

    --- "バックアップデバイス" のプロパティ表示にて実行されたステートメント (例) ---
    SELECT
    'Server[@Name=' + quotename(CAST(serverproperty(N'Servername') AS sysname),'''') + ']' + '/BackupDevice[@Name=' + quotename(o.name,'''') + ']' AS [Urn],
    o.name AS [Name],
    o.physical_name AS [PhysicalLocation],
    o.type AS [BackupDeviceType],
    CAST(0 AS bit) AS [SkipTapeLabel]
    FROM
    sys.backup_devices o
    WHERE
    (o.name=N'test')


    他に考えられる可能性は分かりかねますが、問題の切り分けとして、実際に SSMS 操作の際に、 sp_addumpdevice プロシージャのパラメータとして、指定した任意のディレクトリが渡されているかをプロファイラを用いて確認しても良いかと思います。

    ご参考までに。

    - SQL Server Profiler の典型的な使用方法
     <http://msdn.microsoft.com/ja-jp/library/ms173789(v=SQL.90).aspx>

    • 回答の候補に設定 山本春海 2011年4月21日 4:40
    • 回答としてマーク 山本春海 2011年5月11日 6:30
    2011年4月8日 8:03

すべての返信

  • こんにちは。

    Usagiusagi-san と同様の手順を SQL Server Management Studio (以降 SSMS) にて、実行しましたが、私の環境では問題なく、変更したディレクトリ名が表示されました。
    試した SSMS のバージョンは "9.00.4035.00" (SQL Server 2005 Service Pack 3) になりますが、もし、それ以前の SSMS を使用されているようであれば、サービスパックの適用を試されてみてはいかがでしょうか。

    • 回答としてマーク 山本春海 2011年5月11日 6:30
    2011年4月7日 8:21
  • 回答有難うございます。

    SSMSのバージョンはtagaraさんがご使用されているのと同様でした。

    その他に可能性として考えられることはないでしょうか。

    よろしくお願いします。

    2011年4月8日 1:11
  • プロファイラを用いて確認したところ、SSMS にて "新しい バックアップデバイス" を作成すると sp_addumpdevice ストアドプロシージャにより、バックアップ デバイスの情報が sys.backup_devices カタログ ビューに登録されるようです。
    私の環境では、"新しい バックアップデバイス" の作成時、ならびに "バックアップデバイス" のプロパティ表示時には、以下のステートメントが実行されていました。


    --- "新しい バックアップデバイス" の作成時に実行されたステートメント (例) ---
    EXEC master.dbo.sp_addumpdevice  @devtype = N'disk', @logicalname = N'test', @physicalname = N'C:\test.bak'

    --- "バックアップデバイス" のプロパティ表示にて実行されたステートメント (例) ---
    SELECT
    'Server[@Name=' + quotename(CAST(serverproperty(N'Servername') AS sysname),'''') + ']' + '/BackupDevice[@Name=' + quotename(o.name,'''') + ']' AS [Urn],
    o.name AS [Name],
    o.physical_name AS [PhysicalLocation],
    o.type AS [BackupDeviceType],
    CAST(0 AS bit) AS [SkipTapeLabel]
    FROM
    sys.backup_devices o
    WHERE
    (o.name=N'test')


    他に考えられる可能性は分かりかねますが、問題の切り分けとして、実際に SSMS 操作の際に、 sp_addumpdevice プロシージャのパラメータとして、指定した任意のディレクトリが渡されているかをプロファイラを用いて確認しても良いかと思います。

    ご参考までに。

    - SQL Server Profiler の典型的な使用方法
     <http://msdn.microsoft.com/ja-jp/library/ms173789(v=SQL.90).aspx>

    • 回答の候補に設定 山本春海 2011年4月21日 4:40
    • 回答としてマーク 山本春海 2011年5月11日 6:30
    2011年4月8日 8:03