Set-SqlErrorLog
在回收錯誤記錄檔之前,設定或重設錯誤記錄檔數目上限。
語法
Set-SqlErrorLog
[-MaxLogCount <UInt16>]
[-ErrorLogSizeKb <Int32>]
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Set-SqlErrorLog
[[-ServerInstance] <String[]>]
[-Credential <PSCredential>]
[-ConnectionTimeout <Int32>]
[-MaxLogCount <UInt16>]
[-ErrorLogSizeKb <Int32>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Set-SqlErrorLog
[-MaxLogCount <UInt16>]
[-ErrorLogSizeKb <Int32>]
[-InputObject] <Server>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Description
Set-SqlErrorLog Cmdlet 會在回收錯誤記錄檔之前設定或重設錯誤記錄檔數目上限。
此 Cmdlet 支援下列作業模式來設定記錄:
- 傳遞 SQL Server 的實例。
- 指定 SQL Server 實例的 Path 參數。
- 在有效的內容中叫用 Cmdlet。
範例
範例 1:設定最大數目或錯誤記錄
PS C:\> Set-SqlErrorLog -ServerInstance "MyServer\MyInstance" -MaxLogCount 11 | Out-Null
這個指令會將錯誤記錄檔數目上限設定為 11
。
範例 2:傳回 TSQL 腳本程式代碼,以設定最大數目或錯誤記錄
PS C:\> Set-SqlErrorLog -ServerInstance "MyServer\MyInstance" -MaxLogCount 11 -Script
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 11
GO
這個指令會以字串陣列的形式傳回 T-SQL 指令稿程式代碼,以將錯誤記錄檔數目上限設定為 11
。
參數
-AccessToken
用來向 SQL Server 驗證的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。
例如,這可用來使用 Service Principal
或 Managed Identity
來連線到 SQL Azure DB
和 SQL Azure Managed Instance
。
要使用的參數可以是字串,表示令牌或 PSAccessToken
物件,如執行 Get-AzAccessToken -ResourceUrl https://database.windows.net
所傳回。
此參數是模組 v22 的新功能。
類型: | PSObject |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ConnectionTimeout
指定要在逾時失敗前等候伺服器連線的秒數。 逾時值必須是介於 0 到 65534 之間的整數值。 如果指定了 0,連線嘗試就不會逾時。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Credential
指定 PSCredential 物件,用來指定具有執行這項作業許可權之 SQL Server 登入的認證。
類型: | PSCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Encrypt
線上到 SQL Server 時要使用的加密類型。
此值會對應至 Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 Encrypt
屬性 SqlConnectionEncryptOption
。
在模組的 v22 中,預設值為 Optional
(為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 「強制」,這可能會為現有的腳本建立重大變更。
此參數是模組 v22 的新功能。
類型: | String |
接受的值: | Mandatory, Optional, Strict |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ErrorLogSizeKb
以 KB 位元組指定 SQL 實例錯誤記錄檔的大小限制。
有效範圍是 0 到 Int32.MaxValue。
如果使用者未指定此參數,則 ErrorLogSizeKb 會維持不變。 SQL 實例的預設值為 0。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-HostNameInCertificate
用來驗證 SQL Server TLS/SSL 憑證的主機名。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整功能變數名稱 (FQDN) 傳遞至 -ServerInstance 才能連線到啟用強制加密的 SQL Server 實例。
此參數是模組 v22 的新功能。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
指定目標實例的伺服器物件。
類型: | Server |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-MaxLogCount
指定錯誤記錄檔的最大數目。 如果未指定值,Cmdlet 會將值重設為預設值。
允許的值範圍介於 6 到 99 之間。
類型: | UInt16 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Path
指定此 Cmdlet 執行作業之 SQL Server 實例的路徑。 如果您未指定此參數的值,Cmdlet 會使用工作位置。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ProgressAction
決定 PowerShell 如何回應腳本、Cmdlet 或提供者所產生的進度更新,例如 Write-Progress Cmdlet 所產生的進度列。 Write-Progress Cmdlet 會建立顯示命令狀態的進度列。
類型: | ActionPreference |
別名: | proga |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Script
指出此 Cmdlet 會傳回執行此 Cmdlet 所執行工作的 Transact-SQL 腳本。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ServerInstance
指定 SQL Server 實例的名稱做為字串陣列。
針對預設實例,只指定計算機名稱:MyComputer。
針對具名實例,請使用 MyComputer\MyInstanceName
格式。
類型: | String[] |
Position: | 1 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-TrustServerCertificate
指出通道是否會在略過憑證鏈結以驗證信任時加密。
在模組的 v22 中,預設值為 $true
(為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。
此參數是模組 v22 的新功能。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
System.String[]
Microsoft.SqlServer.Management.Smo.Server
備註
如果伺服器上的值已經設定為指定的值,則此 Cmdlet 不會執行任何動作。