SQL Server 2000で動作するデータベースがあります。現在、SQL Server 2008r2を使用して新しいサーバーに移行しています。誰かが私にいくつかのリソースやハウツーを教えてもらえますか?私はSQL2000を回避する方法を実際に見つけていません。
ありがとうございました!
基本的に、あなたがする必要があるのは:
完了です。それ以上のことは何もありません.....バックアップ(古いシステム)と復元(新しいシステム)だけです。
それで、あなたの問題は正確にどこにありますか?
pdate: @Péterが正しく言及しているように:これにより、データベースはSQL Server2000互換モードのままになります。つまり、SQL Server 2008 R2に「移行」した場合でも、使用できるのは2000の機能のみです。
データベースの互換モードを確認するには、sys.databases
カタログビューを確認してください。
SELECT * FROM sys.databases WHERE name = 'YourDatabaseName'
1つの列はcompatibility_level
と呼ばれ、INT
が含まれています。 80 = SQL Server 2000、90 = SQL Server 2005、100 = SQL Server 2008/2008 R2、110 = SQL Server 2012
データベースを別の互換性レベルに変更するには、次のコマンドを使用します。
ALTER DATABASE YourDatabaseNameHere
SET COMPATIBILITY_LEVEL = 100;
これにより、データベースが「ネイティブ」SQL Server 2008(および2008 R2)モードになり、移行が完了したので、SQL Server 2008R2のすべての新しい機能を使用できます。
まず、2000サーバーに対してUpgrade Advisorを実行して(使用率が低いときや営業時間外に)、どのような推奨事項があるかを確認し、それぞれに完全に対処します。 http://msdn.Microsoft.com/en-us/library /ms144256.aspx
これも、このトピックに関するMSのホワイトペーパーです。 http://download.Microsoft.com/download/2/0/B/20B90384-F3FE-4331-AA12-FD58E6AB66C2/SQL%20Server%202000% 20to%202008%20Upgrade%20White%20Paper.docx
多くのことがうまくいかない可能性があります...フォーラムの設定でカバーするには多すぎます。しかし、再び何もうまくいかない可能性があります...最良の計画、テスト、そしてさらにいくつかのテスト。
私は現在同じことをしています。
2000リストアベイクからSQL2008データベースを作成することは、良い最初のステップです。私の仕事のほとんどは、ユーザーのアクセス許可を処理し、ユーザーがデータベースログインと同期していること、およびバックアップによって生成されたデータベーススキーマがそのユーザーに関連付けられていないことを確認することでした。そのデータベースユーザーを再作成しようとしました。
私たちがやったことは:
1)スクリプトを作成します。ログインの削除、dbユーザーの削除、スキーマの削除、ログインの再作成、ユーザーの再作成、ユーザー権限の付与を行うスクリプトを動的に作成するスクリプトがありました。
2)データベースを復元します。
4)生成されたスクリプトを実行します
最も簡単な方法は、SQL2000のデータベースを.bakファイルにバックアップして移動することです。復元を実行すると、すべてが正常になります。 sp_Users_Logingを実行して、孤立サーバー内のユーザーを識別します。
さらに別のオプションは、sql2kのデータベース(ファイル)をsql2k8に直接接続しようとすることです。
元のリンクが最新バージョンのSQLServer 2012に変更されたため、2012年4月に編集されました
「その場」アップグレード(MSDNリンク)の場合:
...から SQL Server 2008 R2
SQL Server 2000、SQL Server 2005、またはSQL Server2008のインスタンスをSQLServer 2008R2にアップグレードできます。
...から SQL Server 1012
SQL Server 2005、SQL Server 2008、およびSQL Server 2008R2からSQLServer2012にアップグレードできます。
他の回答は、技術的な観点からは正しいですが、サポートの観点からは正しくありません。
MicrosoftはSQLServer2000からSQLServer 2008R2への直接アップグレードをサポートしていないと思います。それは難しいという意味ではなく、サポートされていないというだけです。 (シナリオにとって重要な場合と重要でない場合があります)
SQL Server2000インスタンスをSQLServer 2008 R1にアップグレードしてから、SQL Server 2008R2への後続のアップグレードを実行できます。 (または、SQL Server 2012に興味がある場合は)