2013-10-31
Jest to metoda bardziej przyjazna dla programisty .NET.
- Tworzysz SQL Connection i inicjujesz je Connection String
- Otwierasz połączenie
- Tworzysz obiekt SQLCommand, który wykonuje zapytanie we wcześniej przygotowanym połączeniu.
Ja wykorzystałem tensposób połączenia do tworzenia loginów, ale można tak np. wykonywać INSERTY itp. Czytaj dalej »
2013-10-30
Ile masz dostępnej pamięci w systemie dowiesz się nawet z Task Managera.
Który proces zabrał tę pamięć też pomoże określić Task Manager.
Jeśli tylko na Twoim serwerze znajduje się SQL server, to prawdopodobnie w ten sposób ustaliłeś, że właśnie SQL server zużył prawie całą pamięć. Zgadłem?
Zastanówmy się, jak ustalić która baza zajęła tyle miejsca (bufor). Może do tego posłużyć zapytanie odnalezione w czeluściach Internetu (http://www.sqlservercentral.com/Forums/Topic1215340-391-1.aspx): Czytaj dalej »
2013-10-30
Nadawanie uprawnień dla użytkownika, który zamierza tylko zaimportować pewne pakiety SSIS, a później nimi zarządzać można ograniczyć do utworzenia loginu na serwerze SQL dla tego użytkownika, utworzenia mu usera w bazie danych msdb oraz przypisaniu go do roli bazy danych db_dtsltduser
Wykaz tych ról oraz wynikające z nich uprawnienia są dokładniej opisane tutaj (dla różnych wersji SQL):
http://technet.microsoft.com/en-us/library/ms141053(v=sql.90).aspx
2013-10-29
2013-10-29
Mam takie zapytanie:
select (
select count(*)
from ::fn_trace_geteventinfo( x.traceid )
where eventid = 111
) count_eventid
from ::fn_trace_getinfo( default ) x
nieważne co robi. Kiedy uruchamiam je na pewnym SQL 2005 otrzymuję błąd
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'x’.
Ale ciekawostka. Błąd pojawia się tylko, gdy zapytanie jest uruchamiane w master. W innych bazach danych działa!
Ponieważ klient nie miał możliwości określenia bazy podczas uruchamiania swojegozapytania, obszedłem ten problem. Zmieniłem dla loginu uruchamiającego to zadanie domyślną bazę danych na tempdb… i poszło!
2013-10-29
2013-10-28
Jak pisałem we wcześniejszym wpisie (dwa lata temu!), możliwe jest zarejestrowanie procedur, które mają się automatycznie uruchomić zaraz po włączeniu SQL Servera. Do rejestrowania takich procedur służy procedura sp_procoption.
Jednak jak wylistować procedury, które zostały zarejestrowane do automatycznego uruchomienia przez sp_procoption? Możesz do tego posłużyć się poleceniem:
SELECT ROUTINE_NAME
FROM MASTER.INFORMATION_SCHEMA.ROUTINES
WHERE OBJECTPROPERTY(OBJECT_ID(ROUTINE_NAME),’ExecIsStartup’) = 1
Źródło: http://www.mssqltips.com/sqlservertip/1574/automatically-running-stored-procedures-at-sql-server-startup/