
14248
26.01.2007, aktualisiert am 30.01.2007
Sql Server 2005 Schemas deaktivieren?
Abfrage ohne Angabe des Schemas möglich?
Hallo erstmal,
ich habe noch nicht viele Erfahrungen in dem SQL Server 2005 gemacht aber mich schon durch verschiedene Tutorials gesucht.
Leider hab ich dazu noch nichts passendes gefunden.
Über unser altes System war es möglich SQL Abfragen (z.B SELECT * FROM test) ohne angabe des Benutzers bzw. des Schemas zu machen. Bei SQL Server 2005 ist mir aufgefallen, dass die Abfragen alle so laufen müssen (z.B. SELECT * from dbo.test).
Da ich kein Intresse habe in allen vorhandenen Programmen die Abfragen zu ändern, meine Frage ob man durch irgendeine Einstellung auch die einfachen Abfragen verwenden kann.
Über Antworten würde ich mich freuen.
Vielen Dank im voraus.
Hallo erstmal,
ich habe noch nicht viele Erfahrungen in dem SQL Server 2005 gemacht aber mich schon durch verschiedene Tutorials gesucht.
Leider hab ich dazu noch nichts passendes gefunden.
Über unser altes System war es möglich SQL Abfragen (z.B SELECT * FROM test) ohne angabe des Benutzers bzw. des Schemas zu machen. Bei SQL Server 2005 ist mir aufgefallen, dass die Abfragen alle so laufen müssen (z.B. SELECT * from dbo.test).
Da ich kein Intresse habe in allen vorhandenen Programmen die Abfragen zu ändern, meine Frage ob man durch irgendeine Einstellung auch die einfachen Abfragen verwenden kann.
Über Antworten würde ich mich freuen.
Vielen Dank im voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 49906
Url: https://administrator.de/forum/sql-server-2005-schemas-deaktivieren-49906.html
Ausgedruckt am: 05.04.2025 um 20:04 Uhr
3 Kommentare
Neuester Kommentar
Moin SauerBjörn,
vielleicht halte ich ja diese ganzen M$-Sicherheitskonzepte für zu simpel, aber ich würde es einfach als "sa" umschiessen mit
und das Ganze ggf. mit einem Job für alle User.
[ Skizze:
Wenn alle DeineUsers als Default-Schema 'dbo' haben, dürfte das Verhalten wieder so "wie damals" sein.
Ob das Sinn macht *axelzuck*....
Andererseits: Ist ja nur ein M$-SQLServer...was soll's.
HTH
Biber
vielleicht halte ich ja diese ganzen M$-Sicherheitskonzepte für zu simpel, aber ich würde es einfach als "sa" umschiessen mit
ALTER USER <derUsername> WITH DEFAULT_SCHEMA = dbo
und das Ganze ggf. mit einem Job für alle User.
[ Skizze:
DECLARE MeineUsers CURSOR
READ_ONLY
FOR SELECT [NAME] from sys.database_principals
where
[principal_id] > 5 AND
[type] = 'U' AND
[name] = [default_schema_name]
OPEN MeineUsers
FETCH NEXT FROM MeineUsers INTO @derUsername
WHILE (@@fetch_status <> -1)
BEGIN
SET @SQL = 'ALTER USER [' + @derUsername + '] WITH DEFAULT_SCHEMA = dbo'
EXEC (@SQL)
FETCH NEXT FROM MeineUsers INTO @derUsername
END
CLOSE MeineUsers
DEALLOCATE MeineUsers
Wenn alle DeineUsers als Default-Schema 'dbo' haben, dürfte das Verhalten wieder so "wie damals" sein.
Ob das Sinn macht *axelzuck*....
Andererseits: Ist ja nur ein M$-SQLServer...was soll's.
HTH
Biber