Archiwum za miesiąc 2016-11

PowerShell i SQL 20 – modyfikacja danych

2016-11-06

Oczywiście po to jest baza danych aby przechowywać w niej rekordy. Oto jak można dodawać, wyświetlać, modyfikować i usuwać rekordy: Dodawanie rekordów Zaczynamy od zwykłego polecenia SQL –  INSERT. Treść tego polecenia umieszczamy w zmiennej tekstowej.  Następnie jak zwykle tworzymy obiekt serwera i bazy danych. Obiekt bazy danych posiada metodę ExecuteNonQuery, która takie polecenie INSERT […]

PowerShell i SQL 19 – tworzenie tabeli i indeksów

2016-11-06

Jak zwykle do dyspozycji masz dwie metody (nie licząc innych pośredich… ale to normalne w powerhhell że jedną rzecz można zrobić na wiele sposobów. Metoda sqlps: Ta metoda jest moim zdaniem bardzo prosta. Wystarczy znać SQL i otworzyć sobie furtkę ze świata Powershell do świata SQL. Zaczynamy od zaimportowania modułu sqlps, następnie odszukujemy bazę, w której ma być […]

PowerShell i SQL 18 – ładowanie bibliotek SMO

2016-11-06

To będzie krótki wpis… Jeśli planujesz wykorzystywać SMO , to swój skrypt zawsze musisz rozpocząć od załadowania odpowiednich bibliotek .NET. Pamiętanie nazw tych bibliotek jest… uciążliwe, więc jeśli już decydujesz się używać SMO to prawdopodobnie swoje skrypty rozpoczniesz od kilku instrukcji LoadAssembly np.: [Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SMO”) [System.Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SMO”) [System.Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SmoExtended”) [System.Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.ConnectionInfo”) [System.Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SmoEnum”) Ale można prościej. Pod adresem https://github.com/rbellamy/WindowsPowerShell/blob/master/Scripts/pssql-smo.ps1 znajduje […]

Powershell i SQL 17 – to samo na 2 sposoby

2016-11-06

Backup z SMO [Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SMO”) [System.Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SMO”) [System.Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SmoExtended”) [System.Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.ConnectionInfo”) [System.Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SmoEnum”) $SqlServer = New-Object Microsoft.SqlServer.Management.Smo.Server 'localhost’ $backup = New-Object Microsoft.SQLServer.Management.Smo.Backup $backup.Database = „master” $backup.Devices.AddDevice(’c:\temp\master.bak’,[Microsoft.SqlServer.Management.Smo.DeviceType]::File) $backup.Action = [Microsoft.SqlServer.Management.Smo.BackupActionType]::Database $backup.SqlBackup($SqlServer) Backup z cmdlet Backup-SqlDatabase Dalej zakładam, że odpowiedznie biblioteki są już załadowane Import-Module sqlps Backup-SqlDatabase -ServerInstance localhost -Database „master” ` -BackupAction Database -BackupFile c:\temp\master.bak

Powershell i SQL 16 – wykrywanie instancji w sieci

2016-11-05

Teraz pora na funkcję, która nie należy do SMO ale do .NET! Funkcja ta ma najczęściej za zadanie pomóc użytkownikowi odnaleźć SQL  server znajdujący się gdzieś w sieci, kiedy użytkownik nie zna jego nazwy, ale raczej wolałby wybrać serwer z listy dostępnych w danej chwili instancji SQL. Ta funkcja to: ([System.Data.Sql.SqlDataSourceEnumerator]::Instance).GetDataSources() Świetnie! Mając taką informację […]

Powershell i SQL 15 – trochę teorii o SMO

2016-11-05

SMO (SQL Management Object) to biblioteki .NET pozwalające na pracę z SQL server. Ponieważ PowerShell świetnie integruje się z .NET, to jednym ze sposobów pracy z SQL jest właśnie SMO. Mając do dyspozycji również SQL Provider administratorzy zapewne chętniej wybiorą pracę z modułem SQLPS, jednak dla programistów SMO może być dość ciekawe… Na stronie https://msdn.microsoft.com/en-us/library/ms162209.aspx znajduje […]

Powershell i SQL 14 – Tworzenie bazy danych z wykorzystaniem SMO

2016-11-05

Ponieważ SMO jest warstwą wykorzystywaną także przez SQL Server Management Studio, to praktycznie wszystkie rzeczy jakie można zrobić korzystając z SSMS można też wykonać korzystając z SMO. Poniższy przykład ilustruje jak utworzyć bazę danych zmieniając jej ustawienia domyślne.  Zaczynamy od załadowania SMO i podłączenia się do określonej instancji SQL  [Reflection.Assembly]::LoadWithPartialName(„Microsoft.SqlServer.SMO”) $SqlServer = New-Object Microsoft.SqlServer.Management.Smo.Server localhost […]