-1
データベースのバックアップを復元する手順を作成しようとしています。バックアップファイルをvarbinary(max)型のパラメータで渡したいと思います。varbinary(max)変数バックアップファイルからSQL Serverバックアップを復元する
可能でしょうか?私はそのことについて言及していませんでした。
バックアップファイルがサーバー上に存在しないため、クライアントマシン上にあるため、このタスクを実行する必要があります。
コード(C#)でこの手順を呼び出す必要があります。
EDIT
今日、私はバックアップファイルを作成して返します次のコードをしました:私は私が戻ってサーバーにバックアップファイルを渡すことができる機能を必要とする
DECLARE @MdfFilePath AS VARCHAR(MAX),
@BackupFileName AS VARCHAR(MAX),
@DbName AS VARCHAR(MAX) = DB_NAME()
SELECT
@MdfFilePath = physical_name
FROM
sys.master_files
WHERE
database_id = DB_ID(@DbName)
SELECT @BackupFileName = LEFT(@MdfFilePath,LEN(@MdfFilePath) - charindex('\',reverse(@MdfFilePath),1) + 1) + @DbName +'_' +
REPLACE(CONVERT(VARCHAR(MAX), GETDATE(), 121), ':', '-') + '.bak'
BACKUP DATABASE @DbName
TO DISK = @BackupFileName
WITH INIT
DECLARE @SQL AS NVARCHAR(MAX)
SET @SQL = 'SELECT * FROM OPENROWSET(BULK ''' + @BackupFileName + ''', SINGLE_BLOB) rs'
EXEC sp_executesql @SQL
を次に、それを復元します。
いいえ、私の知る限り、ファイルはディスク上に物理的に**存在している必要があります**サーバーの内部ディスクまたはUNCパス経由で指定されたネットワーク上の場所でサーバーとサーバープロセス 'アカウント)にアクセスできます。あなたは 'varbinary(max)'変数をバックアップに渡すことはできません。また、その変数は** 2GB **に制限され、データベースのバックアップはその制限よりも容易に*大きくなる可能性があります –
この手順を呼び出すためにac#appを使用する場合は、.bakファイルをパラメータとして渡すことができます。画像または他の文書を含むことができる。 – McNets
@mcNets varbinary(max)ストリーム変数からバックアップファイルを復元する方法は? –