понедељак, 25. август 2014.

Clear cache na SQL

Vrlo korisna stvar pre početka merenja performansi napisane procedure na SQLu je očistiti keš. Pre pozivanja upita treba izvršiti sledeće komande:

CHECKPOINT; 
GO 
DBCC DROPCLEANBUFFERS; 
GO
EXEC sp_......

четвртак, 21. август 2014.

Pozicioniranje na izmenjeni slog na continous formi u Access-u

Nakon refresha continous/datasheet forme Access pozicionira pokazivač sloga na prvi slog u tabeli. Rešenje koje možda nije najelegantnije ali provereno radi :


Dim currID As Variant
currID = Me.ID
Dim rsC As Recordset
Set rsC = Me.RecordsetClone
Me.Requery
With rsC
    .Find "ID = '" & currID & "'"
    If .EOF Then
         MsgBox "Ne mogu da pronađem podatak"
     Else
         Me.Bookmark = .Bookmark
    End If
End With

петак, 15. август 2014.

Unique Constraint samo za nove unose

Imao sam zahtev da počev od ovog momenta svi podaci koji se unose u tabelu (VEEEELIKU) moraju da budu jedinstveni po određenom kriterijumu (kombinacija više polja). Najelegantnije rešenje za to je Unique Constraint u sledećem obliku:

USE ime_baze
GO

CREATE UNIQUE NONCLUSTERED INDEX [tabela_BezDuplihStavki] ON [dbo].[tabela]
(
[prvo_polje] ASC,
[drugo_polje] ASC
)
WHERE ([ID]>(poslednji_id.))
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO


Ovim se od poslednjeg unetog id-a u tabeli (poslednji_id) proveravaju svi naredni unosi.

среда, 13. август 2014.

Kako pronaći u SQL 2008 bazi tabele koje imaju uključen Change Tracking

Sledeći upit izlistava sve tabele u bazi  koje imaju uključen Change Tracking:

USE ime_baze
go

SELECT sys.schemas.name AS SchemaName, sys.tables.name AS TableName FROM sys.change_tracking_tables
JOIN sys.tables ON sys.tables.object_id = sys.change_tracking_tables.object_id
JOIN sys.schemas ON sys.schemas.schema_id = sys.tables.schema_id

уторак, 12. август 2014.

Produženje/zamena sertifikata za Exchange 2007

Da bi zamenili sertifikat za Outlook pristup Exchange Serveru 2007 potrebno je generisati novi i obrisati stari sertifikat. Prvo treba ustanoviti koji je ID starog sertifikata (Thumbprint) i to je najlakše ustanoviti iz dijaloga sa greškom o sertifikatu koji Outlook prikaže. Zatim generisati novi kucajući komandu iz Exchange Shell-a na serveru:

New-ExchangeCertificate

Sertifikat će automatski zameniti stari ali stari neće biti obrisan i njega brišemo komandom:

Remove-ExchangeCertificate -thumbprint [ID starog sertifikata - Thumbprint]

Novokreirani sertifikat treba povezati sa Exchange servisima:

Enable-ExchangeCertificate -thumbprint  [ID novog sertifikata - Thumbprint] -services:IIS,SMTP,POP,IMAP





SQL2008 - Prebacivanje vrednosti kolona tabele u jedan red

Sledeći kod vraća sve vrednosti iz kolone IDArtikla iz tabele FStavke za vrednost polja IDFakture odvojene zarezom u u jedan string:

SELECT STUFF( (SELECT        ', ' + CAST(IDArtikla  as nvarchar(10))
FROM   FStavke
WHERE        (IDFakture = 198093)
ORDER BY ID
                             FOR XML PATH('')),
                            1, 1, '')