<強いフォントサイズ: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。
名前コード>
FROM
sys.Objects o
INNER
JOIN
sys.Schemas s
on
o.schema_id =s.schema_id
WHERE
s。
名前コード>
=
'oldschema'
そして
(o.Type =
'U'
または
o.Type =
'P'
または
o.Type =
'V'
)コード>
- [実行]をクリックします
このクエリにより、次の出力のような結果ボックスに出力が表示されます。
ALTER
SCHEMA
dbo TRANSFER yourschema.Table1
ALTER
SCHEMA
dbo TRANSFER yourschema.Table2
ALTER
SCHEMA
dbo TRANSFER yourschema.Table3
ALTER
SCHEMA
dbo TRANSFER yourschema.Table4
ALTER
SCHEMA
dbo TRANSFER yourschema.Table5
ALTER
SCHEMA
dbo TRANSFER yourschema.Table6
パート2
- 新しいクエリをクリックします ボタン。
- パート1の出力からのクエリを新しいクエリボックスに貼り付けます
- [実行]をクリックします
これにより、スキーマ名が新しいスキーマに転送され、ストアドプロシージャとビューも変更されます。