1

私は自分自身を変化を恐れているとは言いませんが、新しいテクノロジーを恐れていますか? はい、そうです!オペレーティングシステムからデータベースサーバーまでのテクノロジーは、「進歩」すればするほど、バグが発生し、非効率的になり、後退しているように見えます

MSDE 2000 (今日の世界では "SQL 2000 Express" と呼ばれるもの)

BACKUP [MyDatabase] TO FILE 'c:\backups\mybackup.backup'

SQL 2008 エクスプレス

まってて!これは「ユーザー インスタンス」です。これをバックアップするには、サーバー インスタンスにアタッチする必要があります
。それを添付するには、SQL Management Studio Express (78MB ダウンロード) が必要
です。.\SQLEXPRESS サーバー インスタンスにログインしてデータベースをアタッチしようとすると、自作開発プロジェクトのバグのように見えるエラーが表示されます。

タイトル: Microsoft SQL Server Management Studio

要求されたダイアログを表示できません。

- - - - - - - - - - - - - - - 追加情報:

パラメータ名: nColIndex 実際の値は -1 でした。(Microsoft.SqlServer.GridControl)

T-SQL コードで SQL Server 2008 Express データベースのユーザー インスタンスをバックアップする方法を誰か説明できますか?

(これがうーん、マイクロソフトの炎のように出くわしたら申し訳ありません-私は実際に彼らの大ファンです。このようなことについて本当に怒っています!私に投票しないでください...)

4

2 に答える 2

1

ユーザーインスタンスのバックアップを実行しようとするときに注意すべきいくつかの重要なヒント

a。)接続

接続文字列は次のようになります。

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True;User Instance=True;Database=MyDatabaseAlias

接続文字列が接続にエイリアスを与えることが重要Database=MyDatabaseAliasです。このエイリアスを同じマシンで同時に複製することはできません。そうしないと、接続が失敗する可能性があります。

b。)バックアップ

上で指摘したように、データベースをバックアップするためのTransact SQLは、SQL MSDE / 2000/2005/2008 / R2でも同じです。データベースを接続してエイリアスを作成すると、 !

BACKUP DATABASE MyDatabaseAlias TO DISK = 'c:\backups\mydatabase_20101117.backup'

本当に驚くべきことは、接続文字列にエイリアスDatabase=MyDatabaseAlias部分がないために発生する可能性のあるbull $ h!tエラーです。

例:物理ファイルを開くことができません'c:\ Code \ MyProject \ App_Data \ MyDatabase.mdf'オペレーティングシステムエラー32: "32(プロセスは別のプロセスによって使用されているため、ファイルにアクセスできません。)"。BACKUP DATABASE is異常終了します。

c。)復元

USE [master]; RESTORE DATABASE MyDatabaseAlias FROM DISK = 'c:\backups\mydatabase_20101117.backup'  WITH REPLACE

USE [master];このステートメントの冒頭にあるすべての必須事項を忘れないでください(および、または同様のコマンドを実行するユーザーにとっては、すべてが1行DataContextになっていることに注意してください)。そうすると、既存のデータベースを上書きできなくなります。それに接続されています。

繰り返しになりますが、無効な接続文字列が原因でここで受け取る可能性のある完全に誤解を招くエラーの品揃えは無限です。

于 2010-11-17T06:26:21.867 に答える
1

ユーザー インスタンスの場合、最も簡単なバックアップ戦略はファイルをコピーすることです。(SQL Server に接続されていない間)。

より包括的なバックアップ戦略 (トランザクション バックアップなど) が必要な場合は、より包括的なデータベース (完全な SQL Server インスタンスに接続された「通常の」データベースなど) を検討する必要があります。

于 2010-11-16T15:41:41.053 に答える