Archiwum dla kategorii ‘SQL’

SQL CLR – przykład funkcji, procedur, typów…

2018-10-07

Poniżej zamieszczam przykładową klasę zaimplementowaną w C# Visual Studio 2017 zawierającą: funkcję Split zamieniającą napis rozdzielany separatorami na tabelę wartości funkcję ListFiles zwracającą w postaci tabeli pliki znajdujące się w określonym katalogu funkcję ListDirs zwracającą w postaci tabeli katalogi znajdujące się w określonym folderze funkcję skalarną GetDBCount zwracającą informację o ilości baz znajdujących się na […]

By Rafał Kraik in SQL

SQL CLR – podpisywanie kodu

2018-10-07

Tutorial krok po kroku, jak podpisać i zaiportować moduł CLR W tym artykule pokażę jak od A do Z zaimplementować w .NET dwie metody służące do listowania plików i katalogów i zaimportować te funkcje do SQL 2017 z uwzględnieniem aktualnych best practice (z opcją ‚clr strict security’). Czym jest ta opcja i jakie ma działanie […]

By Rafał Kraik in SQL

SQL: CLR w wersji 2017+opcja clr strict security

2018-10-07

SQL 2017 wprowadził pewną zmianę w zakresie CLR. Otóż od tej pory bardzo wiele zależy od opcji ‚clr strict security’ (konfigurowana przez sp_configure). Jeżeli jej wartość to „0” (NIEZALECANE), to wszystko działa po staremu, tzn.: każdy assembly posiada swój permission set, który może być równy: SAFE – nie wychodzimy poza „proces” – jakieś dane dostaliśmy […]

By Rafał Kraik in SQL

SQL CLR: Funkcja z context connection=true kończy się błędem

2018-09-30

Funkcja została zdefiniowana w dość prosty sposób: [SqlFunction(DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read)] public static int GetDBCount() { using (SqlConnection conn = new SqlConnection(„context connection=true”)) { conn.Open(); SqlCommand cmd = new SqlCommand( „SELECT COUNT(*) AS ‚NumberOfDatabases’ FROM sys.databases”, conn); return (int)cmd.ExecuteScalar(); } } Niestety jej wykonanie kończyło się błędem: This statement has attempted to access […]

By Rafał Kraik in SQL

SQL: Testowanie dysku pod SQL: diskspd (Disk speed)

2018-09-06

Czasami instalujemy SQL na tym co mamy. Pojawił się serwer i ktoś oczekuje, że zainstalujesz na nim silnik bazy danych. Istalujesz i już. Czasami jednak i na szczęście zdarza się to coraz częściej klient jest zainteresowany nie tylko zainstalowaniem serwera ale i jego wydajnością. Kluczowym parametrem determinującym pracę serwera jest prędkość dysków. Chyba dla każdego […]

By Rafał Kraik in SQL

SQL: Service Broker: Winsock Error 10060: A connection attempt failed because the connected party did not properly respond

2018-08-22

Pełny komunikat błedu: Winsock Error 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond Właściwie objaw Service Brokera był taki, że „nie działa”. W takim przypadku, jeśli tylko nie widać innych błędów (jak np. przepełniony […]

By Rafał Kraik in SQL

SQL Service Broker: Dialog security is unavailable for this conversation because there is no security certificate…

2018-08-20

Pełny komunikat błędu: Dialog security is unavailable for this conversation because there is no security certificate bound to the database principal (Id: 5). Either create a certificate for the principal, or specify ENCRYPTION = OFF when beginning the conversation. Kiedy Service Broker nawiązuje połączenie to wykonuje to za pomocą kilku obiektów bazy danych takich jak […]

By Rafał Kraik in SQL