2016-12-05 8 views
0

linux VMでホストされているSQLサーバにデータベースバックアップを復元しようとしています。バックアップファイルは、Windowsファイルシステムのネットワークパス上に配置されます。私は、Linuxの/ home /ユーザーでそのパスをマウント/ WinMap/linux VMでホストされているSQLサーバでバックアップを復元する

私は画面を復元使用してデータベースのバックアップを復元しようとしていたとき、私は見

Cのようなパス:\ VAR \オプト\ MSSQL \データ

です。私はどこで私のマウントパスを見ることができない

/ホーム/ユーザー/ WinMap/

ので、私は私のバックアップを復元することが可能となります。

どのように私はSQLサーバのLinuxファイルシステムを処理することができますどのようなアイデアは非常に高く評価されるだろう。

TIA

+0

LinuxのSQLユーザーはパスにアクセスできますか? – MihaelaBlendea

+0

私はLinuxをよく理解していないので、これについて研究する必要があるかもしれません。 SQLサーバーをインストールしたユーザーがパスへのアクセス権を持っているため、アクセス権があります。 –

答えて

1

が.. SSMSを使用して、ここから参照を使用していない:Restore a SQL Server database from Windows to Linux

次のステップを、あなたは、Linuxでバックアップファイルを置いたら、これは可能/var/opt/mssql

にバックアップファイルを移動することです完了しました

バックアップファイルを移動 この時点で、バックアップファイルはLinuxサーバー上にあります。データベースをSQL Serverに復元する前に、バックアップを/ var/opt/mssqlのサブディレクトリに配置する必要があります。

バックアップを含む対象のLinuxマシンでターミナルを開きます。

スーパーユーザーモードに入ります。

須藤秀

新しいバックアップディレクトリを作成します。 -pパラメーターは、ディレクトリーがすでに存在する場合は何も行いません。

mkdir -p /var/opt/mssql/backup 

は、そのディレクトリにバックアップファイルを移動します。次の例では、バックアップファイルはuser1のホームディレクトリにあります。マシン上のAdventureWorks2014.bakの場所に合わせてコマンドを変更します。

mv /home/user1/AdventureWorks2014.bak /var/opt/mssql/backup/ 

終了し、スーパーユーザーモード。

exit 

は今..あなたはSQLCMDを使用する必要があり、同じ端末で

、打ち上げSQLCMDを復元します。次の例では、SAユーザーを使用してローカルSQL Serverインスタンスに接続します。プロンプトが表示されたらパスワードを入力するか、-Pパラメータでパスワードを指定します。

sqlcmd -S localhost -U SA 

を接続した後、各行の後にEnterキーを押し、次のRESTORE DATABSEコマンドを入力します。以下の例は、/var/opt/mssql/backup directoryからAdventureWorks2014.bakファイルを復元します。

RESTORE DATABASE AdventureWorks 
FROM DISK = '/var/opt/mssql/backup/AdventureWorks2014.bak' 
WITH MOVE 'AdventureWorks2014_Data' TO '/var/opt/mssql/data/AdventureWorks2014_Data.mdf', 
MOVE 'AdventureWorks2014_Log' TO '/var/opt/mssql/data/AdventureWorks2014_Log.ldf' 
GO 
+0

助けてくれてありがとう!私の要求は、ネットワークの場所からバックアップを復元することです。基本的には、集中型のネットワーク上に膨大なバックアップを格納しています。 VMにコピーすると、貴重なディスクスペースが必要になります。 –

関連する問題