<強いフォントサイズ:12pt; font-family:arial; line-height:1.5em; "> MS SQLテーブル、ストアドプロシージャ、およびビューのスキーマをすべて同時に変更する方法
データベースユーザーを変更すると、テーブルのデータベース所有者がdbo.tablenameからbadschema.tablenameに変更されることがあります。これは、スキーマが正しくないテーブルの下に作成されたストアドプロシージャにも影響します。これらのテーブルのスキーマをデフォルトのdboスキーマに戻す必要がある場合は、以下の手順に従ってください。
これらの手順では、コンピューターにMicrosoft SQL ServerManagementStudioがインストールされている必要があります。これをインストールしていない場合、Microsoft SQL Server Mangement Studio Express 2008はMicrosoftから無料で入手でき、次のリンクからダウンロードできます:http://www.microsoft.com/download/en/details.aspx?id=22985
これらの手順を実行する場合は、MSSQLに精通している必要があります。これに不安がある場合は、サポートに連絡して支援を求めてください。データベースを変更する前に、必ずサイトをバックアップしてください。共有ホスティングのお客様の場合は、ここで概説されている手順に従って、コントロールパネルからこれを行うことができます。Pleskを使用してWebサイトをバックアップします。専用サーバーをご利用の場合は、コントロールパネルから、またはControl Suiteを使用してドメインをバックアップする方法の手順に従って、ControlSuiteから直接サイトをバックアップできます。
パート1
- Microsoft SQL ServerManagementStudioを開いてログインします。
- 新しいクエリをクリックします ボタン。
- 次のスクリプトを[新しいクエリ]ボックスに貼り付けて、古いスキーマを変更します 現在のスキーマの名前:
SELECT'ALTER SCHEMA dbo TRANSFER'+s。名前コード>+'。'+o。名前コード>FROMsys.Objects oINNERJOINsys.Schemas sono.schema_id =s.schema_idWHEREs。名前コード>='oldschema'そして(o.Type ='U'またはo.Type ='P'またはo.Type ='V')コード> - [実行]をクリックします
このクエリにより、次の出力のような結果ボックスに出力が表示されます。
ALTERSCHEMAdbo TRANSFER yourschema.Table1ALTERSCHEMAdbo TRANSFER yourschema.Table2ALTERSCHEMAdbo TRANSFER yourschema.Table3ALTERSCHEMAdbo TRANSFER yourschema.Table4ALTERSCHEMAdbo TRANSFER yourschema.Table5ALTERSCHEMAdbo TRANSFER yourschema.Table6
パート2
- 新しいクエリをクリックします ボタン。
- パート1の出力からのクエリを新しいクエリボックスに貼り付けます
- [実行]をクリックします
これにより、スキーマ名が新しいスキーマに転送され、ストアドプロシージャとビューも変更されます。