dolezel.net

Co není v hlavě, je v blogu...

SQL 2000/2005 - rychlé nastavení Execute práva u uložených procedur

Občas je potřeba nastavit práva na spouštění (EXECUTE) u vícero uložených procedur pro jednoho SQL uživatele. Proklikávat a kontrolovat je manuálně je zoufalý počin. Rychlejší je spustit si níže uvedený SQL příkaz, který připraví příslušné GRANTy:

SELECT 'grant EXECUTE on ' + QUOTENAME(ROUTINE_SCHEMA) + '.' +QUOTENAME(ROUTINE_NAME) + ' TO db_sp_executor' FROM INFORMATION_SCHEMA.ROUTINES WHERE OBJECTPROPERTY(OBJECT_ID(ROUTINE_NAME),'IsMSShipped') = 0

db_sp_executor je název databázové role, které práva přiřazuji. Jednotliví oprávnění uživatelé jsou pak členy této role.

SQL 2000 Transaction log shrink

Po dlouhé době jsem se dostal opět k SQL Serveru 2000. Transakční logy dvou databází zabíraly mnoho GB, disk ve Virtual Serveru byl omezený a já si už zaboha nemohl vzpomenout, jak vyřešit situaci, kdy standardní shrink a full backup nepomáhá. Více...

Instalace SQL 2005 SP2 na cluster Windows Server 2003 x64

Instalace SP2 pro SQL Server 2005 x64 bitovou edici v případě, že je instalována na Active/Active cluster, je pro mne noční můrou (a to nejen proto, že se většina servisních zásahů na SQL odehrává v pozdních nočních hodinách). Service Pack se vždy nainstaluje pouze na "aktivní" uzel každé virtuální instance, nicméně po provedení fail-over čeká administrátora neblahé překvapení - verze SQL engine neodpovídá SP2. Řešení jsou dvě - zopakovat si několikrát instalaci onoho SP 2 nebo zkusit návod Microsoftu v KB929151. Více...

Jak identifikovat verzi SQL serveru a jeho edici?

Tento trik je již staršího data, nicméně se hodí jej mít po ruce. V zásadě jsou dva možné přístupy - zjistit potřebné v GUI Microsoft SQL Server Management Studia nebo pomocí jednoduchého SELECT příkazu. V případě grafického rozhraní se stačí připojit k danému serveru, v Object Exploreru jej označit, stisknout pravé tlačítko myši, zvolit Properties a na kartě General jsou k dispozici údaje Product, Version. T-SQL příkazy vypadají následovně. Více...