Bagikan melalui


Get-SqlErrorLog

Mendapatkan log kesalahan SQL Server.

Sintaks

ByPath (Default)

Get-SqlErrorLog
    [[-Path] <String[]>]
    [-Timespan <TimeSpan>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Since <SinceType>]
    [-Ascending]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

ByName

Get-SqlErrorLog
    [[-ServerInstance] <String[]>]
    [-Timespan <TimeSpan>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Since <SinceType>]
    [-Ascending]
    [-Credential <PSCredential>]
    [-ConnectionTimeout <Int32>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

ByObject

Get-SqlErrorLog
    [-InputObject] <Server[]>
    [-Timespan <TimeSpan>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Since <SinceType>]
    [-Ascending]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

Deskripsi

Cmdlet Get-SqlErrorLog mendapatkan log kesalahan SQL Server.

Cmdlet ini mendukung mode operasi berikut untuk mendapatkan log kesalahan:

  • Berikan instans SQL Server.
  • Tentukan parameter Jalur instans SQL Server.
  • Panggil cmdlet dalam konteks yang valid.

Contoh

Contoh 1: Dapatkan semua log yang dihasilkan dalam jangka waktu tertentu yang memiliki kata pencarian

PS C:\> CD SQLSERVER:\SQL\MyServer\MyInstance
PS SQLSERVER:\SQL\MyServer\MyInstance> Get-SqlErrorLog -Since Yesterday  | Where-Object { $_.Text -match 'Error' } | Format-Table

Date                 Source Text                                  ArchiveNo ServerInstance
----                 ------ ----                                  --------- --------------
6/16/2016 6:04:20 PM Logon  Error: 17828, Severity: 20, State: 4.         0 MyServer\MyInstance

Perintah pertama mengubah direktori ke instans SQL Server.

Contoh 2: Dapatkan semua log yang dihasilkan dalam jangka waktu tertentu

PS C:\> CD SQLSERVER:\SQL\MyServer\MyInstance
PS SQLSERVER:\SQL\MyServer\MyInstance> Get-SqlErrorLog -Timespan '05:30:00' | Format-Table

Date                  Source  Text
----                  ------  ----
6/17/2016 12:00:00 AM spid26s This instance of SQL Server has been using a process ID of 21520 since 6/10/2016 3:56:...
6/16/2016 6:04:20 PM  Logon   The prelogin packet used to open the connection is structurally invalid; the connectio...
6/16/2016 6:04:20 PM  Logon   Error: 17828, Severity: 20, State: 4.

Perintah pertama mengubah direktori ke instans SQL Server.

Contoh 3: Dapatkan semua log yang dihasilkan dalam jangka waktu tertentu yang diurutkan naik dan dikelompokkan

PS C:\> CD SQLSERVER:\SQL\MyServer
PS SQLSERVER:\SQL\MyServer> ls | Get-SqlErrorLog -After '2016-05-10' -Before '2016-06-18' -Ascending | ? { $_.Text -match 'Login failed' } | Group-Object -Property ServerInstance

Count Name                      Group
----- ----                      -----
    1 MyServer                  {{ Date = 6/17/2016 2:00:04 AM, Source = Logon, Text = Login failed for user ...
    2 MyServer\INST1            {{ Date = 6/10/2016 3:58:46 PM, Source = Logon, Text = Login failed for user

Perintah pertama mengubah direktori ke instans SQL Server.

Parameter

-AccessToken

Token akses yang digunakan untuk mengautentikasi ke SQL Server, sebagai alternatif untuk pengguna/kata sandi atau Autentikasi Windows.

Ini dapat digunakan, misalnya, untuk menyambungkan ke SQL Azure DB dan SQL Azure Managed Instance menggunakan Service Principal atau Managed Identity.

Parameter yang digunakan dapat berupa string yang mewakili token atau objek seperti yang PSAccessToken dikembalikan dengan menjalankan Get-AzAccessToken -ResourceUrl https://database.windows.net.

Parameter ini baru dalam v22 modul.

Properti parameter

Jenis:PSObject
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-After

Menentukan bahwa cmdlet ini hanya mendapatkan log kesalahan yang dihasilkan setelah waktu yang diberikan.

Jika Anda menentukan parameter Sebelum, cmdlet ini mendapatkan semua log kesalahan yang dihasilkan sebelum yang ditentukan.

Jangan tentukan parameter ini jika Anda ingin menggunakan parameter Since atau Timespan.

Format didefinisikan sesuai dengan aturan .Net System.DataTime.Parse().

Properti parameter

Jenis:DateTime
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Ascending

Menunjukkan bahwa cmdlet mengurutkan kumpulan log kesalahan menurut tanggal log dalam urutan naik. Jika Anda tidak menentukan parameter ini, cmdlet mengurutkan log kesalahan dalam urutan menurun.

Ketika cmdlet ini mendapatkan log kesalahan beberapa sumber, pengurutan diterapkan ke semua log kesalahan dari sumber yang sama. Log yang didapat cmdlet ini dikelompokkan menurut sumber terlebih dahulu lalu diurutkan menurut tanggal log.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Before

Menentukan bahwa cmdlet ini hanya mendapatkan log kesalahan yang dihasilkan sebelum waktu yang diberikan.

Jika parameter Setelah ditentukan, cmdlet default ke sekarang, yang berarti bahwa cmdlet mendapatkan semua log kesalahan yang dihasilkan setelah apa yang Anda tentukan untuk parameter ini hingga saat ini.

Jangan tentukan nilai untuk parameter ini jika Anda ingin menggunakan parameter Since atau Timespan. Format didefinisikan sesuai dengan aturan .Net System.Datatime.Parse().

Properti parameter

Jenis:DateTime
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ConnectionTimeout

Menentukan jumlah detik untuk menunggu koneksi server sebelum kegagalan waktu habis. Nilai waktu habis harus berupa bilangan bulat antara 0 dan 65534. Jika 0 ditentukan, upaya koneksi tidak kehabisan waktu.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByName
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Credential

Menentukan objek PSCredential yang digunakan untuk menentukan kredensial untuk login SQL Server yang memiliki izin untuk melakukan operasi ini.

Properti parameter

Jenis:PSCredential
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByName
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Encrypt

Jenis enkripsi yang akan digunakan saat menyambungkan ke SQL Server.

Nilai ini memetakan ke Encrypt properti SqlConnectionEncryptOption pada objek SqlConnection dari driver Microsoft.Data.SqlClient.

Dalam v22 modul, defaultnya adalah Optional (untuk kompatibilitas dengan v21). Dalam v23+ modul, nilai defaultnya adalah 'Wajib', yang dapat membuat perubahan yang melanggar untuk skrip yang ada.

Parameter ini baru dalam v22 modul.

Properti parameter

Jenis:String
Nilai default:None
Nilai yang diterima:Mandatory, Optional, Strict
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-HostNameInCertificate

Nama host yang akan digunakan dalam memvalidasi sertifikat SQL Server TLS/SSL. Anda harus meneruskan parameter ini jika instans SQL Server Anda diaktifkan untuk Enkripsi Paksa dan Anda ingin terhubung ke instans menggunakan nama host/nama pendek. Jika parameter ini dihilangkan, maka meneruskan Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) ke -ServerInstance diperlukan untuk terhubung ke instans SQL Server yang diaktifkan untuk Enkripsi Paksa.

Parameter ini baru dalam v22 modul.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InputObject

Menentukan objek server, sebagai array, dari instans target tempat cmdlet ini mendapatkan log.

Properti parameter

Jenis:

Server[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByObject
Position:1
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Path

Menentukan jalur, sebagai array, ke instans SQL Server tempat cmdlet ini menjalankan operasi. Jika Anda tidak menentukan nilai untuk parameter ini, cmdlet menggunakan lokasi kerja saat ini.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByPath
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ServerInstance

Menentukan nama instans SQL Server, sebagai array. Untuk instans default, hanya tentukan nama komputer: MyComputer. Untuk instans bernama, gunakan format ComputerName\InstanceName.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByName
Position:1
Wajib:False
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Since

Menentukan singkatan untuk parameter Timespan.

Jangan tentukan parameter ini jika Anda ingin menggunakan parameter After atau Before.

Nilai yang dapat diterima untuk parameter ini adalah:

  • Tengah malam (mendapatkan semua log yang dihasilkan setelah tengah malam)
  • Kemarin (mendapatkan semua log yang dihasilkan dalam 24 jam terakhir).
  • LastWeek (mendapatkan semua log yang dihasilkan dalam seminggu terakhir)
  • LastMonth (mendapatkan semua log yang dihasilkan pada bulan lalu)

Properti parameter

Jenis:SinceType
Nilai default:None
Nilai yang diterima:Midnight, Yesterday, LastWeek, LastMonth
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Timespan

Menentukan objek TimeSpan yang difilter cmdlet ini dari log kesalahan yang dilakukan berada di luar rentang waktu.

Format parameter ini adalah d.HH:mm:ss.

Parameter ini diabaikan jika Anda menggunakan parameter Since, After, atau Before.

Properti parameter

Jenis:TimeSpan
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-TrustServerCertificate

Menunjukkan apakah saluran akan dienkripsi saat melewati rantai sertifikat untuk memvalidasi kepercayaan.

Dalam v22 modul, defaultnya adalah $true (untuk kompatibilitas dengan v21). Dalam v23+ modul, nilai defaultnya adalah '$false', yang dapat membuat perubahan yang melanggar untuk skrip yang ada.

Parameter ini baru dalam v22 modul.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

System.String

Microsoft.SqlServer.Management.Smo.Server