![]() |
Datenbank: MS-SQL-Server 2000 • Zugriff über: Native ADO
MS-SQL-Server und SELECT
Hallo,
ich habe mit dem Adminuser admin1 eine Tabelle (tabel1) angelegt. Jetzt habe ich einen User (abc Mitglied in db_datareader) angelegt. Der Besitzer der Tabelle ist admin1. Wenn ich mich mit dem User abc anmelde muss ich bei einem SELECT auf die Tabelle table1 die Besitzernamen mit angeben.
SQL-Code:
Gibt es auch eine Möglichkeit ohne admin1. auf die Tabelle mit User abc zu zugreifen?
SELECT * FOM admin1.tabel1
|
Re: MS-SQL-Server und SELECT
Mach doch den User zum Table-Owner.
|
Re: MS-SQL-Server und SELECT
Zitat:
Ist sichergestellt, dass der User weiterhin nur lesen kann? |
Re: MS-SQL-Server und SELECT
Hi,
besser ist es sicher, die Tabelle als DBO zu erstellen:
SQL-Code:
DBO-Objekte können von allen Usern ohne Prefix selektiert werden (obwohl ein "select * from dbo.tabelle" performanter ist).
create table dbo.beispiel ( ...
[edit] Um den weiteren Zugriff zu regeln, kann man mit
SQL-Code:
die Rechte für die Gruppe "Jeder" einschränken.
deny insert, update, delete on dbo.beispiel to public
grant select on dbo.beispiel to public [/edit] |
Re: MS-SQL-Server und SELECT
Hallo,
und wie sieht es aus, wenn ich keinen Einfluss darauf habe wer die Tabellen erstellt? |
Re: MS-SQL-Server und SELECT
Hi,
Zitat:
Zitat:
Egal, mit welchem User man am SQL-Server angemeldet ist, kann man mit
SQL-Code:
eine Tabelle erzeugen, die "dem dbo gehört", und auf die alle ohne Qualifier zugreifen können.
create table dbo.beispiel ( ...
Oder ich verstehe dein Problem noch nicht richtig? |
Re: MS-SQL-Server und SELECT
Hallo,
das war wohl ein Mißverständnis. Ich habe admin1 geschrieben, weil alle Tabellen zwingend mit diesem User angelegt werden müssen. Darauf habe ich keinen Einfluß. Wir haben Hyperion (heute Qracel) Planning im Einsatz. Das Planning besteht aus 2 Teilen einem OLAP Teil und einem relationalen Respository (MS-SQL-Server). Beim Aufsetzen der Planning Applikation muss u.a. ein Benutzer für den MS-SQL-Server angegeben werden. Mit diesem Benutzer werden dann im Hintergrund die Tabelle angelegt. Ich möchte jetzt mit einem User, der nur Lesen darf diese Tabelle auslesen. |
Re: MS-SQL-Server und SELECT
Hi,
wenn die Tabellen selbst nicht beeinflusst werden dürfen, kannst du auch eine View erstellen, die den Tabellenowner qualifiziert, selbst aber dem dbo gehört und damit ohne Besitzer-Angabe aufgerufen werden kann:
SQL-Code:
[edit]verschreibser[/edit]
create view dbo.v_tabel1 ( spalte1, spalte2, ... )
as select spalte1, spalte2, ... from admin1.tabel1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz