PeddaMedlem sedan juni 20006 032 inlägg Jag har två databaser som är likadana, samma tabeller etc.
Det enda som skiljer är givetvis innehållet i tabellerna.
I stället för att behöva köra två frågor så skulle jag vilja kunna köra bara en.
Men jag är inte ens säker på om det går?
Denna fråga har jag nu mot en databas.
use sweswvaxj0005_WSS_Content
SELECT
sites.LastContentChange
,webs.FullUrl
,webs.Title
FROM [AllSites] as sites
INNER JOIN [AllWebs] as webs
ON sites.Id = webs.SiteId
WHERE LastContentChange < '2014-07-01'
ORDER BY sites.LastContentChange ASC
angelicaMedlem sedan juli 2013281 inlägg Jag är inte expert på alla världens databaser...
Men, du har ju någon form av EXECUTE kommando i många databaser och då skickas frågan till EN databas.
Jag tror / gissar att det är enklast att skicka en fråga till varje databas och sen spara materialet i någon form av variabel och sen mixtra med den variabeln, som array eller liknande.
Du ska tänka på att du ska komma ihåg vad du gjorde efter två-tre månader, så med det i åtanke kan kanske en liten omväg vara att föredra då det är lättare att redigera i efterhand.
Ja... det är hög spekulation på detta inlägget, det ska medges! :-)
PeddaMedlem sedan juni 20006 032 inlägg Löste det med en temporär tabell och två select.
Kanske inte den bästa lösningen? Men så får det bli för tillfället.
-- Ändra värde på @fromdate
DECLARE @fromdate as Date
SET @fromdate = '2014-07-01'
DECLARE @LastContentChangeTemp TABLE (
LastContentChange datetime
, FullUrl nvarchar(256)
, Title nvarchar(255)
)
INSERT INTO @LastContentChangeTemp (LastContentChange, FullUrl, Title)
SELECT sites.LastContentChange
,webs.FullUrl
,webs.Title
FROM [sweswvaxj0005_WSS_Content].[dbo].[AllSites] as sites
INNER JOIN [sweswvaxj0005_WSS_Content].[dbo].[AllWebs] as webs
ON sites.Id = webs.SiteId
WHERE LastContentChange < @fromdate
ORDER BY sites.LastContentChange ASC
INSERT INTO @LastContentChangeTemp (LastContentChange, FullUrl, Title)
SELECT sites.LastContentChange
,webs.FullUrl
,webs.Title
FROM [sweswvaxj0005_WSS_Content_2].[dbo].[AllSites] as sites
INNER JOIN [sweswvaxj0005_WSS_Content_2].[dbo].[AllWebs] as webs
ON sites.Id = webs.SiteId
WHERE LastContentChange < @fromdate
ORDER BY sites.LastContentChange ASC
SELECT * FROM @LastContentChangeTemp
Om det är sql server så är principen denna:
SELECT * FROM Databas1.dbo.TabellNamn
UNION ALL
SELECT * FROM Databas2.dbo.TabellNamn
prplxrMedlem sedan juni 2012582 inlägg Kort följdfråga. Varför har du inte all data i samma databas och samma tabell med ett fält som anger vilken typ av data raden innehåller?
PeddaMedlem sedan juni 20006 032 inlägg Det är en server farm med över 5000 SharePoint siter. Därav flera databaser.