SQL Server 中是否有一個選項/設定/默認值導致新的存盤程序被放置在您的用戶 ID 下而不是架構下dbo?經此腳本測驗,我在 db-owner 組中。
例如,我在 SSMS 中運行它:
create proc TestName as
print 'this is just a test'
創建的存盤程序是CORP\myuser.TestName,所以CORP\myuser似乎是架構,對吧?
還是我需要dbo.TestName在創建時具體指定?
與這個問題有關:Alter Schema Transfer failed even when I'm a db-owner
uj5u.com熱心網友回復:
創建的存盤程序是 CORP\myuser.TestName,所以 CORP\myuser 似乎是架構,對吧?
是的,我懷疑這是您的默認架構。
如何設定架構?
在物件上,你說CREATE PROCEDURE dbo.TestNameor CREATE PROCEDURE desired_schema_name.TestName。您以前不必這樣做是盲目的運氣,因為沒有人撰寫代碼具有不同的默認模式。但是還有其他不懶惰的原因:請參閱壞習慣:避免使用模式前綴。
在您的用戶上,您說:
ALTER USER [CORP\myuser] WITH DEFAULT_SCHEMA = dbo;
但這可能必須由具有更多權限的人運行,并且您可能甚至沒有權限在dbo架構中創建程序(或在那里傳輸物件)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/466135.html
上一篇:Row_number跳過值
