Archive for the ‘MS SQL administration’ Category

Microsoft published how security permissions work in SQL Server 2008 R2 (including Denali) on this PDF poster: http://social.technet.microsoft.com/wiki/cfs-filesystemfile.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/5710.Permissions_5F00_Poster_5F00_2008_5F00_R2_5F00_Wiki.pdf

Share

Data jsou vždy nahrána z datového souboru do paměti. V případě modifikace dat – UPDATE, DELETE platí pro FULL recovery model:
1) Transakce obsahující např. více modifikujících příkazů se spustí
2) Po každé změně(UPDATE, DELETE) se změní příslušný řádek na stránce v paměti.
3) Dále následuje zápis této změny do paměti pro LOG
4) V případě že se zrovna vyvolá CHECKPOINT se pomocí write-ahead LOG (http://msdn.microsoft.com/en-us/library/ms186259.aspx) zapíší nejprve data do LOG souboru a dále potom do datového souboru. Zapíší se úplně všechny dirty pages na disk včetně všech stránek pro LOG.
5) Transakce dále pokračuje – načte si data do cache(pokud proběhl checkpoint) a probíhají další modifikace (UPDATE, DELETE)
6) Na konci transakce jako poslední krok pro COMMIT se provede zápis z cache LOGu na diskový soubor LOGu.

  • Pokud ovšem transakce není COMMITnutá a nastane selhání serveru, o data z transakce se přijde a je jedno, že i během ní dojde k CHECKPOINTu. Do LOGu se zapisují jen COMMITnuté transakce(z cache).

Více zde:

http://www.sqlskills.com/BLOGS/PAUL/post/How-do-checkpoints-work.aspx

Share

Změna portu se provádí přes SQL Server configuration manager. V menu v položce Protocols for MSSQLSERVER se zvolí vlastnosti TCP/IP. A dále podle potřeby pro dané IP adresy navázané na server se upraví TCP Port. Stačí 127.0.0.1, vnitřní IP a vnější IP. Pro každou se dá nastavit jiný port, popř. vytvořit alias.

V Management studiu se potom port nedefinuje přes dvojtečku, ale přes IP,port. Např. 192.168.2.2,12345. Pokud se přistupuje k instanci nebo aliasu, tak potom např. přes 192.168.2.2\alias,12345.

Pro connection string poté platí zápis tcp:<servername>[\<instancename>],<port> nebo tcp:<IPAddress>[\<instancename>],<port> viz dokumentace

Share

Při instalaci 64 bit verze SSMS dochází na Windows 2008 k chybě 29506. Řešením je spustit příkazový řádek z menu start jako Správce. Poté instalace proběhne v pořádku.

Share

Nyní mám možnost pracovat na projektu, kde se na virtuálním aplikačním serveru používá Windows 2008 Enterprise, s tím nové IIS7. Vše běží na opravdu výkoném hardware. Rozhodl jsem se zvolit instalovat PHP jako ISAPI a ne jako FASTCGI. Již z minulých několika let se verze ISAPI modulu osvědčila ve stabilitě a rychlosti. A právě o těchto dvou jsem četl pozitivně i ve spojení s IIS7.

Stručný návod:

  1. Stažení PHP 5.2.8 z php.net jako ZIP balíčku. Verze 32 bit. 64 bit verze není podle informací stabilní. Rozbalit do d:\php5
  2. Nainstalovat IIS7 a podporu pro ISAPI v IIS7. Poté restartovat server. Bohužel až po restartu celého serveru(nestačí jen IIS7) se objeví možnost nastavit “ISAPI and CGI Restrictions”
  3. V IIS7 otevřít “Handler Mappings”, zvolit “Add Script Map”. Koncovka *.php, handler mapping: d:\php5\php5isapi.dll. Nakonec povolit ISAPI extension and execution of scripts.
  4. V IIS7 by mělo být vidět “ISAPI and CGI Restrictions”, na něj vlastnosti “Edit Feature Settings” a poté “Allow unspecified ISAPI modules”
  5. V Default Application Pool vybrat “Advanced Settings”. V něm povolit “Enable 32-bit Applications”. Popř. lépe vytvořit svou pool na 32 bit podporu pro PHP a defaultní nechat pro případný běh jiných modulů na 64 bit.
  6. PHP.ini se nahraje do c:\windows. Ještě předtím se ale v jiné složce musí správně nakonfigurovat, protože Windows 2008 neumožňují editaci přímo v systémové složce.
Share