Thursday, 22 September 2011

SQL @@SERVERNAME can return NULL, but it should not

Probably we are all using "@@SERVERNAME" variable for geting SQL Server name and usually it does what we expect.

Today some custom maintenance procedures stoped working. After investigation I've noticed that SELECT @@SERVERNAME returns "NULL".

Background: @@SERVERNAME gets value (at SQL Server boot) from table sys.servers where server_id is equal to 0.

SELECT [name] FROM sys.servers WHERE server_id = 0

in this system table there are also linked servers and "my server" was there with server_id different than zero.

Solution:
EXEC master.dbo.sp_dropserver @server=N'serverName', @droplogins='droplogins'
EXEC sp_addserver 'serverName', LOCAL

and restart server.

Good workaround (probably best practice) is to use function ServerProperty('serverName').

More info at: http://randyjean.blogspot.com/2005/11/sql-servername-can-sometimes-return.html

PS Server is SQL Server 2005 Standard

Sunday, 18 September 2011

ASP.NET: Request for the permission of type 'System.Security.Permissions.FileIOPermission

Pri selitvi stare asp.net 2.0 aplikacije, k novemu gostitelju se mi je pojavila naslednja napaka:

Napaka (ob zagonu asp.net aplikacije):
Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessPermission.Demand()
at System.IO.Directory.GetCurrentDirectory()
at System.Security.Cryptography.Xml.Reference.CalculateHashValue(XmlDocument document, CanonicalXmlNodeList refList)
at System.Security.Cryptography.Xml.SignedXml.BuildDigestedReferences()
at System.Security.Cryptography.Xml.SignedXml.ComputeSignature()
at xPortTools.xPortTools3.GenerateLicense(String lcHash, String ProductId, String lcToken, String lcKey, String lcHeader, String lcSupport, String lcWeb, String lcManufacturer, String lcManufacturerEmail, String lcCopyright, String lcDescription, Boolean Demo, DateTime ldActivationDate, String CdKey)
"
Rešitev:
Namesto "System.Web.Configuration.WebConfigurationManager" uporabi "System.Configuration.ConfigurationManager". Strežnik je nastavljen na "medium trust" in preprečuje uporaba "WebConfigurationManger".

Vir:
http://support.jodohost.com/showthread.php?t=11131

Sunday, 24 July 2011

VirtualBox 4 - sprememba velikosti diska VDU

Problem:
- zmanjkuje prostora v virtualnem disku

Rešitev:
- VirtualBox verzija 4 podpira razširjanje (resize) VDI datotek, uporabimo ukaz VBoxManage, parametri so naslednji:
C:\Program Files\Oracle\VirtualBox VBoxManage modifyhd "polna pot do\ime.vdi" --resize novavelikostvMB

- novavelikostvMB (npr. 40000 za slabih 40GB)
- pot do "VBoxMange.exe" se lahko razlikuje
- v trenutni verziji je podprto samo razširjanje diska (expand), zmanjševanje (compact) še ne
- ostane še razširitev diska v operacijskem sistemu

Thursday, 21 July 2011

Zelo počasno odpiranje Excel datotek iz omrežja (mrežnega diska)

Simptomi:
- skušamo odpreti Excel (2003) datoteko iz mrežnega diska (npr. F:), dolgo časa se ne zgodi nič, kaže, da je Excel že zamrznil, nato pa se le končno odpre, pred nekaj dnevi je vse delovalo OK
- datoteko iz mrežnega diska skopiramo na lokalni disk (npr. c:), tam se odpre brez zakasnitve

Vzrok:
- pred kratkim je bil naložen popravek "Office File Validation Add-in"

Rešitev:
- izklop preko navodil članka 2570623, klik na mojstra "FixIT"
- v tem članku se nahaja tudi registerski ključ za izklop (primerzno namestitev, preko skripte, na več računalnikov)

Friday, 1 July 2011

DELL MD3000 in MD3000i - dodajanje novega diska v logični nosilec (extend volume)

V obstoječem diskovnem polju tipa DELL MD3000 (3000i) želimo povečati kapaciteto, postopek je naslednji:
- dodamo fizični disk v polje, ko polje zazna nov disk, se le ta pojavi med "Physical Disks"
- preko programa "Dell Modular Disk Storage Manager", izberemo "Modify", "Add Free Capacity (Physical Disks), postopek je časovno potraten (navadno nekaj ur)

V Dell Storage Managmentu ni opcije za razširitev virtualnega diska, "Expand Logical Disk", zato uporabimo program v ukazni vrstici "smcli.exe"

Navadno se nahaja v mapi:
\Program Files\Dell\MD Storage Manager\Cli ali
\Program Files (x86)\Dell\MD Storage Manager\client (64bit okolje)

Sintaksa je naslednja:
smcli ArrayName -c "set virtualDisk ["virtualdiskname"] addCapacity=virtualdiskcapacityinbytes;"

Ostane samo še razširitev logičnega diska na nivoju OSa (extend volume).

Celotni postopek je načeloma neboleč (obstoječi podatki ostanejo nedotaknjeni), ampak varnostna opija pred prvim korakom je nujna.

Thursday, 30 June 2011

SharePoint 2010 - Error 403

Tehnika:
- SharePoint 2010 Foundation (velja tudi za ostale edicije)
Opis:
- uporabnik (doman user) skuša dostopati do neke vsebine npr: http://intranet/SitePages/nekastran.aspx
- Brskalnik javi napako "Error 403"
- administrator stran odpre brez težav (status 200), za tem tudi navadni uporabnik lahko odpre omenjeno stran (status 200)
- po zaustavitvi aplikacije (iisreset, recycle, ponovni zagon strežnika...) se težava zopet ponovi
Možna rešitev:
- uporabnik (npr. domain users skupina) nima pravic na \bin mapi, dodamo pravice in težave izgine :)
Kaj smo se še naučili?
- nikoli ne pusti razvijalcev na strežnik :)

Tuesday, 14 June 2011

The object SPBackupRestoreConfigurationSetting

Izvajanje backupa javi naslednjo napako:

An update conflict has occurred, and you must re-try this action.
The object SPBackupRestoreConfigurationSettings Parent=SPFarm Name=SharePoint_Config is being
updated by Domain\User, in the STSADM process, on machine SERVER.
View the tracing log for more information about the conflict.

Napako reši naslednji poseg:
- zaustavitev "Windows SharePoint Services Timer"
- brisanje vseh datoek v mapi %ALLUSERSPROFILE%\Application Data\Microsoft\SharePoint\Config\
- ponovni zagon "Windows SharePoint Services Timer"
- in zagon backup