Hallo Entwickler-Forum,
ich verwende MS SQL 2005 Express und habe damit das Problem, dass ich eine Abfrage zwar aus dem Management Studio heraus durchführen kann, aber dies funktioniert nicht per Batch Datei.
Die Batch soll eigentlich mal als Windows-Task laufen und alle 5 Minuten eine Datenbank aktualisieren.
Teile meiner Abfrage:
GO
EXEC sp_addlinkedserver 'SRV01', N'SQL SERVER';
EXEC sp_addlinkedsrvlogin 'SRV01\INSTANCE', 'FALSE','sa', 'login', 'XXXXX';
GO
insert into "MY_PC\SQLEXPRESS".DB1.dbo.Data
select
Replace(VarName, 'PEW PED\', ''),
VarValue,
dateadd(day, -2, convert(datetime, convert(float,Time_ms/1000000)))
from "SRV01\INSTANCE".master.dbo.Data0
where dateadd(day, -2,convert(datetime, convert(float, Time_ms/1000000))) >
(select MAX(Date) from "MY_PC\SQLEXPRESS".DB1.dbo.Data)
And Validity = 1;
GO
EXEC sp_dropserver 'SRV01\INSTANCE', 'droplogins';
Ich hoffe mal, dass die Abfrage nicht all zu stümperhaft ausschaut.
Im nächsten Schritt rufe ich obiges Skript mit:
osql -U sa -P XXXXX -S MY_PC\SQLEXPRESS -i bat-test.sql
auf.
Die Verbindung und auch eine Abfrage mit "select * from sys.servers" funktioniert bestens, aber seltsamerweise wird mir in der Konsole ein Syntax-Fehler in der Nähe der Serverbezeichnungen gemeldet, obwohl sich das Skript fehlerfrei aus dem Management Studio ausführen lässt.
LG Ninnazu
ich verwende MS SQL 2005 Express und habe damit das Problem, dass ich eine Abfrage zwar aus dem Management Studio heraus durchführen kann, aber dies funktioniert nicht per Batch Datei.
Die Batch soll eigentlich mal als Windows-Task laufen und alle 5 Minuten eine Datenbank aktualisieren.
Teile meiner Abfrage:
GO
EXEC sp_addlinkedserver 'SRV01', N'SQL SERVER';
EXEC sp_addlinkedsrvlogin 'SRV01\INSTANCE', 'FALSE','sa', 'login', 'XXXXX';
GO
insert into "MY_PC\SQLEXPRESS".DB1.dbo.Data
select
Replace(VarName, 'PEW PED\', ''),
VarValue,
dateadd(day, -2, convert(datetime, convert(float,Time_ms/1000000)))
from "SRV01\INSTANCE".master.dbo.Data0
where dateadd(day, -2,convert(datetime, convert(float, Time_ms/1000000))) >
(select MAX(Date) from "MY_PC\SQLEXPRESS".DB1.dbo.Data)
And Validity = 1;
GO
EXEC sp_dropserver 'SRV01\INSTANCE', 'droplogins';
Ich hoffe mal, dass die Abfrage nicht all zu stümperhaft ausschaut.
Im nächsten Schritt rufe ich obiges Skript mit:
osql -U sa -P XXXXX -S MY_PC\SQLEXPRESS -i bat-test.sql
auf.
Die Verbindung und auch eine Abfrage mit "select * from sys.servers" funktioniert bestens, aber seltsamerweise wird mir in der Konsole ein Syntax-Fehler in der Nähe der Serverbezeichnungen gemeldet, obwohl sich das Skript fehlerfrei aus dem Management Studio ausführen lässt.
LG Ninnazu
Comment