2014-08-19
Czy możemy w jakiś sposób zablokować logowanie użytkowników do bazy danych z konkretnego serwera?
Klient zgłasza problem że użytkownicy czasem się mylą i w momencie logowania do aplikacji z serwera produkcyjnego zamiast logowania do produkcyjnej bazy danych wpisują testową bazę i na odwrót.
Można. Zastosuj Logon trigger np taki:
USE Master
GO
CREATE TRIGGER DenyLogonTrigger
ON ALL SERVER
FOR LOGON
AS
BEGIN
DECLARE @HostName varchar(50)
SET @HostName = HOST_NAME()
if @HostName = 'SERVER01′ –NAZWA ZAKAZANEGO HOSTA
BEGIN
RAISERROR(’LOGIN FROM WPPL0ITA082′, 15,1) WITH LOG –KOMUNIKAT DO ZAPISANIA W LOGACH, jeżeli w ogóle taki ma być.
ROLLBACK
END
END
GO
Komunikat uzyskiwany u klienta wygląda następująco

2014-08-18
Jedna prosta komenda zwróci zapisy z logu systemowego o ostatnio wykonywanych restartach Windows. W logu znajduje się też informacja o tym kto zainicjował restart.
Get-EventLog -LogName System -Source „USER32” | ? {$_.EventID -eq 1074} | select -First 10 | ft -wrap
2014-08-16
Podczas instalacji Cummulative Update wszystkie usługi SQL zostały wyłączone. Takie postępowanie pomaga uniknąć konieczności restartu po zainstalowaniu update. Po włączeniu usług, od razu próbowałem się zalogować na serwer. Niestety próba kończyła się komunikatem:
Login failed for user 'DOMAIN\USERNAME’. Reason: Server is in script upgrade mode. Only administrator can connect at this time. [CLIENT: 11.22.33.44]
Czyżbym coś zrobił nie tak? Otóż nie. Wszystko jest ok. ów „Script update mode” to tylko czas poświęcony na upgrade baz systemowych. Po uruchomieniu serwera uruchomiły się te procedury i to trochę czasu zajmuje. W tym czasie chociaż serwer działa, nie można się na niego zalogować. Nie wierzysz? Zajrzyj do pliku ERRORLOG. Łyknij kawy i poczekaj. Kiedy skrypty się uruchomią, będzie się można zalogować.
2014-08-05
Wykonuję:
$query = logman query -s server01
W zmiennej $query pojawia się:
Collection Type Status
---------------------------------------------------------------
XXXXX Counter Stopped
YYYYY Counter Running
System Overview Counter Stopped
capacity Counter Running
Teraz chcę sprawdzić czy w $query jest chociaż jeden napis, który zawiera w sobie tekst „capacity”. Rozsądne wydawałoby się:
$query -contains 'capacity’
… ale wynik to $false ! Dlaczego!? Oto odpowiedż: Czytaj dalej »
2014-08-05
Oooo ładne narzędzie do migracji raportów z jednego serwera RS do innego. Filozofia dość prosta:
1. Podłącz się do istniejącego Reporting Services i wybierz jaki katalog/raporty zeskryptować
2. Uruchom wygenerowane skrypty na innym serwerze Reporting Services.
Link do programu http://execsql.org/rs-scripter-tool-handy-tool-to-create-deployment-script-for-reporting-services
2014-07-09
Ładny artykuł znalazłem….
Załóżmy, że masz trace, który zbiera co należy, ale chcesz zamiast niego mieć sesję extendent events. Tylko jak zdefiniować filtry, powybierać eventy itp:
http://msdn.microsoft.com/en-us/library/ff878114.aspx
2014-06-30
Na clustrowej instancji SQL job kończył się komunikatem:
Description: The SSIS Runtime has failed to start the distributed transaction due to error 0x8004D01B „The Transaction Manager is not available.”. The DTC transaction failed to start. This could occur because the MSDTC Service is not running. End Error DTExec: The package execution returned DTSER_FAILURE (1).
Ameryki w tym nie ma. Komunikat mówi o sprawdzeniu, czy MSDTC działa poprawnie. W razie potrzeby można wykonać restart usługi MSDTC w clustrze, co zostanie oznaczone w windows application log:

Pierwszy komunikat mówi o reinicjalizacji usługi:
Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.
a drugi o jej zakończeniu
Recovery of any in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC) has completed. This is an informational message only. No user action is required.