<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://knowledge-base.havit.cz/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang=""><title type="html">SQL</title><subtitle type="html">Microsoft SQL Server, Transact-SQL, Business Intelligence, CLR, ...</subtitle><id>http://knowledge-base.havit.cz/sql/atom.aspx</id><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/default.aspx" /><link rel="self" type="application/atom+xml" href="http://knowledge-base.havit.cz/sql/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61025.1">Community Server</generator><updated>2006-09-25T21:26:00Z</updated><entry><title>N&#225;vrh sch&#233;matu datab&#225;ze v praxi - prezentace z MS Fest 2011</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Navrh-schematu-databaze-v-paxi-prezentace-z-MS-Fest-2011.aspx" /><id>http://knowledge-base.havit.cz/sql/Navrh-schematu-databaze-v-paxi-prezentace-z-MS-Fest-2011.aspx</id><published>2011-11-26T23:57:00Z</published><updated>2011-11-26T23:57:00Z</updated><content type="html">Prezentaci (slides) z mé dnešní přednášky "Návrh schématu databáze v praxi" na MS Fest 2011 najdete v sekci soubory ....(&lt;a href="http://knowledge-base.havit.cz/sql/Navrh-schematu-databaze-v-paxi-prezentace-z-MS-Fest-2011.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=733" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="Schema" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Schema/default.aspx" /></entry><entry><title>Neměňte &quot;Maximum server memory (in MB)&quot; na 0</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Nemente-Maximum-server-memoty-in-MB-na-0.aspx" /><id>http://knowledge-base.havit.cz/sql/Nemente-Maximum-server-memoty-in-MB-na-0.aspx</id><published>2011-05-12T06:59:00Z</published><updated>2011-05-12T06:59:00Z</updated><content type="html">Dneska jsem se nechal unést a chtěl jsem vypnout na MS SQL 2008 R2 horní mez využité paměti, kterou jsme měli na serveru staženou na 2.5 GB. Nu což, vlezl jsem do SQL Management Studia, dal jsem si vlastnosti serveru, koukám do nastavení Memory a změnil jsem nastavení vlastnosti "Maximum server memory (in MB)" z 2500 na 0 velmi naivně předpokládajíc, že stejně jako jinde to bude interpretováno jako "no limit". Omyl, to nezkoušejte. Poslední, co jsem ještě záhledl bylo, že si to SQL sám změnil na...(&lt;a href="http://knowledge-base.havit.cz/sql/Nemente-Maximum-server-memoty-in-MB-na-0.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=706" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="Administrace" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Administrace/default.aspx" /></entry><entry><title>N&#225;vrh sch&#233;matu datab&#225;ze v praxi - materi&#225;ly z prezentace TechEd CZ 2011</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Navrh-schematu-databaze-v-praxi-materialy-z-prezentace-TechEd-CZ-2011.aspx" /><id>http://knowledge-base.havit.cz/sql/Navrh-schematu-databaze-v-praxi-materialy-z-prezentace-TechEd-CZ-2011.aspx</id><published>2011-05-05T09:12:00Z</published><updated>2011-05-05T09:12:00Z</updated><content type="html">Prezentaci i část ukázkových databází k mé dnešní přednášce najdete v sekci Soubory ....(&lt;a href="http://knowledge-base.havit.cz/sql/Navrh-schematu-databaze-v-praxi-materialy-z-prezentace-TechEd-CZ-2011.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=703" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="Schema" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Schema/default.aspx" /></entry><entry><title>Česk&#253; stemmer do MSSQL 2008 R2 x64</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Cesky-stemmer-do-MSSQL-2008-R2-x64.aspx" /><id>http://knowledge-base.havit.cz/sql/Cesky-stemmer-do-MSSQL-2008-R2-x64.aspx</id><published>2011-02-04T12:31:00Z</published><updated>2011-02-04T12:31:00Z</updated><content type="html">Dneska se budu s laskavým svolením chlubit cizím peřím, uvádím postup (mnou neověřený, ale z důvěryhodného zdroje - od Roberta Kindla z firmy EXEC ), jak do MS SQL 2008 R2 x64 dostat český stemmer pro fultextové vyhledávání: **** musis nainstalovat Microsoft Search Server 2010 Express - to by melo byt zdarma a cesky stemmer to obsahuje bohuzel je ale ten stemmer dostupny jen v tom Sharepointu (neregistruje se to do systemu) takze jsem vlasnimi silami vyhackoval toto: Windows Registry Editor Version...(&lt;a href="http://knowledge-base.havit.cz/sql/Cesky-stemmer-do-MSSQL-2008-R2-x64.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=692" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="Fulltext" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Fulltext/default.aspx" /></entry><entry><title>Microsoft Fest 2009 - Optimalizace DB aplikac&#237; - prezentace a dema ke stažen&#237;</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Microsoft-Fest-2009-Optimalizace-DB-aplikaci-prezentace-a-dema-ke-stazeni.aspx" /><id>http://knowledge-base.havit.cz/sql/Microsoft-Fest-2009-Optimalizace-DB-aplikaci-prezentace-a-dema-ke-stazeni.aspx</id><published>2009-11-29T21:46:00Z</published><updated>2009-11-29T21:46:00Z</updated><content type="html">Na konferenci Microsoft Fest 2009 jsem dnes prezentoval přednášku "Optimalizace databázových aplikací v praxi", jedná se o částečně obměněnou podobu session již prezentované na SQL DevDays 2009. Slides, demo-kód i ukázkové databáze (atributová databáze a schema-killers) jsou k dispozici ke stažení ....(&lt;a href="http://knowledge-base.havit.cz/sql/Microsoft-Fest-2009-Optimalizace-DB-aplikaci-prezentace-a-dema-ke-stazeni.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=584" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author></entry><entry><title>SQL DevCon 2009: Optimalizace SQL dotazů v praxi - prezentace a dema z předn&#225;šky ke stažen&#237;</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/SQL-DevCon-2009-Optimalizace-SQL-dotazu-v-praxi-prezentace-a-dema-z-prednasky-ke-stazeni.aspx" /><id>http://knowledge-base.havit.cz/sql/SQL-DevCon-2009-Optimalizace-SQL-dotazu-v-praxi-prezentace-a-dema-z-prednasky-ke-stazeni.aspx</id><published>2009-07-02T21:09:00Z</published><updated>2009-07-02T21:09:00Z</updated><content type="html">V sekci soubory najdete ke stažení materiály (prezentaci a dema) z mé přednášky "Optimalizace SQL dotazů v praxi" na SQL DevCon 2009 Praha....(&lt;a href="http://knowledge-base.havit.cz/sql/SQL-DevCon-2009-Optimalizace-SQL-dotazu-v-praxi-prezentace-a-dema-z-prednasky-ke-stazeni.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=539" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author></entry><entry><title>Transaction log narůst&#225;, backup nepom&#225;h&#225;, shrink ne&#250;činn&#253; - aktualizov&#225;no pro SQL2008</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Transaction-log-narusta-backup-truncate-shrink.aspx" /><id>http://knowledge-base.havit.cz/sql/Transaction-log-narusta-backup-truncate-shrink.aspx</id><published>2009-02-16T09:28:00Z</published><updated>2009-02-16T09:28:00Z</updated><content type="html">Na MSSQL serveru se občas stává, že backupování přestane truncatovat transaction log a ten narůstá a narůstá. Z nějakého důvodu je potřeba udělat sekvenci shrink-backup-shrink, aby bylo dosaženo požadovaného účinku: 1) Run this code: DBCC SHRINKFILE(pubs_log, 2) 2) Run this code if you want to truncate the transaction log and not keep a backup of the transaction log. Truncate_only invalidates your transaction log backup sequence. Take a full backup of your database after you perform backup log with...(&lt;a href="http://knowledge-base.havit.cz/sql/Transaction-log-narusta-backup-truncate-shrink.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=127" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="Errors" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Errors/default.aspx" /><category term="bugs" scheme="http://knowledge-base.havit.cz/sql/archive/tags/bugs/default.aspx" /></entry><entry><title>Vytvořen&#237; loginu pro dom&#233;novou skupinu</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Vytvoreni-loginu-pro-domenovou-skupinu.aspx" /><id>http://knowledge-base.havit.cz/sql/Vytvoreni-loginu-pro-domenovou-skupinu.aspx</id><published>2008-05-22T16:20:00Z</published><updated>2008-05-22T16:20:00Z</updated><content type="html">V management nástrojích pro SQL Server 2005 nelze založit login pro doménovou skupinu. Login se mi podařilo založit pomocí příkazu create login [HAVIT\Development] from windows kde v našem případě je Development doménovou skupinou. Další pozorování je, že login doménové skupiny není možné pomocí management studia zakázat: při nastavení Login na Disabled je zobrazena chyba, nastavení Permissions to connect to database engine na Deny je ignorováno....(&lt;a href="http://knowledge-base.havit.cz/sql/Vytvoreni-loginu-pro-domenovou-skupinu.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=438" width="1" height="1"&gt;</content><author><name>kanda</name><uri>http://knowledge-base.havit.cz/members/kanda.aspx</uri></author></entry><entry><title>Uložen&#237; sch&#233;matu datab&#225;ze do SQL skriptu, z GUI i př&#237;kazov&#233; ř&#225;dky</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Ulozeni-schematu-databaze-do-SQL-skriptu-z-GUI-i-prikazove-radky.aspx" /><id>http://knowledge-base.havit.cz/sql/Ulozeni-schematu-databaze-do-SQL-skriptu-z-GUI-i-prikazove-radky.aspx</id><published>2008-04-06T15:53:00Z</published><updated>2008-04-06T15:53:00Z</updated><content type="html">Občas se Vám může hodit možnost vyskriptovat kompletní databázové schéma do SQL skriptu. Spuštěním takového skriptu pak můžete úplné DB schema zpětně reakonstruovat. Pokud jste si (ne)oblíbili schopnosti databázové edice Visual Studia stejně jako já, pak Vás potěším, že to jde i mnohem jednodušeji pomocí tzv. SQL Publishing Wizzardu přímo ze sady standardních management nástrojů SQL Serveru 2005: Vyskriptování schématu DB z GUI Spusťte si SQL Server 2005 Management Studio V Object Exploreru pravým...(&lt;a href="http://knowledge-base.havit.cz/sql/Ulozeni-schematu-databaze-do-SQL-skriptu-z-GUI-i-prikazove-radky.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=423" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="Obecn&amp;#233;" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Obecn_26002300_233_3B00_/default.aspx" /><category term="Administrace" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Administrace/default.aspx" /></entry><entry><title>Přenastaven&#237; poč&#237;tadla pro identity sloupec (Identity Seed, RESEED)</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Prenastaveni-pocitadla-pro-identity-sloupec-Identity-Seed-RESEED.aspx" /><id>http://knowledge-base.havit.cz/sql/Prenastaveni-pocitadla-pro-identity-sloupec-Identity-Seed-RESEED.aspx</id><published>2008-02-28T09:11:00Z</published><updated>2008-02-28T09:11:00Z</updated><content type="html">Přenastavení počítadla pro identity sloupec na 1: DBCC CHECKIDENT (MyTable, RESEED, 1) Počítadlo vyresetuje na výchozí hodnotu i TRUNCATE TABLE, který slouží pro vymazání celé tabulky. Více o DBCC CHECKIDENT [MSDN]....(&lt;a href="http://knowledge-base.havit.cz/sql/Prenastaveni-pocitadla-pro-identity-sloupec-Identity-Seed-RESEED.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=401" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="T-SQL" scheme="http://knowledge-base.havit.cz/sql/archive/tags/T-SQL/default.aspx" /></entry><entry><title>Rozd&#237;l mezi COALESCE() a ISNULL()</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Rozdil-mezi-COALESCE-a-ISNULL.aspx" /><id>http://knowledge-base.havit.cz/sql/Rozdil-mezi-COALESCE-a-ISNULL.aspx</id><published>2007-01-28T20:11:00Z</published><updated>2007-01-28T20:11:00Z</updated><content type="html">COALESCE() je z ANSI/ISO standardu SQL32, kdežto ISNULL() je jen T-SQL rozšíření (Microsoft SQL Serveru). ISNULL() má vlastní interpretaci, kdežto COALESCE() je pouze zkrácený zápis pro CASE strukturu a i se tak provádí: CASE WHEN (expression1 IS NOT NULL ) THEN expression1 ... WHEN (expressionN IS NOT NULL ) THEN expressionN ELSE NULL END Typ výsledku ISNULL() je vždy dle prvního parametru, typ výsledku COALESCE() odpovídá CASE struktuře, tj. pokouší se o maximální záběr ze všech parametrů (SQL...(&lt;a href="http://knowledge-base.havit.cz/sql/Rozdil-mezi-COALESCE-a-ISNULL.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=228" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="T-SQL" scheme="http://knowledge-base.havit.cz/sql/archive/tags/T-SQL/default.aspx" /></entry><entry><title>Pozor na transakce - rollback nen&#237; vždy automatick&#253;!</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Pozor-na-transakce-rollback-neni-automaticky-SET-XACT_5F00_ABORT-ON.aspx" /><id>http://knowledge-base.havit.cz/sql/Pozor-na-transakce-rollback-neni-automaticky-SET-XACT_5F00_ABORT-ON.aspx</id><published>2007-01-14T19:01:00Z</published><updated>2007-01-14T19:01:00Z</updated><content type="html">Nezkušeného vývojáře, ale jak jsem se bohužel na vlastní oči mnohdy přesvědčil - mnohdy i velmi zkušeného vývojáře, dokáže zdrcujícím způsobem překvapit výsledek následujícího jednoduchého příkladu: CREATE TABLE TransactionTestTable ( TransactionTestID int IDENTITY PRIMARY KEY , TransactionText nvarchar (100) ) GO CREATE PROCEDURE TransactionTest AS BEGIN TRANSACTION -- Korektní SQL statement uvnitř transakce INSERT INTO TransactionTestTable(TransactionText) VALUES ( 'První insert' ) -- Simulace...(&lt;a href="http://knowledge-base.havit.cz/sql/Pozor-na-transakce-rollback-neni-automaticky-SET-XACT_5F00_ABORT-ON.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=225" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="T-SQL" scheme="http://knowledge-base.havit.cz/sql/archive/tags/T-SQL/default.aspx" /><category term="Transakce" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Transakce/default.aspx" /></entry><entry><title>Service Broker: Notifikace .NET aplikace z SQL serveru (events, queries, messages)</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/Service-Broker-Notifikace-NET-aplikace-z-SQL-serveru.aspx" /><id>http://knowledge-base.havit.cz/sql/Service-Broker-Notifikace-NET-aplikace-z-SQL-serveru.aspx</id><published>2006-12-04T21:47:00Z</published><updated>2006-12-04T21:47:00Z</updated><content type="html">SQL Server 2005 přichází s novou funkčností tzv. Service Brokera - komplexní message-based komunikační platformy, s frontami a dalšími prvky potřebnými pro stavbu robustních SOA aplikací (Service Oriented Architecture). Podrobněji o Service Brokeru viz SQL Books Online, pro nás je pro tuto chvíli podstatné, že prostřednictvím Service Brokera lze implementovat rozumnou podobu notifikací z SQL serveru do .NET aplikací, kdy jsou .NET aplikace SQL serverem informovány o určitých událostech (např. různých...(&lt;a href="http://knowledge-base.havit.cz/sql/Service-Broker-Notifikace-NET-aplikace-z-SQL-serveru.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=198" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="Service Broker" scheme="http://knowledge-base.havit.cz/sql/archive/tags/Service+Broker/default.aspx" /></entry><entry><title>Nelze použ&#237;t Maintenance Plan Wizzard v SQL 2005 Management Studiu (jen na x64 verzi)</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/191.aspx" /><id>http://knowledge-base.havit.cz/sql/191.aspx</id><published>2006-11-08T16:42:00Z</published><updated>2006-11-08T16:42:00Z</updated><content type="html">Při pokusu použít Maintenance Plan Wizzard v SQL 2005 Management studiu jsem získal při pokusu o naplánování úlohy chybu, že to není možné. Po instalaci SP1 se situace změnila v tom duchu, že Maintenance Plan Wizzard nebylo možné otevřít vůbec - Studio si stěžovalo na blíže nespecifikovanou chybějící komponentu. Ve formuláři je uveden odkaz vedoucí na návod k instalaci (k ničemu), problém se vyskytuje pravděpodobně jen v x64 verzi. The action you attempted to perform on a remote instance of SQL Server...(&lt;a href="http://knowledge-base.havit.cz/sql/191.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=191" width="1" height="1"&gt;</content><author><name>kanda</name><uri>http://knowledge-base.havit.cz/members/kanda.aspx</uri></author></entry><entry><title>@@IDENTITY vs. SCOPE_IDENTITY()</title><link rel="alternate" type="text/html" href="http://knowledge-base.havit.cz/sql/IDENTITY-vs-SCOPE-IDENTITY-identity-column.aspx" /><id>http://knowledge-base.havit.cz/sql/IDENTITY-vs-SCOPE-IDENTITY-identity-column.aspx</id><published>2006-09-25T19:26:00Z</published><updated>2006-09-25T19:26:00Z</updated><content type="html">Velmi často se setkávám se zaměňováním "funkcí" @@IDENTITY a SCOPE_IDENTITY(). Obě dvě dvě představují hodnotu identity-sloupce posledního INSERTu, nicméně každý trochu jinak definovanou a v určitých případech se mohou jejich výsledky lišit. Definice @@IDENTITY představuje poslední vloženou identity hodnotu v kontextu celé session, veškeré její aktivity. SCOPE_IDENTITY() představuje poslední vloženou identity hodnotu v kontextu aktuálního scope, v nejužším slova smyslu. Příklad Mějme tabulku Table1...(&lt;a href="http://knowledge-base.havit.cz/sql/IDENTITY-vs-SCOPE-IDENTITY-identity-column.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://knowledge-base.havit.cz/aggbug.aspx?PostID=158" width="1" height="1"&gt;</content><author><name>haken</name><uri>http://knowledge-base.havit.cz/members/haken.aspx</uri></author><category term="T-SQL" scheme="http://knowledge-base.havit.cz/sql/archive/tags/T-SQL/default.aspx" /></entry></feed>
