2016-12-21 4 views
1

これはMicrosoft SQL Server 2012を使用しています。アンインストールせずにSQL Serverインスタンスを完全にリセットする方法はありますか?

複数のバージョンを持つプログラムがあり、それぞれに基礎となるSQLデータベースに対するスキーマの変更があります。いくつかの手動アップグレードを実行しようとすると、現在のバージョンの一部のデータベースが切り離されたり削除されたり、一部のバックアップが復元されたりしました。試行錯誤の間、複数のデータベースに接続/復元/切り離し/削除のunfollowable混乱が起こった。

ここから始めて、すべてのデータベースをインスタンスから削除し、インストーラを再実行しようとしました。データベース作成スクリプトでは失敗し続けます。私は作成スクリプトのどの部分が失敗しているのかを簡単に突き止めることができませんが、sysテーブルに残っている何らかのオブジェクトに関連していますが、実際にインスタンスには入っていないので、データベース作成スクリプトは、彼らは何かが存在すると考えているからです(存在を判断するためにsysテーブルをチェックしています)。正直言って、私はそれが可能かどうかも分かりません。

簡単な話ですが、私たちは時間がかかり、既存のSQLインスタンスを "工場出荷時リセット"する方法があるかどうか、またはシステム上にSQLインストーラを戻す方法を見つける必要があるかどうかを判断しようとしています既存のインスタンスを削除して新しいインスタンスを追加します。

+0

SQL Serverセットアップを起動し、修復を選択してください。 – Max

+3

ユーザスクリプトでは、DACに関連する極端な歪曲を除き、システムオブジェクトを作成できません。ただし、そこに属していないシステムデータベース内に(システム以外の)オブジェクトを作成するのは簡単です。 'master'、' msdb'と 'model'を復元することでSQL Serverをリセットすることは可能です*この手順は1)心臓の弱さではなく2)あなたが作成しなかったかもしれないバックアップが必要です君は?再インストールは、ほとんどの場合、より迅速なオプションです。 –

+0

私はシステムオブジェクトという用語を間違って使用しているかもしれませんが、ユーザースクリプトはシステムオブジェクトを理解する限り、絶対にシステムオブジェクトを作成できます。 (それは間接的に行われたものです)データベースを作成すると、sys.databasesビューにエントリが作成されます。 – SmashCode

答えて

0

私はあなたが再インストールを余儀なくされると思うし、かもしれない修理オプションで運が出るかもしれません。

あなたがそのルートに行って再インストールする必要がある場合、私はマスターとtempデータベースから残りのすべてのファイルを確実に安全に削除するようにします。詳細については

MSDN Uninstall

私はまた、あなたが現在の場所でこのようなことがあってはならない、バックアップ戦略を評価して、SQL Serverオブジェクトのためのソースコントロールを実装するためにこの機会を取るだろう。

0

master、model、およびmsdbのコピーがあり、それらを復元できる場合は、必要なものがあります。バイナリを再インストールする必要はありません。これらのバックアップがなければ、SQL Serverを再インストールする必要があります。

https://msdn.microsoft.com/en-us/library/ms190679.aspx

関連する問題