A következő címkéjű bejegyzések mutatása: MS SQL. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: MS SQL. Összes bejegyzés megjelenítése

2013. március 8., péntek

MDF(adat) fileok felcsatolása az LDF(log) fileok nélkül

Az SQL Management Studio-ban van lehetőség arra hogy egyszerűen fel- és lecsatoljunk adatbázisokat, megkerülve a backup procedúrát.
DE!
Ha valami közbejön, és nem azt a log filet akarjuk becsatolni alá ami volt (pl mert nagy), akkor előfordulhat hogy "megzavarodik", és vért izzadós mire a master táblákból kivadásszuk hogy hol melyik adatbázisnak milyen file útvonalak vannak elmentve. És ilyenkor a db recovery módba kerül, sokminden nem segít. Ehelyett a tapasztalat azt mutatja, hogy célszerűbb script-ből egyszerűen megadni hogy mi legyen a db neve, és hogy hol van az MDF amit csatolni akarunk (ezzel kell kezdeni, és elfelejteni a management studio beépített menüjét).

Nekem ez tökéletesen bevált:

USE [master]
GO

EXEC sp_attach_single_file_db @dbname='TestDb',@physname=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestDb.mdf'
GO

Létrehoz egy új logfilet, és működik minden. Ha ezzel kezdjük. Ha elcsesszük valahol (pl a Management Studio-val), akkor horrorisztikus.

Itt találtam erről cikket, de számtalan más blogon is írnak a problémáról:
http://blog.sqlauthority.com/2010/04/26/sql-server-attach-mdf-file-without-ldf-file-in-database/

2012. február 7., kedd

Lemaradt indexek

MS SQL-ből kinyerni a lemaradt indexeket:
SELECT migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) AS improvement_measure, 'CREATE INDEX [missing_index_' + CONVERT (varchar, mig.index_group_handle) + '_' + CONVERT (varchar, mid.index_handle) + '_' + LEFT (PARSENAME(mid.statement, 1), 32) + ']' + ' ON ' + mid.statement + ' (' + ISNULL (mid.equality_columns,'') + CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END + ISNULL (mid.inequality_columns, '') + ')' + ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement, migs.*, mid.database_id, mid.[object_id]FROM sys.dm_db_missing_index_groups migINNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handleINNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handleWHERE migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) > 10ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC


http://blogs.msdn.com/b/bartd/archive/2007/07/19/are-you-using-sql-s-missing-index-dmvs.aspx

2012. január 16., hétfő

MS SQL iFilter

iFilter az MS SQL-ben a BLOB mezőben lévő dokumentumok full-text-search alapú plug-in-je indexeléshez.

Van office fájlokra: http://support.microsoft.com/kb/945934
vagy PDF-re némi installációs tapasztalattal: http://stackoverflow.com/questions/272694/using-full-text-search-with-pdf-files-in-sql-server-2005

vagy általánosságban:
http://blogs.msdn.com/b/shajan/archive/2005/12/09/extending-sql-2005-fulltext-search.aspx
http://technet.microsoft.com/en-us/library/ms142499.aspx

2012. január 11., szerda

SQL Session DB probléma

Ha ezt az EXCEPTION-t kapod a web appliációtól:
The EXECUTE permission was denied on the object 'TempGetStateItemExclusive3', database 'CafeteriaSessionDB', schema 'dbo'.
Vagy szerinte nincs ASPSTATE DB rendesen feltéve és 2.0-nak megfelelőnek kell lennie, akkor a következő beállítás segít (főleg, ha csökkentett jogokkal bír a user a DB felett):
Magán a létrehozott SessionDB-n properties, majd permissions, ott kiválasztod a usert, majd alatta a listából a Control jog megadása hiányzik.

2011. december 6., kedd

Mai napi WTF? Magyar ABC 1x1

Amikor az a kérés jön a kollégától vagy ügyféltől, hogy rendezze megfelelően ABC-be a szavakat az SQL vagy jQuery, akkor a helyes sorrend:
Ág, Akna, nem pedig Akna, Ág.

http://tudastar.netacademia.net/default.aspx?upid=31185
http://mek.oszk.hu/01500/01547/index.phtml

2011. július 12., kedd

Reporting Services kontra böngésző függetlenség

Vékony a jég, mert bár html alapú és megy a böngészőkben, de a nyomtatáshoz már OCX-et kell installálni, tehát ha az ügyfél teljes böngésző függetlenséget kér riportolásra (aminek eléggé szerves része a nyomtatás, lássuk be), akkor nem lehet ráhazudni, hogy teljesen böngésző független a motor.