14248
Jan 26, 2007, updated at Jan 30, 2007 (UTC)
5547
3
0
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.
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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 49906
Url: https://administrator.de/contentid/49906
Printed on: April 23, 2024 at 23:04 o'clock
3 Comments
Latest comment
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