0

Ich habe eine Abfrage auf einer großen Anzahl von Servern ausgeführt, und auf nur drei von ihnen (SQL2000, SQL2005 und SQL2008) schlägt die Abfrage fehl. Ich habe es auf eine Tabelle in einem anderen DB heruntergeregelt.Verweis auf eine andere Tabelle in T-SQL funktioniert nicht

SELECT * FROM MASTER.dbo.syslogins AS syslogins 

, die auf 99% der Server funktioniert, aber auf der drei gibt:

Invalid object name 'MASTER.dbo.syslogins' 

Wenn ich an den Master DB wechseln und führen

SELECT * FROM dbo.syslogins AS syslogins 

Dann funktioniert es. Ich habe auch geprüft, ich Berechtigungen von

SELECT IS_SRVROLEMEMBER('sysadmin'); 

läuft, die so ein 1. kehrt warum Referenzierung der Tabelle master.dbo.syslogins scheitern?

+2

Funktioniert es, wenn Sie MASTER in Kleinbuchstaben nennen? IE.SELECT * FROM master.dbo.syslogins –

+1

Ich kann nicht glauben, dass das funktioniert hat. Vielen Dank. – 6502peeker

+0

Für diese Server noch mit Sql Server 2000 stecken ... Sql Server 2000 ist viel zu Ende des Lebens. Es bekommt keine Patches mehr, selbst bei kritischen Sicherheitsproblemen, und schon lange nicht mehr. Die weitere Nutzung ist höchst unverantwortlich. Aktualisieren dieser Datenbanken ist Job 1. –

Antwort

1

Möglicherweise ist der Server mit einer Sortierung nach Groß-/Kleinschreibung eingerichtet. Versuchen

SELECT * FROM master.dbo.syslogins

+1

Das hat funktioniert, danke. – 6502peeker

Verwandte Themen