Toate zilele bune. Cu MS SQL Server nu a funcționat recent întâlnite la locul de muncă, trebuie să efectuați o sarcină de serviciu, dar a dat peste un anumit stranietate, ar fi foarte recunoscător experților pentru răspunsul de ce se întâmplă sau sfaturi, în cazul în care cu privire la aceasta la sine. Sunt sigur că sunt doar ceva ce nu înțeleg.
În continuare, în cazul în care creați un tabel folosind comanda CREATE TABLE:
atunci totul este bine, există un tabel atașat la sistemul DBO:
Dar, dacă faci creați un tabel folosind SELECT INTO:
masa este creat și un nou sistem, al cărui nume este identic cu numele de domeniu CORP \ Ivanov. și anume tabel este prevăzut în arborele de obiecte ca:
Care este motivul pentru care un astfel de comportament?
Sunt conștient de faptul că dacă specificați schema DBO la crearea unui tabel, tabelul este creat în această schemă:
Dar interesul este o variantă fără îndrumarea ei.
M-am uitat în sys.database_principals de reprezentare a sistemului, într-adevăr, schema implicită pentru utilizatorul sub care am conectat la fel ca nume de domeniu. Faptul că CREATE TABLE creează un tabel în schema de DBO, am prea fost surprins, dar nu a cerut, deoarece copiat-o caracteristică a SQL Server și problema mea a fost rezolvată, deoarece utilizatorul sub care script-ul va fi executat într-un mod viu este schema implicită DBO. - Sergey041691 06 august '15 la 10:39
Fiecare utilizator are o schemă de baze de date implicită, care listează tabelele pe care le creează, fără o schemă.
În mod implicit, sistemul implicit este același cu numele de utilizator (ecoul acelor vremuri când „numele de utilizator“ și „schema“ erau sinonime).