28Dec/100
Dagens tips – Laga användare efter återställning i MS SQL
Som utvecklare tar jag hyfsat ofta backup och göra återläsningar av databaser. När man gör detta tappar SQL användarna sina inloggningar och jag har inte funderat så mycket på det utan bara tagit bort och skapat upp dem igen. Naturligtvis finns det ett mer elegant sätt. Man kan köra en stored procedure på databasen i fråga så fixas detta.
EXEC sp_change_users_login 'Auto_Fix', 'Användarnamn', NULL, 'Lösenord'
Kanske helt uppenbart för vissa personer men jag och många andra hade missat detta.
8Dec/100
Köra en stored procedure för varje rad i SELECT
Idag behövde jag ta bort ca 300 rader och kunde få ut berörda rader med en SELECT fråga. För att ta bort en rad behövde jag köra en stored procedure för att även ta bort relaterande data. Detta löstes smidigt genom följande script som jag hittade på Stackoverflow:
declare @field1 int
declare @field2 int
declare cur CURSOR LOCAL for
select field1, field2 from sometable where someotherfield is null
open cur
fetch next from cur into @field1, @field2
while @@FETCH_STATUS = 0 BEGIN
--execute your sproc on each row
exec uspYourSproc @field1, @field2
fetch next from cur into @field1, @field2
END
close cur
deallocate cur