古いデータベースを復元しました。エイリアス名で始まる多くのストアドプロシージャがあります。たとえば、(xxx.sp_test
)既存のストアドプロシージャのエイリアスを削除する方法
ワンショットでこれらのエイリアスを削除するにはどうすればよいですか?誰も助けることができますか?
古いデータベースを復元しました。エイリアス名で始まる多くのストアドプロシージャがあります。たとえば、(xxx.sp_test
)既存のストアドプロシージャのエイリアスを削除する方法
ワンショットでこれらのエイリアスを削除するにはどうすればよいですか?誰も助けることができますか?
"別名"の代わりにスキーマ名を意味すると仮定します。ストアドプロシージャのようなスキーマスコープのオブジェクトからスキーマを削除することはできませんが、xxx
からdbo
などのオブジェクトを別のスキーマに転送することができ、プロキシの2つの部分の名前はdbo.sp_test
になります。これはALTER SCHEMA
を使用して行われます。
ALTER SCHEMA dbo TRANSFER xxx.sp_test;
SELECT 'ALTER SCHEMA dbo TRANSFER [' + SysSchemas.Name + '].[' + DbObjects.Name + '];'
FROM sys.Objects DbObjects
INNER JOIN sys.Schemas SysSchemas ON DbObjects.schema_id = SysSchemas.schema_id
WHERE SysSchemas.Name = 'xxx'
AND (DbObjects.Type IN ('U', 'P', 'V'))
これは私がグスマン@ ..
あなたはDANS回答IMHOを受け入れなければならない私の謝罪を探していました。 – scsimon
、あなたはそれが正しいと:) – poc